# resistor drift via temp messing with ADC readings in voltage 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)? • Relevant, but not enough to explain your results: electronics.stackexchange.com/questions/5700/… – The Photon Jun 29 '15 at 3:20
• What are you measuring? Are you sure its behavior couldn't drift a per cent or two over a week? Presumably your system is also temperature dependent (explaining the 24 hour cycles), has the weather/environment remained exactly the same temperature during the week you measured? – The Photon Jun 29 '15 at 3:26
• You're blowing away half a watt in the 4.7K- what are the specs? The daily variation is lead-acid battery voltage with temperature and solar charging? (just guessing where the 48V comes from). – Spehro Pefhany Jun 29 '15 at 3:31
• You're also not going to get 1.8 volts with those resistors. 1.6 volts is more like it. And please expand on exactly how you are checking the system with a Fluke. Once per day? Once per hour? – WhatRoughBeast Jun 29 '15 at 3:38
• In general, a voltage divider has no temperature dependency, if the resistors are of the same kind. And ~15% also is too much for a bad voltage reference. May be you are using the supply voltage as reference? (still quite much) – sweber Jun 29 '15 at 6:51

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). 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.

• Why not use 5 V supply for both Opamp and Resistor divider? – Umar Jun 29 '15 at 8:47
• @Umar The OP's purpose of using the resistor divider is to measure some input voltage which could go up to 48 (or 64) Volts DC, using an ADC which supports up to 1.8 Volts input. By putting the voltage divider across the 5 Volt rails, the ADC wouldn't really be measuring anything meaningful - just a static voltage. – Anindo Ghosh Jun 29 '15 at 8:49
• oops! I go it. i was under wrong impression of something. Thanks – Umar Jun 29 '15 at 8:52