04/23/2019 at 08:22 •
The demonstration video uses the analog input to the Arduino to measure the voltage ratio of a potentiometer, which while providing the underlying characteristic of the device, does not provide the resistance of the pot.
By driving a known current through the potentiometer, the voltage between two terminals can be measured to find the corresponding resistance. A simple VCCS can be made with an op-amp and a MOSFET, mocked up in LTspice:
This circuit also enables pulsing of the current to prevent heating of the potentiometer, further improving accuracy of the measurements.
Limitations lie in the range of resistances that can be measured. Following Ohm's law, as the total resistance of the potentiometer increases the current that must be driven through the device must drop in order to produce a voltage that can be measured within the limits of my DAQ. Driving smaller currents increases the circuit's sensitivity to noise and voltage offsets, requiring more thought on how to achieve good performance.
For a 10k pot this circuit appears to work pretty well though! Here is a rough measurement of a device:
The pot is clearly 10% off at the maximum resistance (which is within spec). At 50% rotation the device can be seen to be 15% of the total spec'd resistance. This parameter is often used to differentiate between different logarithmic laws, as can be seen on the Alpha website.