• 0

# Datalogger temperature / voltage drift

## Question

Hi all,

I struggled for a while with unexpected DC outcomes from the datalogger. After research I found a DC temperatuur drift error. I think this affects the oscilloscope and voltmeter tool as well. If you watch the attached picture you see a 2 hour record of a 3,3V DC channel (1) and a zero volt (shorted) channel (2). You see a temperature / voltage drift in the range from -38,75 mV by 22 °C to + 2,4 mV by 43,75 °C. The only point where this drift is zero is after 1 hour. For me this DC drift makes the mV range useless and even in the Volt range i have to wait an hour before i have more or less reliable results. The fact that the Range setting in the settings pull down menu is by default on maximum and does not get saved with the workspace, gives always the maximum error for any certain point in time, I made this record with the 10V range in the settings pull down, if it was on the default maximum it was much worse, both channels are in the 100 mV range. Calibrating the device after one hour makes no difference in the temperature dependency. Perhaps this is only the case with my device but that's why we have a forum isn't it?

Now my question, where am I wrong?

Hans.
` `
Edited by HansV

## Recommended Posts

• 0

A unbelievable nice device as the AD 2 deserves better than this (we should maintain the lead on Tektronix (lol)) so I tried to find a workaround to compensate for the temperature drift a little.

For this I offer one channel (in my case C1) as temperature offset (temperature curve in mV),
then I add in a script negative values (which i make first positive) from C1DC to C2DC

OR i subtract the positive values from C1DC from C2DC. Remember C1DC (shorted input) represents the temperature deviation.

`I do this with this little script in channel C2DC`

if (C1DC <=0) {C2DC + Math.abs(C1DC)} else {C2DC - C1DC}

As long as C1DC <= 0, make the number positive and ADD it to C2DC, else SUBTRACT C1DC form C2DC.

You need  to use the same range in both channels and remember that you have that script in one of the channels otherwise if you connect a positive voltage to C2DC the trace goes down!
or it goes up if you connect a negative signal! This example works for positive signals on C2.
At least i have one channel now that i can use in the +mV range.

There is a lot to say about this method because it is based on a assumption of similar temperature drift in both channels,
in fact you see the difference in this plot because i compensate C2DC with the data of C1Dc in math but it's still not complete straight, but the output is much smoother than without compensation.

Moreover, I am not a specialist in Java script so ( i come form the Basic time) perhaps it can be fixed more easily, i love to hear it in that case and or other
suggestions.
Someone who is good in Javascript can store the temperature curve of a specific AD2 (item in the calibration?)
in an array and then use it on both channels positive and negative.
Thanks!
Hans.
The corrected result watch for the difference......both channels (C1DC and C2DC) are in the 100 mV range, just as in the other picture above.
Of course you can use the 5V range as Atilla suggested, but i like always to be in the more sensible spots.....
temp drift 10V range with correction.txt in the left column you can find the temp curve translated to mV from my device, of course this can be done with much less points.
Edited by HansV

##### Share on other sites
• 0

Such temperature drift is normal.

The Analog Discovery was designed using components for best temperature stability see:
https://reference.digilentinc.com/reference/instrumentation/analog-discovery-2/reference-manual#scope_reference_and_offset

The Scope actually has two input gains 5V and 50V. With 10V range setting it uses 50V pk2pk range.

The drift you see relative to full range is about 40 ppm/*C (40mV / 50V range / 20*C)

To minimize the temperature drift let the device to warm up before using it and if possible set range to 5V (or lower) to use the high gain input stage.

Edited by attila

• 0