Author Topic: DMM Noise comparison testing project  (Read 98928 times)

0 Members and 1 Guest are viewing this topic.

Offline TiN

  • Super Contributor
  • ***
  • Posts: 2939
  • Country: tw
  • Volt-bolt
    • xDevs.com
DMM Noise comparison testing project
« on: April 11, 2015, 05:58:10 AM »
RAWR, voltnuts,

How about idea of testing ADC/front-end noise performance on various DMMs and making a common chart for reference?
To start, only two variables to check, NPLC settings and VDC range.
All testing to be done with short on inputs.
Offsets irrelevant and can be nulled by math on captured data.

As a starting point, here's some data from Agilent 34970A (34901A mux card, channel 118 shorted) and Keithley 2001, 2002.

Data is live, on this D3.js generated chart page.

Current data status





Any meter can be added. For fair comparison I'd suggest to pick 1 hour of sampling time.

Guide:

1. Have to use interface to log data from meter, such as RS232 or GPIB/LAN. If there is USB port to transfer data from meter , that will work too.
2. Disable all filtering / math functions on meter. We want get clean data from ADC subsystem. Processing can be done later on PC, in case if needed.
3. Set fixed range, for example 100mV or 2V. Enable synchronous autozero if there is such in meter.
4. Set NLPC aligned to power cycles (for example 1.00 NPLC, not 1.01 or 0.95)
5. Enable high-impedance mode, if meter allows selection between 10Meg/Hi-Z (for example 34970A, 344xxA).
6. Capture data. Suggest to capture at least 30 minutes, or leave overnight for example. I can cut stable part, when drift due to thermal changes is minimal from overall capture.
7. Add meter information, mains parameters (60Hz or 50Hz, etc).
8. Add special notes, if meter modified/non-standard (e.g. after repair with different parts, or changed parts, etc)
9. Post CSV here, or send to ftp://xdevs.com/ with login and password datashort

If you have limited time, just run single setting set:

* 10 NPLC (or maximum NPLC if it's less than 10 for your meter) + base range (10V or 20V, it's the one which have most accuracy per DMM spec), Autozero on, line sync on, filtering OFF.

If want run more , use settings from table. Number meaning order to run (for example run only tests 2,3,4, if you not interested in fast NPLCs settings and ranges over 20V)

        0.01 NPLC0.1 NPLC1 NPLC10 NPLC50 NPLC100 NPLC1000 NPLC
200mV       +11    +10   +7      +3     +4      +5       +9   
2V          +11    +10   +7      +2     +4      +5       +9   
20V         +11    +10   +1    Primary  +4      +5       +5   
200V        +11    +10   +8      +6     +8      +9       +9   
1000V       +11    +10   +8      +6     +8      +9       +9   

Autozero should be on, it will reduce time to get stready repeatable. With autozero off I saw little drift on 2001, which can be confused with more noise.

I will add simple application in few days, to do GPIB capture and send data automatically.

CSV-data for every measurement setup run
RAW CSV data location for download

Example GPIB command query to capture sample from Keithley 2001 is

Code: [Select]
:SYST:AZER:TYPE SYNC;           // Here we enable autozero sync
:SYST:LSYN:STAT ON;             // Here enable line sync
:SENS:FUNC 'VOLT:DC';           // Measure voltage DCV
:SENS:VOLT:DC:NPLC 10;          // Set NPLC to 10
:SENS:VOLT:DC:RANGE 2;          // Set range manual to 2V
:SENS:VOLT:DC:DIG 8.5;          // Set resolution to 8.5 digits
:SENS:VOLT:DC:AVER:STAT OFF;    // Filter off
:TRIG:SEQ:SOUR TIM;             // Set trigger source from timer
:TRIG:SEQ:DEL 1;                // Set timer to 1 second
:READ?                          // Read data

For Keithley 2182 nanovolt meter it would be something like this:

Code: [Select]
:SYST:AZER:STAT ON;             // Here enable autozero
:SYST:FAZ:STAT ON;              // Here we enable front end autozero
:SYST:LSYN:STAT ON;             // Here enable line sync
:SENS:FUNC 'VOLT:DC';           // Measure voltage DCV
:SENS:VOLT:CHAN1:LPAS:STAT OFF; // Analog filter off
:SENS:VOLT:CHAN1:DFIL:STAT OFF; // Digital filter off
:SENS:VOLT:CHAN1:NPLC 5;        // Set NPLC to 5
:SENS:VOLT:CHAN1:RANG 10;       // Set range manual to 10V
:SENS:VOLT:CHAN1:DIG 8.5;       // Set resolution to 8.5 digits
:TRIG:SEQ:SOUR TIM;             // Set trigger source from timer
:TRIG:SEQ:DEL 1;                // Set timer to 1 second
:READ?                          // Read data

I am not sure if it work without modify 100%, since I never had 2182 :) 8.5 digit mode probably will work, similar to 2001, but official value max is 7.5 digits.
« Last Edit: April 20, 2015, 02:24:44 PM by TiN »
xDevs.com | Have test gear documentation to share? Upload here! No size limits, firmware dumps and teardown photos welcome.
 
The following users thanked this post: CalMachine

Offline opa627bm

  • Regular Contributor
  • *
  • Posts: 52
Re: DMM ADC Noise comparison testing project
« Reply #1 on: April 11, 2015, 07:20:28 AM »
RAWR,
I have one 7/1/2 keithely nanovolt meter.
How to collect it's noise?
 

Offline dom0

  • Super Contributor
  • ***
  • Posts: 1373
  • Country: de
Re: DMM ADC Noise comparison testing project
« Reply #2 on: April 11, 2015, 07:35:26 AM »
1. Set up automated meas data retrieval (GPIB, RS-232, Ethernet)
2. Collect data
3. Apply high pass (<-- should have a common stepness and cutoff for all tests by everyone!) to remove offset and drift
4. Calculate peak peak, RMS
,
 

Offline Marco

  • Super Contributor
  • ***
  • Posts: 2936
  • Country: nl
Re: DMM ADC Noise comparison testing project
« Reply #3 on: April 11, 2015, 08:26:24 AM »
Do all meters throw moving average filters on top of the NPLC based samples by default ... or only Keithley?

Ideally you'd have some stimulus near 1/NPLC frequency to make sure the meter isn't cheating.
« Last Edit: April 11, 2015, 08:28:22 AM by Marco »
 

Offline TiN

  • Super Contributor
  • ***
  • Posts: 2939
  • Country: tw
  • Volt-bolt
    • xDevs.com
Re: DMM ADC Noise comparison testing project
« Reply #4 on: April 11, 2015, 02:02:25 PM »
1. Have to use interface to log data from meter, such as RS232 or GPIB/LAN.
2. Disable all filtering / math functions on meter. We want get clean data from ADC subsystem. Processing can be done later on PC, in case if needed.
3. Set fixed range, for example 100mV or 2V. Enable synchronous autozero if there is such in meter.
4. Set NLPC aligned to power cycles (for example 1.00 NPLC, not 1.01 or 0.95)
5. Capture data. Can capture few hours, or leave overnight for example. I can cut stable part, when drift minimal from overall capture.
6. Post CSV here, or send to ftp://xdevs.com/ with login and password datashort

I will add simple application in few days, to do GPIB capture and send data automatically.

Example GPIB command query to capture sample from Keithley 2001 is

Code: [Select]
:SYST:AZER:TYPE SYNC;           // Here we enable autozero sync
:SYST:LSYN:STAT ON;             // Here enable line sync
:SENS:FUNC 'VOLT:DC';           // Measure voltage DCV
:SENS:VOLT:DC:NPLC 10;          // Set NPLC to 10
:SENS:VOLT:DC:RANGE 2;          // Set range manual to 2V
:SENS:VOLT:DC:DIG 8.5;          // Set resolution to 8.5 digits
:SENS:VOLT:DC:AVER:STAT OFF;    // Filter off
:TRIG:SEQ:SOUR TIM;             // Set trigger source from timer
:TRIG:SEQ:DEL 1;                // Set timer to 1 second
:READ?                          // Read data

For Keithley 2182 nanovolt meter it would be something like this:

Code: [Select]
:SYST:AZER:STAT ON;             // Here enable autozero
:SYST:FAZ:STAT ON;              // Here we enable front end autozero
:SYST:LSYN:STAT ON;             // Here enable line sync
:SENS:FUNC 'VOLT:DC';           // Measure voltage DCV
:SENS:VOLT:CHAN1:LPAS:STAT OFF; // Analog filter off
:SENS:VOLT:CHAN1:DFIL:STAT OFF; // Digital filter off
:SENS:VOLT:CHAN1:NPLC 5;        // Set NPLC to 5
:SENS:VOLT:CHAN1:RANG 10;       // Set range manual to 10V
:SENS:VOLT:CHAN1:DIG 8.5;       // Set resolution to 8.5 digits
:TRIG:SEQ:SOUR TIM;             // Set trigger source from timer
:TRIG:SEQ:DEL 1;                // Set timer to 1 second
:READ?                          // Read data

I am not sure if it work without modify 100%, since I never had 2182 :) 8.5 digit mode probably will work, similar to 2001, but official value max is 7.5 digits.

Marco,
Filter on any Keithley is optional, and can be disabled by press of one button "FILTER" :)
« Last Edit: April 11, 2015, 02:18:33 PM by TiN »
xDevs.com | Have test gear documentation to share? Upload here! No size limits, firmware dumps and teardown photos welcome.
 

Offline ManateeMafia

  • Frequent Contributor
  • **
  • Posts: 648
  • Country: us
Re: DMM ADC Noise comparison testing project
« Reply #5 on: April 11, 2015, 02:56:56 PM »
TiN,

I have been using EZGPIB to access the 2K1 today. I will try and tweak it add the extra commands. Are you writing your own programs or are you using some open-source utilities?
 

Offline TiN

  • Super Contributor
  • ***
  • Posts: 2939
  • Country: tw
  • Volt-bolt
    • xDevs.com
Re: DMM ADC Noise comparison testing project
« Reply #6 on: April 11, 2015, 03:01:44 PM »
I am doing it all wrong, LabView.  :phew: Hardware guy here...
My software skills are not good enough to write something to take data from GPIB, plot a graph, toss into CSV file, send over to FTP at same time.
On LV side it took few days to figure everything out to get this spaghetti producing my data.

xDevs.com | Have test gear documentation to share? Upload here! No size limits, firmware dumps and teardown photos welcome.
 

Offline Dr. Frank

  • Super Contributor
  • ***
  • Posts: 1303
  • Country: de
Re: DMM Noise comparison testing project
« Reply #7 on: April 11, 2015, 04:42:07 PM »
To really measure the noise of the ADC, you need to do the measurement on one fixed DCV range, where only the ADC is in the signal path, but no amplifier or divider.
Otherwise, you'd measure additionally the noise of these components.

Therefore, you have to measure on the 10V range on most bench DMM.

Then, it would be a good idea to use Ulrich Bangerts program PLOTTER to crunch the data fir modified Allan variation, which gives the noise / stability over sampling period. A single sampling interval does not tell so much about the noise performance.. See noise figure diagram of the 3458A in its DCV specifications.
Proper setting of aperture and sampling time , i.e. the correct normalization of data would be required for that, maybe Autozero to turn off for seamless sampling..

Then I wonder, if simply sampling Zero will give an adequate measure of the noise. Maybe it's necessary to measure at Full Scale (10V), with an appropriate, very quiet source.

I think it's better to make a proper definition of such a measurement setup and to put a little bit of investigation in that beforehand,   otherwise people measure wildly 'something', and you only get useless, contradicting data.
These measurements  can be checked against the instruments specifications, if latter one is done well.

Frank.
« Last Edit: April 11, 2015, 04:43:38 PM by Dr. Frank »
 

Offline TiN

  • Super Contributor
  • ***
  • Posts: 2939
  • Country: tw
  • Volt-bolt
    • xDevs.com
Re: DMM noise comparison testing project
« Reply #8 on: April 11, 2015, 04:59:03 PM »
That's exactly a reason, why suggested measuring zero and nothing else for now. Already changed topic name to avoid confusion of "ADC noise term" and "DMM noise".
Expecting people (who may have time to have DMM run overnight to collect data) to have quiet and stable 10V reference source (which as we know can be a challenge itself for hiend 6.5/7.5+digit meters) is a lot to ask. But copper wire and short is available everywhere.

As of range, yes, most accurate range will have less frontend switching/components on A/D signal path, but does not avoid problem altogether.

Adding extra ranges and different NPLC settings to comparison have simple purpose - to get more data between instruments. Also this will be rather indicative to overall performance people can see using meter, rather than purely scientific ADC-only noise, which is far less easy to measure properly. It would also have less meaning for most of us, since it's important to see what noise levels can be expected from instrument as a whole.

I bring this topic from a question of few members in 2001 repair thread, that their meters showing excessive noise after repair, and wondering if that was normal, or there is actually hidden issue.
Having raw data available will also let to do all different analysis, to anyone's liking. I think bell frequency occurrence histogram would be better and easier to represent noise performance as well. Will try to make some later.

Another thought is having multiple members run collect same data setup will work as guard band against measuring "something". As per simple statistics, multiple meter of same model doing same stuff should get pretty close in results. If members A, B and C get 100nV median figure, and only member D got 200nV then it's likely later one have some issues with setup. Checking against specs is another guard band too.
« Last Edit: April 11, 2015, 05:17:24 PM by TiN »
xDevs.com | Have test gear documentation to share? Upload here! No size limits, firmware dumps and teardown photos welcome.
 

Offline quarks

  • Frequent Contributor
  • **
  • Posts: 740
  • Country: de
Re: DMM Noise comparison testing project
« Reply #9 on: April 12, 2015, 03:04:59 AM »
bookmark
 

Offline lukaq

  • Regular Contributor
  • *
  • Posts: 75
  • Country: si
Re: DMM Noise comparison testing project
« Reply #10 on: April 12, 2015, 03:46:57 AM »
is it worth adding 34401a here?

Offline TiN

  • Super Contributor
  • ***
  • Posts: 2939
  • Country: tw
  • Volt-bolt
    • xDevs.com
Re: DMM Noise comparison testing project
« Reply #11 on: April 12, 2015, 03:50:22 AM »
Yes, why not. We can add any bench DMM to overall list.
xDevs.com | Have test gear documentation to share? Upload here! No size limits, firmware dumps and teardown photos welcome.
 

Offline Galaxyrise

  • Frequent Contributor
  • **
  • Posts: 522
  • Country: us
Re: DMM Noise comparison testing project
« Reply #12 on: April 12, 2015, 04:19:17 AM »
One of my Keithley 2000s.  "slow" speed, no filtering, 10V range, 1 hour and 4 days.  Data was rounded to microvolts.

« Last Edit: April 12, 2015, 04:21:03 AM by Galaxyrise »
I am but an egg
 

Offline ManateeMafia

  • Frequent Contributor
  • **
  • Posts: 648
  • Country: us
Re: DMM Noise comparison testing project
« Reply #13 on: April 12, 2015, 04:45:00 AM »
TiN,

Do you have a sample CSV file for reference?

I think I have the 2K1 working in EZGPIB, I just need to save the results in a format that has all the needed fields.
 

Offline TiN

  • Super Contributor
  • ***
  • Posts: 2939
  • Country: tw
  • Volt-bolt
    • xDevs.com
Re: DMM Noise comparison testing project
« Reply #14 on: April 12, 2015, 06:53:26 AM »
Galaxyrise
You have CSV or log data capture?

ManateeMafia
All CSV from my graphs are linked in first post.
xDevs.com | Have test gear documentation to share? Upload here! No size limits, firmware dumps and teardown photos welcome.
 

Online NANDBlog

  • Super Contributor
  • ***
  • Posts: 3607
  • Country: be
Re: DMM Noise comparison testing project
« Reply #15 on: April 12, 2015, 07:05:06 AM »
OK, I might add a few sample points, we have quite a few type of meter at work. In fact, I'm interested how well my designs are stacking up with some DMMs.
 

Offline ManateeMafia

  • Frequent Contributor
  • **
  • Posts: 648
  • Country: us
Re: DMM Noise comparison testing project
« Reply #16 on: April 12, 2015, 07:25:20 AM »
Got it.
 

Online macboy

  • Super Contributor
  • ***
  • Posts: 1669
  • Country: ca
Re: DMM Noise comparison testing project
« Reply #17 on: April 12, 2015, 07:32:17 AM »
TiN,

Do you have a sample CSV file for reference?

I think I have the 2K1 working in EZGPIB, I just need to save the results in a format that has all the needed fields.
Please post your EZGPIB code here. I can help you to test and debug it, and provide output formatting if needed.
Since the 2001 is a SCPI meter, the same code should work with little or no modification with other SCPI meters.
 

Offline ManateeMafia

  • Frequent Contributor
  • **
  • Posts: 648
  • Country: us
Re: DMM Noise comparison testing project
« Reply #18 on: April 12, 2015, 07:51:41 AM »
Will do here in a little while. I have been trying to clean it up and not embarrass myself (too much). It has been 20+ years since I even thought about Pascal.
 

Offline ManateeMafia

  • Frequent Contributor
  • **
  • Posts: 648
  • Country: us
Re: DMM Noise comparison testing project
« Reply #19 on: April 12, 2015, 08:34:03 AM »
macboy,

Attached is what I have written so far.

The list of improvements that probably should be made, besides cleaning up my horrible formatting is ...
1. Change format of date (universal format, 24hr time preferred)
2. I used 'SecondsBetween()' to speed up testing. Probably can be changed to 'MinutesBetween()'
3. I wanted to extract the serial number of the meter using *idn? but the result contained spaces and the EZGPIB_StringNthArgument() would not work with a comma delimiter. This is probably not that important of a feature. I wanted to use it for the filename or 2nd column name.
4. I have added lots of remarks, but it makes it a little difficult to read.

Any help would be appreciated.
 

Offline HighVoltage

  • Super Contributor
  • ***
  • Posts: 3427
  • Country: de
Re: DMM Noise comparison testing project
« Reply #20 on: April 12, 2015, 07:03:32 PM »
I had my 34461A running over night and this is the result:
- Manual 10V range
- Shortage through wires (Not a block)
- NULL set before data collection
- 100 NPL

I am not sure how meaningful the data is without the shortage block.
But it is about 8h of data
There are 3 kinds of people in this world, those who can count and those who can not.
 

Offline KedasProbe

  • Frequent Contributor
  • **
  • Posts: 460
  • Country: be
Re: DMM ADC Noise comparison testing project
« Reply #21 on: April 12, 2015, 10:53:05 PM »
1. Have to use interface to log data from meter, such as RS232 or GPIB/LAN.
Why? I don't see the problem using the internal memory and then save it to file. (assuming you have enough memory)


edit: csv attached, DM3068, Short, 2V range,100PLC, 10MOhm, auto zero on. (2 hours, step 4 sec, 1800 measurements)  stddev: 134nV

edit2 (file fixed)
« Last Edit: April 13, 2015, 12:46:10 AM by KedasProbe »
Not everything that counts can be measured. Not everything that can be measured counts.
[W. Bruce Cameron]
 

Offline TiN

  • Super Contributor
  • ***
  • Posts: 2939
  • Country: tw
  • Volt-bolt
    • xDevs.com
Re: DMM Noise comparison testing project
« Reply #22 on: April 13, 2015, 01:01:54 AM »
Quote
Why? I don't see the problem using the internal memory and then save it to file. (assuming you have enough memory)
That's fine too, I was just assuming that not much meters have USB interface to copy data. Keithley 2001/2002 for example don't have even RS232, only GPIB, even tho it can store data in NVRAM.

Quote
I am not sure how meaningful the data is without the shortage block.
If you used fresh clean copper wire with good contact, it should be no visible difference.
After you get shorting PCBs you could try that as well, if there will be any difference.

I will add new data to first post and page soon, was busy fixing another 2001  ;) Now I have three which can collect data for us.
xDevs.com | Have test gear documentation to share? Upload here! No size limits, firmware dumps and teardown photos welcome.
 

Offline ManateeMafia

  • Frequent Contributor
  • **
  • Posts: 648
  • Country: us
Re: DMM Noise comparison testing project
« Reply #23 on: April 13, 2015, 01:31:57 AM »
TiN,

I feel like I should get that last 2K1 fixed now just to keep up with you.

I am currently modifying the code for the non SCPI devices like the 3457A and 3458A. Hopefully macboy can do some tweaking on the original code and I can dump it into this one.
I have several (older) meters that I would like to get added including the HP 3456A, Flukes 8502A & 8506A, Solartrons 7061 & 7081, and Keithley 181. At least that is my wish list.

Any ideas about measurement settings would be helpful. There are a lot less settings on the older meters like filtering.
 

Offline Smith

  • Frequent Contributor
  • **
  • Posts: 327
  • Country: 00
Re: DMM Noise comparison testing project
« Reply #24 on: April 13, 2015, 02:05:05 AM »
I guess I'll give the 6517A a try if when I get the time. If I can get the software running I might also try the Keithley 2000's, 2700 and 2701.
Trying is the first step towards failure
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf