Electronic – resistor drift via temp messing with ADC readings in voltage divider

drifttemperaturevoltage divider

I am voltage dividing 0 to 64 VDC down to 0 to 1.8 volts via a simple voltage divider.

I am using 1% resistors.

The problem is that the readings from the ADC in my beaglebone black seems to be drifting over time in that say 48 volts is not consistently reported as the same ADC reading day to day.

The attached chart shows the drift. Each day should look identical and does via a Fluke meter.

My circuit is

Vin -> 4700ohm -> 120ohm -> gnd

The ADC sense pin attaches between the 4700ohm and the 120ohm resistors. The ADC reference gnd is attached to gnd.

The +5vdc power supply that supplies the microprocessor and ADC is isolated from the above circuit except for a common gnd.

Should I expect so much drift via the voltage divider (presumedly due to temperature)?

chart of voltages

Best Answer

The one time I have experienced a similar cyclic drift in a resistive voltage divider, one of the resistors was exposed to a varying airflow from a nearby device fan. Since my divider was initially similar to yours, the higher resistor was dissipating a lot of heat. In your case, at a full-scale of 64 volts, the 4.7k resistor dissipates around 0.8 Watts - which is a lot.

A solution would be to use a divider consisting of 620k and 18k, thus reducing heat generation massively. If the ADC requires a lower impedance source, a single-supply rail-to-rail op-amp (e.g. OPA2192)powered from the +5V isolated supply would be used as a buffer (voltage follower).

schematic

simulate this circuit – Schematic created using CircuitLab

Why this works:

The current through the resistors is reduced, hence reducing heat generation. Thus the temperature of the resistors does not rise significantly. This ensures that differential thermal drift, and especially change in temperature due to external cooling such as airflow, has much lower impact.