# Synthesize precision Dpot resistances that aren’t in the catalog

A silly simple and ubiquitous circuit network is a variable resistance consisting of the series connection of a manually adjusted rheostat-connected pot and fixed resistor shown in Figure 1.

 Rmax = Rs + Rr Rmin = Rs Iab = (Va – Vb)/R

Figure 1 Classic variable resistance with the series connection of a manually adjusted rheostat-connected pot and a fixed resistor.

Wow the engineering world with your unique design: Design Ideas Submission Guide

The availability of pots and resistors spanning ohms to megohms makes optimum choices of Figure 1’s component values obvious and easy. But if an application calls for using a digital potentiometer (Dpot), the situation gets more—ahem—interesting.

Dpots are only available in a relatively narrow range of resistance compared to manual pots. They also suffer from larger wiper resistances and wider tolerances. These limitations make them a dubious choice for implementing precision rheostats if Figure 1’s classic passive topology is solely relied upon. Figure 2 offers an active and more Dpot-friendly alternative.

Here’s how it works.

 Rmax = (Rab-1 + Rp-1)-1 Rmin = (Rab-1 + Rp-1 + Rs-1)-1 R = (Rab-1 + Rp-1 + (N/256)Rs-1)-1 Iab = (Va – Vb)/R

Figure 2 Synthetic Dpot evades problems using FET shunt, precision fixed resistors, and op-amp.

Despite the fact we’re implementing a variable resistance, Dpot U1 is operated in potentiometer mode. So, its resistance tolerance (+/-20% for the MCP41xx series) has little negative effect. The precision of Rs and Rp dominate. Likewise, Dpot wiper resistance is rendered purely academic by the pA input current and T ohms input impedance of A1. A1 and Q1 are connected as a programmable current source. Its output is proportional to the Va – Vb voltage differential, thus forming a precise programmable resistance. This relationship makes current Iab linearly proportional to N.

Design equations are for appropriate resistances starting from specified Rab, Rmax, and Rmin are:

1.  Rab > Rmax
2. Rp = (Rmax-1 – Rab-1)-1
3. Rs = (Rmin-1 – Rab-1 – Rp-1)-1

Figure 3 shows a typical design example for Rmax = 20k, Rmin = 1k.

Figure 3 Synthetic rheostat design example where Rmax = 20k and Rmin = 1k.

Figure 4 plots R and current per (Va – Vb volts) as functions of N.

Figure 4 Performance of Figure 3’s circuit with values shown, the linear relationship between N and Ia conserves the Dpot’s limited 8-bit resolution.

Note the accurately linear relationship between N and Ia current which does a good job of conserving Dpot limited 8-bit resolution.

A question arises: What if the required Rmax is larger than the Rab resistance of available Dpots? Figure 5 offers a practical (although admittedly somewhat busy) solution that can easily implement an accurate Rmax extending far into the multi-megohm range.

 Rmax = Rp Rmin = (Rp-1 + Rs-1)-1 R = (Rp-1 + (N/256)Rs-1)-1

Figure 5 Two buffer amps remove Rab from Rmax equation, allowing an for an Rmax extending far into the megaohms.

Another (stickier) question is: What happens if the polarity of Va – Vb is subject to reversal? Figure 1 can accommodate this without a second thought, but it’s a significant problem for this design idea.

I’ll have to get back to you on that one!

Stephen Woodward’s relationship with EDN’s DI column goes back quite a long way. Over 100 submissions have been accepted since his first contribution back in 1974.

Related Content

<!–