Digital Potentiometers (DPOTs)
A DPOT is a device which has a variable resistance which can be controlled digitally through some kind of communication protocol (such as I2C or SPI). They essentially behave like a potentiometer that can be controlled with a microcontroller rather than requiring human input.
Internal Design
A DPOT usually is made from a string of closely matched, equal valued resistors. At each junction an analog switch (transmission gate) can control weather or not the junction is connected to the wiper. The analog switches are controlled over the digital communication bus, usually from a microcontroller writing to a register on the DPOT. A DPOT’s memory can either be volatile, where the set resistance information is lost on power down, or non-volatile where the DPOT retains the information for the next time it powers up.
There are two variants on the DPOT design, the potentiometer configuration and the rheostat configuration. The potentiometer configuration provides three pins to the resistor, one connected to each end of the resistor network and one connected to the wiper. The rheostat version has only one pin connected to one of the ends, and one pin for the wiper. Manufacturers usually make a rheostat version because it saves a pin, allowing for a smaller package, since some applications don’t require all three connections of a potentiometer. A rheostat behaves like a variable resistance.
DPOT resistances typically vary from 1kΩ to 1MΩ.
Communication
Most DPOT’s use either the SPI or I²C communication protocol to control the wiper’s resistance values, as well as to read back the current value and any error messages. When using SPI, the DPOT acts as a slave.
Datasheet Specifications
- Taper: Usually one of:
- Linear
- Logarithmic
- Reverse Logarithmic
- Wiper Resistance: Typically 50-200Ω. Note that this is a significant amount of resistance (ideally the wiper would have 0 resistance) and for some applications cannot be ignored.
Uses
- Dynamically controlling the DC gain of an amplifier (by replacing one or both of the gain resistors with a DPOT)
- Producing a controllable high impedance voltage output (for using as a reference voltage, comparison voltage, e.t.c)
- Balancing a wheatstone bridge
- Small-scale current control (typically a few milliamps or less)
Design Considerations
Digital potentiometers usually have a poor total resistance tolerance, usually around ! However, the accuracy of the wiper as a percentage from 0 to full-scale is much more accurate, typically , so it is preferable to use them for ratiometric purposes (i.e. resistive divider, or configured as a potentiometer) — rather than using them like a plain resistor (or rheostat).
Manufacturer Part Numbers
- MCP4: Family of DPOTs from Microchip. An Arduino library for driving these ICs can be found at https://github.com/jmalloc/arduino-mcp4xxx.
- TPL0401: DPOT from Texas Instruments.
Suppliers
Link to DigiKey’s digital potentiometer section: https://www.digikey.com/en/products/filter/data-acquisition-digital-potentiometers/717