The OWON XDM1041 temperature weirdness
I did a few measurements this morning and here are the results. Note that all this about firmware version 1.2. The graphs were taken by polling the measured value via SCPI every second into a spreadsheet.
From the cold-start and warmed-up graph you can see that the meter looks at the internal temperature sensor every 600 seconds (10 minutes). During that time (about 3 seconds) the meter does not respond to SCPI polls, i.e. 3 polls time out but at the 4th one you get 4 results (i.e. it buffered the responses internally). Note that this “pause” on SCPI every 600 seconds only happens if you are in temperature mode. If you are in millivolts for example there is no pause.
Interestingly, the very first temperature measurement after it updated the value it holds as cold-junction temperature is always a bit high. Not sure why. This you can clearly see in the warmed-up graph.
In temperature mode, the meter displays the “measured” value at the bottom of the display (what a brilliant idea! Seriously why don’t other meters copy that). This allows an easy check if it is “doing the right thing”.
Example: With just cables to my millivolt source plugged in, but no external voltage applied, it reads 28 deg. and -0.02 mV Using the NIST tables / polynomials for K-type, 28 deg. corresponds to 1.122 mV. This it stores as the cold junction offset (for the next 10 minutes).
If I now apply +1 mV to the input, the meter shows 52.7 deg.C and 0.98 mV. The meter adds the 0.98 to the stored 1.122mV and gets 2.102 mV. According to the NIST polynomial equation that would be 51.9 deg.C. Ok so its off by 0.8 deg. Maybe they use lookup tables instead of the reasonably complex maths.
If I apply -1 mV to the input, the meter shows 2.8 deg. C and -1.03mV. Doing the same calculation, the resulting voltage is 0.092mV and the NIST value 2.3 deg C. Again, 0.5 deg. off but I think in principle the meter is doing the right thing.
@davebb: If your meter shows the right value at startup but not some time afterwards, it seems it may not do its 600s refresh of the cold-junction temperature. The best way to find out is to repeat the same test I have done for the cold-start graph and see if you get that staircase (or the spikes in the warmed-up) graph. You could use the OWON software and its recording function but I am not sure how it responds to the “pause” after 10mins. Better to use a small script and simply send every second: “MEAS1?<LF> “ and store the response