Electronics > Metrology

DMM Noise comparison testing project

(1/125) > >>

TiN:
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 NPLC200mV       +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: ---: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

--- End code ---

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


--- Code: ---: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

--- End code ---

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.

opa627bm:
RAWR,
I have one 7/1/2 keithely nanovolt meter.
How to collect it's noise?

dom0:
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

Marco:
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.

TiN:
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: ---: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

--- End code ---

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


--- Code: ---: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

--- End code ---

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" :)

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod