Author Topic: DMM linearity comparison  (Read 30410 times)

0 Members and 1 Guest are viewing this topic.

Offline e61_philTopic starter

  • Frequent Contributor
  • **
  • Posts: 962
  • Country: de
Re: DMM linearity comparison
« Reply #25 on: November 20, 2017, 05:00:23 pm »
I will get a Keithley 2002 to test it against the two HP3458As.

I'm have nearly no experience with Keithley DMMs. Can anybody tell me the best settings on the K2002 for this experiment?

I'm also thinking about the procedure. Perhaps one should measure 10V again every 10 steps, to calculate the drift and reduce the influence of the drift.
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 14076
  • Country: de
Re: DMM linearity comparison
« Reply #26 on: November 20, 2017, 07:45:40 pm »
The "drift" in the 10 V difference looks very much like noise. I would expect reference noise to a big a part of this. Compensating for  reference drift / noise can be tricky. One might be able to compensate drift and the very low frequency noise part, but one would would add some other noise from the extra readings. With the two 3458 the noise looks rather random with little 1/f part. So chances are it would not help, but only add extra noise.

Taking reading at this very low level, one might have an eye on settling. At that very low level, there can be some slow settling component due to DA in caps that are in the signal path. A second possible slow effect at that level can be self heating of resistors - though this would more effect ranges with gain and not so much the direct through 10 V or 20 V ranges. Switching to 10 V might add some such settling trouble.
 
The following users thanked this post: e61_phil

Offline e61_philTopic starter

  • Frequent Contributor
  • **
  • Posts: 962
  • Country: de
Re: DMM linearity comparison
« Reply #27 on: November 21, 2017, 02:17:53 pm »
Here is the first Keithley 2002 result.

Keithley 2002 configuration:
K2002.write("*RST")
K2002.write("sense:volt:dc:rang 10")
K2002.write(":init:cont off")
K2002.write(":VOLT:DC:DIG 9")
K2002.write(":syst:azer:type sync")
K2002.write(":VOLT:DC:nplc 50")
K2002.write(":volt:dc:aver:tcon rep")
K2002.write(":volt:dc:aver:coun 2")
K2002.write(":volt:dc:aver on")
 

Online Andreas

  • Super Contributor
  • ***
  • Posts: 3222
  • Country: de
Re: DMM linearity comparison
« Reply #28 on: November 21, 2017, 07:10:02 pm »
Hmm,

2*3458A on the diagram.
Where is the K2002?

with best regards

Andreas

 

Offline e61_philTopic starter

  • Frequent Contributor
  • **
  • Posts: 962
  • Country: de
Re: DMM linearity comparison
« Reply #29 on: November 21, 2017, 08:46:39 pm »
Hmm,

2*3458A on the diagram.
Where is the K2002?

Both are the Keithley 2002. One against the HP3458A#1 and the other against HP3458A#2.
 
The following users thanked this post: Andreas

Offline Pipelie

  • Regular Contributor
  • *
  • Posts: 172
  • Country: cn
Re: DMM linearity comparison
« Reply #30 on: January 15, 2018, 02:34:00 pm »
Hi Phil,

I ran some test at last weekend, thanks for the script you share here  https://www.eevblog.com/forum/metrology/is-the-fluke-5440b-really-an-artifact-cal-instrument/25/

here are some results,  and sorry, just raw data yet.
 
The following users thanked this post: e61_phil

Offline e61_philTopic starter

  • Frequent Contributor
  • **
  • Posts: 962
  • Country: de
Re: DMM linearity comparison
« Reply #31 on: January 15, 2018, 10:50:25 pm »
Hi Phil,

I ran some test at last weekend, thanks for the script you share here  https://www.eevblog.com/forum/metrology/is-the-fluke-5440b-really-an-artifact-cal-instrument/25/

here are some results,  and sorry, just raw data yet.

Hi,

Thanks! :)
Could you explain what excatly was measured? Did you use two 3458A?
 

Offline Pipelie

  • Regular Contributor
  • *
  • Posts: 172
  • Country: cn
Re: DMM linearity comparison
« Reply #32 on: January 16, 2018, 11:41:23 am »
Hi Phil,

I ran some test at last weekend, thanks for the script you share here  https://www.eevblog.com/forum/metrology/is-the-fluke-5440b-really-an-artifact-cal-instrument/25/

here are some results,  and sorry, just raw data yet.

Hi,

Thanks! :)
Could you explain what excatly was measured? Did you use two 3458A?

Hi,

I just install and setup the software Environments? and then run the script you share which is lin_meas.py. and nothing changes in this script.

and yes, I use two 3458.

the room temperature is around 11-12 degree during the measurement.
and at least 4 hours warm-up time.
 
The following users thanked this post: e61_phil

Offline TiN

  • Super Contributor
  • ***
  • Posts: 4543
  • Country: ua
    • xDevs.com
Re: DMM linearity comparison
« Reply #33 on: October 21, 2018, 08:12:07 pm »
How about we make this project a bit revived?

I'm getting all bits together in python, to make something more user friendly.

Sneak peak of some initial result so far:

YouTube | Metrology IRC Chat room | Let's share T&M documentation? Upload! No upload limits for firmwares, photos, files.
 
The following users thanked this post: e61_phil

Offline e61_philTopic starter

  • Frequent Contributor
  • **
  • Posts: 962
  • Country: de
Re: DMM linearity comparison
« Reply #34 on: October 21, 2018, 08:18:44 pm »
Great!! :)

I guess your Y-axis mean all ppm values are related to 10V. Is that right?
 

Offline TiN

  • Super Contributor
  • ***
  • Posts: 4543
  • Country: ua
    • xDevs.com
Re: DMM linearity comparison
« Reply #35 on: October 21, 2018, 08:31:39 pm »
I think it's related to best-fit curve.

Code: [Select]
p = np.polyfit(real,ideal,1)
pv = np.polyval(p,real)
diff = ideal-pv
diff_ppm = (diff/10.0)*1000000.0

Test data DSV-file.

I have created github repo, which we can use to work on code.

Todo:
* Add GPIB datacollector app. So far plan to support sources: Fluke 5440B, 5700A, 5720A, 5730A. meters: HP3458A, 34401A, Fluke 8508A, Keithley 2001/2002.
* Add data formatter for DSV/CSV files.
« Last Edit: October 21, 2018, 08:50:30 pm by TiN »
YouTube | Metrology IRC Chat room | Let's share T&M documentation? Upload! No upload limits for firmwares, photos, files.
 

Offline lukier

  • Supporter
  • ****
  • Posts: 634
  • Country: pl
    • Homepage
Re: DMM linearity comparison
« Reply #36 on: October 21, 2018, 08:39:09 pm »
I guess your Y-axis mean all ppm values are related to 10V. Is that right?

Yes, that's ppm full scale so in that case 10V. I think in the next revision we should be collecting sdev as well to have error bars.

The calculating script has rather unfortunate naming, because the values from the calibrator (5720A or 5440B) are called 'ideal', while 3458A measurments are called 'real', but in reality I treat 3458A as ideal (in absence of a JJA :D) and calculate the calibrators INL. Probably adding sdev and doing some root sum squares with 3458A INL specs (AFAIR 0.05ppm) could improve the calibrators' INL estimates.

Suggestions for more mathematically sound calculations are very welcome!
 
The following users thanked this post: TiN

Offline e61_philTopic starter

  • Frequent Contributor
  • **
  • Posts: 962
  • Country: de
Re: DMM linearity comparison
« Reply #37 on: October 21, 2018, 08:49:42 pm »
Yes, that code snipet does what I meant.

I think it would be great if we can agree on a common raw data format. csv is just fine I think. I really like to have the raw data and can do some further math with it.

I attached a couple of runs with two 3458As and a Fluke 8508A hooked to a Fluke 5440B (unfortunately only positive voltages).



@Tin: What is dutc in your file?
 

Offline TiN

  • Super Contributor
  • ***
  • Posts: 4543
  • Country: ua
    • xDevs.com
Re: DMM linearity comparison
« Reply #38 on: October 21, 2018, 08:53:00 pm »
dutc is 8508A.

Perhaps we should make format compatible with up to 8 DUTs off same source + 8 aux datastreams (temperatures, ambient data, etc)?
Data points on measured value + sdev?
YouTube | Metrology IRC Chat room | Let's share T&M documentation? Upload! No upload limits for firmwares, photos, files.
 

Offline lukier

  • Supporter
  • ****
  • Posts: 634
  • Country: pl
    • Homepage
Re: DMM linearity comparison
« Reply #39 on: October 21, 2018, 08:55:43 pm »
Here are some of my tests of 5440B vs 3458A, but please don't use it as a reference as my 5440B had serious repairs done, including replacing magic JFETs (with some Farnell ones) in the DAC oven. Somebody with a proven "vanilla" 5440B should provide better data.
 

Offline e61_philTopic starter

  • Frequent Contributor
  • **
  • Posts: 962
  • Country: de
Re: DMM linearity comparison
« Reply #40 on: October 21, 2018, 09:03:01 pm »
dutc is 8508A.

Perhaps we should make format compatible with up to 8 DUTs off same source + 8 aux datastreams (temperatures, ambient data, etc)?
Data points on measured value + sdev?

Yes, let's do it this way.

How do you collect the data?

My data with the 8508A was recorded 60s after setting the new value on the 5440B. That isn't very clever. It would be better to record some data and decide on that data if the measurement is stable. I did something like that for another measurement. I collected the readings until five successive readings are within 300nV. That worked just fine. After that I saved the average of the readings and one could also save the std. dev. Perhaps one should use more than 5 readings for a proper std. dev.

I used GPIB trigger for the two 3458As and send *TRG to the 8508A to let the meters integrate simultaneously.

I would also prefer to stricly divide the software in data acquisition and the math after that. That would be easier with different platforms.
 

Offline e61_philTopic starter

  • Frequent Contributor
  • **
  • Posts: 962
  • Country: de
Re: DMM linearity comparison
« Reply #41 on: October 21, 2018, 09:31:15 pm »
Here are some of my tests of 5440B vs 3458A, but please don't use it as a reference as my 5440B had serious repairs done, including replacing magic JFETs (with some Farnell ones) in the DAC oven. Somebody with a proven "vanilla" 5440B should provide better data.

I used the same data as posted above to plot the INL of my 5440B. I had it better in mind...


I plotted the data this way:

Code: [Select]
def compare_lin(dut, reference):
    slope, offset, *_ = stats.linregress(dut, reference)
    error = [((value * slope + offset) - reference[i]) /10 *1e6 for i, value in enumerate(dut)]
    return reference, error

I used SciPy linregress to calculate offset and slope, but that shouldn't matter.
 

Offline lukier

  • Supporter
  • ****
  • Posts: 634
  • Country: pl
    • Homepage
Re: DMM linearity comparison
« Reply #42 on: October 21, 2018, 09:37:17 pm »
I plotted the data this way:

We should settle if error = f(value)-reference or error = reference - f(value) :D Otherwise every other plot will be flipped upside-down.
 
The following users thanked this post: e61_phil

Offline e61_philTopic starter

  • Frequent Contributor
  • **
  • Posts: 962
  • Country: de
Re: DMM linearity comparison
« Reply #43 on: October 21, 2018, 09:40:27 pm »
I plotted the data this way:

We should settle if error = f(value)-reference or error = reference - f(value) :D Otherwise every other plot will be flipped upside-down.

Oh, I didn't notice that :). I prefer [measurement - "true"_value]. That will give a + if the measurement is too high or a - if it is too low. That's the way I do it in all of my recordings (calibrations).
 
The following users thanked this post: lukier

Offline Pipelie

  • Regular Contributor
  • *
  • Posts: 172
  • Country: cn
Re: DMM linearity comparison
« Reply #44 on: November 01, 2018, 05:02:55 am »

making some progress, here is what I got. :box:

 

Offline TiN

  • Super Contributor
  • ***
  • Posts: 4543
  • Country: ua
    • xDevs.com
Re: DMM linearity comparison
« Reply #45 on: November 01, 2018, 05:14:20 am »
-10 to -1 looks great :)
Did you try with reversed 3458A?
YouTube | Metrology IRC Chat room | Let's share T&M documentation? Upload! No upload limits for firmwares, photos, files.
 
The following users thanked this post: Pipelie

Offline Pipelie

  • Regular Contributor
  • *
  • Posts: 172
  • Country: cn
Re: DMM linearity comparison
« Reply #46 on: November 01, 2018, 05:25:54 am »
-10 to -1 looks great :)
Did you try with reversed 3458A?
yes, I did.

here it is:
5440 source 0-11V and 0.05v each step, the input of 3458 was reversed.
the reading of 3458 was multiply by -1 before I plotted the graph.

it‘s too bad that the polarity relay is NOT at the output Of PWM DAC but between the master voltage reference and PWM switch. :palm:

« Last Edit: November 01, 2018, 05:39:11 am by Pipelie »
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 14076
  • Country: de
Re: DMM linearity comparison
« Reply #47 on: November 01, 2018, 08:43:33 am »
The curve is interesting, as it shows the curved form for the positive side is due to the 5440 and not the 3458.

Having the polarity between reference and PWM DAC is an odd position, as it requires a larger voltage range for the switches. However one can still change the polarity at the output, by just reversing the leads. So one can also see this as an extra option. For some reason the negative side seems to work better than the positive.
 

Offline lukier

  • Supporter
  • ****
  • Posts: 634
  • Country: pl
    • Homepage
Re: DMM linearity comparison
« Reply #48 on: November 01, 2018, 11:11:35 am »
The curve is interesting, as it shows the curved form for the positive side is due to the 5440 and not the 3458.

Having the polarity between reference and PWM DAC is an odd position, as it requires a larger voltage range for the switches. However one can still change the polarity at the output, by just reversing the leads. So one can also see this as an extra option. For some reason the negative side seems to work better than the positive.

My theory is that the test takes too long, as it is 0.1V steps (or here even 0.05V), therefore ACAL on both 3458A and 5440B drifts and it is hard to maintain the temperature for so long in a hobby environment - hence why it gets worse on the right hand side.

For me INL is mostly important for transfer accuracy and this one is usually specified at 15-20min or similar.

I prefer to run with 1V steps but do many passes. HP when evaluating 3458A also did only few data points on JJA, but more passes (see 1989 journal).
 

Offline Pipelie

  • Regular Contributor
  • *
  • Posts: 172
  • Country: cn
Re: DMM linearity comparison
« Reply #49 on: November 02, 2018, 04:27:00 am »
lukier,

each "run" take almost 2 hours,  I don't think that's too long for both 3458a and 5440b. :)

I did try to run with 1V step and the shape of the curve is pretty much the same, I will do more test with 1V step in this weekend.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf