Electrical – Constructing an MCU controllable resistor

digital potentiometerpotentiometerresistors

I need a resistor that I can control with an MCU like an arduino/raspberry pi. Ideally with 1M max resistance. The resistor will handle an analog signal range of \$\pm\ 9v\$. I've considered using a digital potentiometer with a high range, like an AD5290, but zippering would be a concern in my application. I'd like a range from <1K \$\Omega\$ to \$1M\Omega\$ , continuously adjustable.

To my knowledge, the most common implementations of what I want would be to either use an LM13700 as a voltage controlled resistor, create one with an LED and an LDR, or to use FETs.

My question is: What would be the best solution here? I'd prefer the most linear response possible so the LED and LDR is a poor solution.

Best Answer

0Ω - 1MΩ is a pretty tall order. The ±9V is also tough.

This might be an XY problem, so:

  • Do you really need 0Ω?
  • What resolution do you need? (And, perhaps, do you need a linear or log response).
  • How fast are you going to be changing this resistance?
  • Is this requirement for such a part avoidable by modifying your situation?

As you have found, digital pots have poor specs: The AD5241 is a 1Meg digipot, but only provides 256 steps, only operates over 0-5V, and has a wiper resistance of ~60Ω.

You could parallel two digipots of different ranges to get more steps, but the accuracy/linearity is so poor that this may introduce more issues. Also, for 0Ω, you'd have to build a bypass circuit, and you'd have to step the voltage down.

If you go with a FET (even a FET specifically designed for use as a VCR), you should expect operation in the ohmic regime starting at \$R_{DS(on)MIN} \simeq 20-200\Omega\$ with a range of maybe two octaves. You could try combining parts, but again, this is difficult, and increases your minimum resistance. However, FETs are more appropriate for high/bipolar input voltages.

Basically, if there's any way you can modify your circuit to use a VCA, OTA, or if you can tolerate huge steps (switchable resistor arrays), your life will be much easier.

If you can tolerate a bulky component, a stepper motor paired with a potentiometer may do a pretty decent job. But I'll warn you right now that dealing with motorized resistors can be a huge pain. Oh, and even a good potentiometer doesn't get near 0Ω.