Basic programmable rheostats
For many variable resistor (rheostat) applications, one of the device’s terminals is connected to a voltage source VS. Such a source might be a reference DC voltage, an op amp output carrying an AC plus DC signal, or even ground. If freed from the constraint of (programmable) “floating” rheostats satisfied by recently disclosed solutions in “Synthesize precision Dpot resistances that aren’t in the catalog” and “Synthesize precision bipolar Dpot rheostats,” there is a compelling alternative approach. Yes, it’s slightly simpler in that it avoids MOSFETs, and that the +5V supply for the digital potentiometer is the only supply needed (especially if rail-to-rail input and output op-amps are employed.) But more importantly, it’s distinct in that it exhibits no crossover distortion when there is a change in the sign of an AC signal between terminals A and VS.
Wow the engineering world with your unique design: Design Ideas Submission Guide
As seen in Figure 1, I’m shamelessly appropriating the same digital pot used in those other solutions. (Note the limited operating voltage range of potentiometer U2.)
Figure 1 A basic programmable rheostat leveraging the same digital pot used in other solutions.
The resistance between terminals A and voltage source VS looking into terminal A is res = R1/(1 – αa·α2·αb) where the alphas are the gains of U1a, U2, and U1b respectively. αa and αb are slightly less than unity at DC, falling in value with loop gain as frequency increases. α2 is equal to one of the numerator integers 0, 1, 2… 256 divided by a denominator of 256 as determined by the programming of U2.
By changing the numerator from 0 to 255, it would appear that resistor value ratios of 1:256 could be achieved. Unfortunately, U2’s integral non-linearity (INL) is specified as ± 1 LSB. Strictly following this spec, operation with a numerator of 255 could drive the value of res close to infinity at DC and so should be avoided. But that’s not the only concern. For an α2 numerator value “num”, a resistance error factor EF of roughly ± 1/(256-num) could be encountered because of the ± 1 LSB accuracy. To minimize uncertainty, num should be held to less than some maximum value (solutions in “Synthesize precision Dpot resistances that aren’t in the catalog” and “Synthesize precision bipolar Dpot rheostats” have similar problems for small values of “num”). Another reason for such a limit is that resistance resolution is much better with lower than higher values of “num”. For instance, the ratio of resistor values with numerators of 10 and 11 is 1.004. But the values of 240 and 241 yield a ratio of 1.07, and those of 250 to 251, 1.2.
Enhanced programmable rheostat
The simple addition of U3 and R2 in the Figure 2 circuit mitigates these problems by reducing the required maximum value of “num”. For R2 greater than R1, resistances between R1 and R2 should be implemented by having analog switch U3 select R1 rather than R2. For larger resistances, R2 should be selected.
Figure 2 Enhanced programmable rheostat that mitigates the uncertainties problems of the basic programmable rheostat by reducing the required maximum value of “num”.
To see why Figure 2 offers an enhancement, consider a requirement to provide resistance over the range of 1k to 16k. In Figure 1 and Figure 2 circuits, R1 would be 1k. To produce a value of 1k, “num” would be 0. For 16k, “num” in Figure 1 would be 240, yielding a maximum EF of ± 1/(256 – 240) or approximately 6.3%. But in Figure 2, resistance values of 4K and above would be derived by having U3 switch R1 out in place of a 4k R2. The maximum required value of “num” would be 192, and EF would be reduced by a factor of 4 to 1.6%. It will also be seen that the Figure 2 circuit significantly relaxes op-amp performance requirements for limiting the errors due to finite open loop gains. To see this, some analysis is necessary. Given the maximum allowed fractional resistance error (OAerr) introduced by the op-amp pair, it can be seen that:
Therefore, for closed loop op amp gains:
At DC, op amp voltage follower closed loop gain α is 1/(1-1/a0L), where a0L is the op amp open loop DC gain. To satisfy requirements at DC:
Enhanced programmable rheostat with AC signals
Matters are more complicated with AC signals. At a frequency f Hz, the voltage follower open loop gain HOLG(j·f) is 1 / (1/A0 + j·f/GBW), where GBW is the part’s gain-bandwidth product and j = √-1.
The closed loop gain HCLG(j·f) is 1/( 1 + 1/ HOLG(j·f)). Substitution of HCLG(j·f) for αa and αb in Equation (1) yields a fourth order polynomial due to the real and imaginary terms of HCLG(j·f). It’s easier to solve the problem with a simulation in LTspice than to solve it algebraically.
LTspice offers a user-specifiable op-amp called…well, “opamp”. It can be configured for user-selected values of a0L and GBW. The tool is configured as shown in Figure 3 to solve this problem.
Figure 3 LTspice can be used to determine op-amp requirements for an AC signal application.
The a0L value required for AC signals will be larger than that calculated in equation (3). It’s suggested to start with an a0L default value of 10000 (100 dB) and try different values of GBW. Use the results to select an op amp for the actual circuit and either simulate it if a model exists or at least update the simulation with the minimum specified values of a0L and GBW for the selected op amp.
Table 1 shows some examples of the behaviors of the circuit with different idealized op-amps. It’s clear that DC performance in either circuit is not a challenge for almost any op-amp. But it’s also evident that the AC performance of a given op-amp is notably better in the Figure 2 circuit than in that of Figure 1, and that a given error can be achieved with a lower performance and less costly op-amp in the Figure 2 circuit.
Figure 1, R1 = 1k | Figure 2, R2 = 4k enabled | |||||||||
num | 240 | 192 | ||||||||
a0L, dB | 69 | 80 | 80 | 100 | 100 | 55 | 80 | 80 | 100 | 100 |
GBW, MHz | 1 | 10 | 50 | 10 | 50 | 1 | 10 | 50 | 10 | 50 |
DC resistance error due to op-amp pairs, % | 1.000 | 0.299 | 0.299 | 0.030 | 0.030 | 0.999 | 0.060 | 0.060 | 0.006 | 0.006 |
20kHz resistance error due to op-amp pairs, % | 15.952 | 0.495 | 0.307 | 0.227 | 0.038 | 2.024 | 0.071 | 0.060 | 0.017 | 0.006 |
20kHz phase shift, degrees | -30.22 | -3.42 | -0.69 | -3.43 | -0.69 | -6.71 | -0.69 | -0.14 | -0.69 | -0.14 |
equivalent parallel capacitance at 20kHz, pf | 84.3 | 9.5 | 1.9 | 9.5 | 1.9 | 18.5 | 1.9 | 0.4 | 1.9 | 0.4 |
Table 1 Examples of the circuits’ behavior producing 16kΩ with various op-amp parameters.
Note: The cascade of the two op-amps with their AC phase shifts means that there is an effective capacitance in parallel with the resistance R created by the circuits. Because the two op-amps create a second order system, there is no equivalent broadband capacitance. However, a capacitance C at a spot frequency f Hz can be calculated from the phase shift Φ radians at that frequency. C = tan(Φ)/(2·π·f·R). Simulations have shown that over the full range of resistances and operating frequencies of the examples listed in table, phase shift magnitudes are less than 70 degrees.
The approach taken in Figure 2 can be generalized by supporting not just two but four or more different resistors. Doing so further minimizes both op-amp performance requirements and worst-case errors by reducing the maximum required value of “num”. It also extends the range of resistor values achievable for a given error budget.
Christopher Paul has worked in various engineering positions in the communications industry for over 40 years.
Related Content
- Synthesize precision Dpot resistances that aren’t in the catalog
- Synthesize precision bipolar Dpot rheostats
- Error assessment and mitigation of an innovative data acquisition front end
- Op-amp wipes out DPOT wiper resistance
googletag.cmd.push(function() { googletag.display(‘div-gpt-ad-native’); });
–>
The post A class of programmable rheostats appeared first on EDN.