Tempco and calibration of a DMM - simple data post processing - Page 1
Forum section: electronics / general

author: iMo
author_rank: Super Contributor
timestamp: January 10, 2023, 09:36:05 am
content: Hi, I've been trying to get as much as possible out of my meter - thus let me kindly ask experts here on the process how to post-process data I get from my meter and how to improve it.The meter I use is a trusty HP34401A - thus nothing related to the real metrology, a pity, but this is more less a general question - how to "compensate" a dmm data during a measurement. So far I do it as follows (see below a graph from today's run):In past I made several "tempco scans" - I ran the DMM against the hot Vref (ie. an LTZ1000A) from its cold state to its hot state while measuring the Vref and DMM's internal temperature - I get a curve - ie. the raw data in BLUE below.As you may see it looks pretty linear, with aprox +0.52ppm/C. Based on that I get a tempco coefficient (or "coefficients" as I will do with higher order polynomials).During the measurement I do - upon each incoming raw 100PLC sample - following (all below is done via an stm32 mcu parsing the incoming raw DMM data and making all calcs in double precision, all data are captured in a csv file):a) I do capture raw data - BLUE (together with date/time, ambient and DMM's internal temp, moving stddev for DMM's temp and raw voltage data, ms timestamps, ppm value, etc),b) I do a gain and offset correction (the params gathered in past against a Fluke from a metrolab and LTZ1000 calib recently),c) then I do a tempco correction (a linear one so far, from 36C internal dmm temp up) - RED,d) then I do moving median filter (upon 7 last samples) in order to get rid of occasional outliers - GREY,e) and then I do moving TEMA smoothing for fun - YELLOW.PS: my internal DMM temperature fully stabilizes after aprox 2.5hours..Thus I get data I can play with in excel after the measurement. I am not sure whether the process above is optimal, however. The dmm's tempco is not perfectly linear as you may see after the dmm's internal 36C kicks off (the temperature difference ambient vs dmm's internal is aprox 18.5C after it gets stable, therefore I decided to start the TC compensation from 36C - such it kicks off from aprox 17.5C ambient worst case), therefore I am going to use a higher order polynomial to compensate the TC.Add up the HP34401A's noise, LM399 popcorn and a dozen of other factors - and the uncertainty is rather high in this setup, sure, but let me focus on the basic process above - is there something I can improve further on?

author: Kleinstein
author_rank: Super Contributor
timestamp: January 10, 2023, 01:13:15 pm
content: Using the warm up after turn on is not ideal to measure the temperature effect. It is OK to get an idea of the order of magnitude, but during warm up / turn on there can be more than just 1 temperature to effect the result. For a more accurate measurement, e.g. to use for correcting later or earlier measurments one should have the DMM powered on already for a longer time (e.g. > 2 h) and than slowly change the room temperature (e.g. crank up the AC or heat or put a case over the meter. Because of hysteresis effect one may need a few repeats (e.g. cold - hot - cold - hot).The data handling process sounds sensible. How much filtering of the data is needed depends on the meter and use of the data. One could however also keep much of the variations, so that popcorn noise stays visible and not smeared out to mask it. The 34401 is a bit noisy and maybe no easy to identify popcorn noise worth keeping.

author: DH7DN
author_rank: Regular Contributor
timestamp: January 10, 2023, 03:59:23 pm
content: Isn't the point of determining a Tempco in athermal equilibriumorsteady stateinstead of (thermal)transient state? Measuring during transients usually results in experimental systematic errors. The only useful information you get is the point of reaching the steady state of HP 34401A, everything inbetween should be assessed as questionable results

author: iMo
author_rank: Super Contributor
timestamp: January 10, 2023, 05:54:57 pm
content: Thanks for the comments! The process of warming up my meter is rather slow process. My meter has got an insulation sleeve inside the box just beneath its metal case (there are shots I made some 3ys backhere). So the temperature needs almost 3h to reach its equilibrium with ambient perfectly [see my link], where from those 36C to the (ambient+18.5C) it takes most of the time. I do stddev of the internal temperature (over the last 100 samples which is aprox 400secs) and I see when the internal temperature stabilizes itself. I repeated this TC exercise many times in past, in summer with 46C max internal temp, and in winter with 38C max internal temp as well.Popcorn - the median with 7 running samples does not mask the popcorn events as those jumps are usually longer than 3 subsequent measurements and are visible, it does reject single spikes, if any, caused by EMI or something like that.PS: I wonder how the TC of other meters is handled.. Especially those with cooling fans..

author: iMo
author_rank: Super Contributor
timestamp: January 14, 2023, 10:25:18 am
content: FYI - below a night run of my34401A - the internal dmm temperature vs ambient. You may see the measurement started at some 31C internal (thus some time after powering it on) and it took aprox 5 hours to reach the equilibrium, despite the fact the ambient was already dropping for some 3 hours.In the second picture you may see an example of the TC linearization (blue is raw input data, red is linearized output). Here I've been coping with a rather simple problem (my math getting pretty rusty) - imagine you get the voltage against temperature as a simple linear trend function from the excel's scatter diagram like in the below example, and you want to translate it into the TC (in ppm/C) of the dmm, like used in V*(1+TC*(temp-Tref)) in case of a simple linear coef.How would you get the "TC in ppm/C" via a math operation directly from the 2 coefficients (blue) you may see in the graph? I do it by translating the absolute voltage vs temperature data set into "V_ppm vs (temp-Tref)" data set and using the linear trend coefficient from that scatter graph.Is there a simpler way how to do it?And of course if there is a hint how to implement the internal temperature propagation delay (the slow change of the internal temperature till the equilibrium) effect into the more realistic TC estimation - I would be thankful..

author: DH7DN
author_rank: Regular Contributor
timestamp: January 17, 2023, 10:04:22 am
content: Usually it's necessary to control the temperature parameter in a very narrow range in order to obtain the TC as a part of the characterization of the instrument. The TC measurements are performed in discrete steps where you keep the temperature stable over hours and take measurements prior to increase of next temperature step. I'm not sure about this power-up TC method but it may be some kind of new 6.5 digit metrologyIllya wrote an interesting article about Keysight 3458A where he wrote few words about warm-up durations. The most accurate measurements are done after warm-up. Prior to that, the measurement accuracy is degraded according tohttps://xdevs.com/article/ks3458b/#coldwarmWould it be possible to measure the cool-down TC in order to verify that there is no hysteresis?

author: iMo
author_rank: Super Contributor
timestamp: January 17, 2023, 01:08:22 pm
content: The cool-down process is not easy to create, of course..The reason why I do the TC correction based on meter's internal temperature is not because I want to measure "before the temperature is fully stabilized inside the meter", but because "the internal final stabilized temperature of the meterfollows the ambient temperature", and the ambient temperature varies between 20-28C within a year.Therefore the final_stabilized temperature (the T after the warm-up is completed - 4-5h in my case) inside the meter varies by 8 degrees within a year. That 8C makes aprox 4ppm in case of my 34401A, and I want to correct that..With a lab as TiN has (or any metrological lab with a constant temperature) you simply wait till the meter warms-up..You do not need such a process when a) your lab has a constant temperature and you wait till warm-up is done, or, b) you meter is internally thermostatized.. (omg what a word)..

author: bdunham7
author_rank: Super Contributor
timestamp: January 17, 2023, 04:43:34 pm
content: Quote from: imo on January 10, 2023, 09:36:05 amThere are limits to how much improvement you can make without strictly controlling the ambient temperature. And then there are limits to the short-to-mid term stability of a 34401A. I believe (based on a bit of experimentation but no recorded data) that the 2.5 hours (or more--mine is over 3h) of change that you see on warmup is due more to internal temperature gradients than to absolute temperature. So even after the meter is full warmed up, if your ambient temp changes, the meter doesn't all change at the same rate and you get a new set of gradients for a while.I have observed that the meter will read noticeably different (a few counts) in different positions, which I attribute to temp gradients due to internal convection. Let is stabilize for 3 hours in the horizontal position, then flip it up so it is standing on the back feet. Observe it over the next few hours and perhaps you'll see the same thing.

author: iMo
author_rank: Super Contributor
timestamp: January 17, 2023, 06:00:31 pm
content: I saw large temperature turbulence inside the meter - therefore I installed an insulation foam (see the link in my replay #3 above) - and it helped a lot. Sure, the changing the position will have some influence (even the 399 shows differences), but let us stick with the standard position for now.Btw. - it would be interesting to see the TC graph with the other meters (6.5/7.5digits, even those metrological grade ones) - measuring its internal temperature (while the meter logs 10V Vref) - from ambient (meter's cold state) till its internal temperature stabilizes after the warm-up..

author: TizianoHV
author_rank: Regular Contributor
timestamp: January 17, 2023, 08:51:03 pm
content: Here some measurements of my Agilent 34970A + 34901A (Similar to 34401A)(with cooling fan) and my Keithley 2790 (Similar to K2700, K2000...)(no fan).I should repeat some of those test because at the time I measured temperature manually but this should give an idea.First 10V warm-up, K2790 settle pretty quickly with its initial "overshoot". AG34970A needs more time to stabilize (probably because the analog PCB reaches higher temperatures being just above the voltage regulators)Once warmed up they're really stable.A good and easy way to test tempco is to simply cover them with a cloth and watch the drift. Both good, in particular 34970A!I did also a 100khom warmup (resistor: Vishay foil.. 2ppm/°C). From warmup keithley looks good but in reality is way worse. AG34970A is super predictable (and low noise) in ohms, you can easily compensate for drift just by watching it's internal temperature. K2790 tempco isn't too bad, just noisy and not linear.

author: iMo
author_rank: Super Contributor
timestamp: January 18, 2023, 10:44:19 pm
content: I've made a tempco scan of my HP34401A, using a special HP made cloth for special measurements..Frankly, I would not repeat this measurement again, the meter's internal temperature reached 50C, still rising..Below the result - the compensation described in my first post works pretty well (still using linear TC compensation).PS: the larger noise at 15:04 is due to my manipulation with the HP cloth while bundling the meter into it..

author: Andreas
author_rank: Super Contributor
timestamp: January 19, 2023, 10:00:21 pm
content: Hmm,where exactly did you finally place the LM35 temperature sensor within 34401A?Simply in the middle of the shield or exactly above the divider resistor array?with best regardsAndreas

author: iMo
author_rank: Super Contributor
timestamp: January 20, 2023, 12:10:40 am
content: @Andreas: plz seehttps://www.eevblog.com/forum/projects/thermostating-the-hp-34401a-meter/msg2617395/#msg2617395The LM35 has been glued on the aluminum shield close to the resistor array chip, but not exactly above it, afaik.The aluminum shield integrates the heat from a larger area.It would be an interesting research to find the right place for the sensor, sure..Below shot from xdevs.com.

author: RandallMcRee
author_rank: Frequent Contributor
timestamp: January 21, 2023, 12:44:26 am
content: Getting back to the main topic of the post--what about finding correlations in the data?Ulrich Bangert's plotter program does this and it is quite useful.