Friday, September 21, 2018

What is better than 6½ digits DMM : 8½ digits DMM :-)

In my previous post I mention than I would like to buy an 8½ digits metrology grade DMM. The options were HP/Agilent/Keysight 3458a, Fluke 8508A, Datron 1281/1271 and Advantest 6581. Even as second hand, they cost several thousand USD. Finally I bought Advantest R6581T which is part of Advantest 2000 ATE system. It is not metrology grade DMM, but in the sub 2K USD range this is the only 8½ digits alternative.
I received the R6581T DMM today and fortunately I got yesterday also my first calibration protocol for my LTZ1000 based voltage reference from the Bulgarian Metrology Institute (it is in Bulgarian Language, but in the table is shown the value and the expanded uncertainty : 2.2 ppm). The DMM was turn on several hours ago and for now shows less than 1ppm difference from the calibrated LTZ1000 Voltage reference.

 

I will need time to make DMM performance tests like Linearity/TCR/Drift/Noise/Input resistance and also DIY GPIB hardware/software to get result in automatic way. For now I only made noise test and it shows around 0.1 uV RMS and 0.5uV Vp-p on 10V range with AZero On/100PLC. I read the eevblog.com forum thread about the TCR/Linearity problems about this model and I hope that performance is not so bad.
I checked that the R6581T has also DCV ratio function and RTD temperature measurement which is good feature to have.
I'm almost ready with my 10K Reference Resistor and together with the 10V Voltage reference I can use them for R6581T calibration. This will save me a lot of money for calibration services.
  

Friday, June 29, 2018

Calibration tools part 1 : Selection of DMM

Last 6 months I was busy to collect and to make some calibration tools. Because of this I was not able to update the blog and to make progress on my multimeter schematics and layout. Not sure even will I have enough time to finish it till end of this year.

So, at the end of March I bought a second hand HP 34401a 6½ digits DMM with idea to use it as my temporary primary DMM for calibration of my open source mutlimeter, evaluation of the LT2440 linearity and to have something better than my 3½ digits KEW 1012 DMM. Temporary, because my goal is to have for that task 8½ digits metrology grade DMM. I'm still looking into the ebay.com for affordable second hand HP 3458a or Advantest 6581. I prefer the 3458a/6581 because they can be adjusted only with 10V Voltage and 10KOhms resistance references. Hope that till end of this year I will have a metrology grade DMM.

I think that the HP 34401a DMM was the best for the money which I spent. I bought from UK based seller for 245GBP + 15GBP shipping which cost me 306 EUR (~363USD). For that money I got :

- 6½ digits DMM with possibility to extract the 7th digit from the RS-232/GPIB interface/Min-Max statistics if the unit has low noise.
- Mechanically switched two inputs (front and rear).
- 2 ppm linearity, which in the reality is better that 1 ppm based on shared eevblog tests of member Dr. Frank. May be this is based on the fact that design of HP 34401a was based on HP 3458a which has defacto the best linear ADC in the world. Recently Keysight seems made the same trick again with releasing HP 34470a (7½ with LTZ1000) and HP 34465a (6½ with LM399) which share almost the same main PCB, but have different daughter boards with the voltage reference.
- around 3-4x money saving if I would like to buy a new 6½ from Keysight/Tek/Fluke/Rigol/Siglent. 
- may be the worst user interface :-), but I had idea how to improve it.
- 22 years old DMM which was produced somewhere in 1996 based on IC and transformer date stamps. This give very stable voltage reference and indeed initial measurements shows about 3 ppm difference regarding calibrated (within 3 months) Keithley 2002 for 10V range using the 2.5 LTC6655 and 7V LTZ1000 references. For resistances I got between 104-143ppm difference for 100R/1K/10K/100K ranges using Vishay sealed Z-Foil resistors as references. I was able to adjust the resistance ranges and now they have few ppm difference with calibrated Keithley 2002.


The last calibration of this unit was in December 2005 year (12.5 year from now). Which was very impressive for me. By spec the 1 year relative accuracy of the 10V range is 35 ppm and 1 year relative accuracy of 100R/1K/10K/100K is 100 ppm. Now my HP 34401a have absolute uncertainty below 13 ppm for the reading and 0.65 ppm for the range based on the following data:
-> HP 34401a relative accuracy of 3 ppm regarding the Keithley 2002 for 10V range measured in 2.5V and 7.16V points using 100 NPLC, High input resistance, 5 minute period, average value from statistics, 23 +/- 2°C accuracy.
-> The relative accuracy of the Keithley 2002 : 6ppm reading + 0.15 ppm range for 10 PLC + 10DFLT for 3 month period.
-> the absolute uncertainty of the used calibrator Fluke 5720a : 4 ppm reading + 5 uV range for 1 year period.

HP 34401a remote control

To get data from the HP34401a can be used RS-232 or GPIB interface. I do not have GPIB card, so the only way was to use the RS-232 interface. There are 2 ways to get measurements results:
- Talk mode using HP-IB address 31 (Menu->IO->HP Address) and connecting the HP34401 to the computer with USB to RS-232 cable. Used pins from the RS-232 port of the HP34401a are 2 (Rx), 3 (Tx), 5 (GND) and 6 (DSR). They have to be connected to the USB/RS232 cable by the following way:


DMMRXTXDSRGND
Pin2365
USB to RS-232TXRXDTRGND
Pin3245

RS232 setting are performed via the front panel (RS232/8bit/2stop/No parity) and using Cutecom application under Ubuntu 14.04, the measurements results can be saved into a file.

- Full remote control mode using HP-IB address different than 31 (I'm using number 30). In this mode the full control of the DMM functionality is possible via SCPI language. However to make this possible was not so easy. I was not able to find any information in the Internet about this and It took me almost two weeks to figure out how to make it. I used all available technical documentation from HP and my Siglent SDS 1202X-E scope which was very helpful in this case.
If computer with USB to RS-232 cable is used, the same connection as the talk mode between the multimeter and the computer should be done. After setup of the RS-232 settings from the front panel, command SYST:REM have to be send via cutecom or other RS-232 terminal application.



If microcontroller with Max-3232 board is used for connection to the DMM, the following connection have to be done:
Connect Rx pin of the microcontroller to the Tx of the MAX3232 board and Tx pin of the microcontroller to the Rx of the MAX3232 board.
Connect MAX3232 pin1 (7V) to pin 6 DSR of the DB9.
Do not connect DTR 4 pin from Max-3232 to DSR pin 6 to DMM.
The last 2 changes are coming from the HP 34401A UserGuide page 151:
"To disable the DTR/DSR handshake, do not connect the DTR line and tie the DSR line to logic TRUE. If you disable the DTR/DSR handshake, also select a slower baud rate (300, 600, or 1200 baud) to ensure that the data is transmitted correctly."
But in fact 9600 baud rate worked fine.
After setup of the RS-232 settings from the front panel, command SYST:REM have to be send via cutecom or other RS-232 terminal application. This will enable the remote control mode.



With the full SCPI remote control, the HP 34401a can be improved significantly :
- Using microcontroller with external display and buttons can make better user interface than the old one made around 30 years ago. Buttons can be made for shortcuts to Slow 6 digit mode (NPLC 100 + AutoZero) , DISPLAY OFF, High/Low input resistance, showing 7 digits if the noise of the DMM is low, statistic information like Min/Max/Standard deviation/ppm difference from given reference value, very accurate temperature measurement using RTD PT100 sensor. If the VFD display is very dim or partially broken, this can save the HP 34401a from the dumpster as well.

- Using WiFi based microcontroller, environment sensors and micro SD card,  complete automatic test equipment station can be done. I already started to work on this and using ESP 8266 I was able to make HTTP Server which control some of the DMM settings and store measurement and sensors data into micro SD card for post analyses.

The noise

The first measurement which I made was for the noise floor of the HP 34401a. With this measurement I hoped to use the 7th digit which can be extracted from the RS-232 interface. According Agilent's document named "Understanding Reading Accuracy and Resolution in a 6 1/2-Digit DMM" the effective number of digits can be calculated for 68.3% probability as follows:
           Digits = Log10( PositiveOverRange / StandardDeviation of the noise)
For 99.7% probability the formula is:
           Digits = Log10( FullScale / Peak-Peak of the noise)
The range which I'm interesting is the 10V, which have 12V overrange. 7 digits on this range means that my HP 34401a should have noise less than 1.2uV measured with standard deviation and less than 2.4uV measured as peak to peak value. 

I made several measurements in different days which last for at least 8 hours and based on the collected data I'm confident that exact this unit can use the 7th digit. The tests were performed under the following conditions : shorting inputs in 10 V range, 10 GOhm input resistance, with 100 NPLC and AutoZero enabled (Slow 6 digit mode which duration is 4 seconds). I got near 74% of the samples below the 2.4uV threshold and near 95% of the samples were under 3uV which is 6.9 digits. Using standard deviation for 1 sigma confidence the result was 7.3 digits. Here are the data:


Percent of measured samples Peak to Peak thresholds / stdev Digits Sigma delta Based on:

 0.56-0.62uV stdev 7.3 1 STDEV calculation
73.9-76.4% <2.4uV 7.00 1 Vp-p measurements
94.4-95.8% <3uV 6.90 2 Vp-p measurements
98.2-99.7% <3.6uV 6.82 3 Vp-p measurements
<2% >3.6uV up to 4.3uV 6.75
Worst case : max noise


In ~75 % of the measurements, the last digit will fluctuated by +/- 1 digit due the noise (+/- 1.2uV, 2.4uV peak to peak). This is equal to 7 effective digits.
In ~95 % of the measurements, the last digit will fluctuated from +/- 1 digit to +/- 2 digit due the noise (+/- 1.5uV, 3uV peak to peak). This is equal to 6.9 effective digits.
In ~99 % of the measurements, the last digit will fluctuated by +/- 2 digit due the noise (+/- 1.8uV, 3.6uV peak to peak). This is equal to 6.82 effective digits.
In the worst case of less than 2% of the samples, the noise will reduce the effective number of digits to 6.75.
The minimum measured value was -4.1uV and maximum was 0.2uV, min-max difference is 4.3uV and average value was -2uV.

Thursday, December 21, 2017

Current measurement : Schematics, breadboaring and test results (Part 3)

I started current measurement testing based on Microchip application note 1332 named "Current Sensing Circuit Concepts and Fundamentals". In this document are described in details all advantages and disadvantages for the current sense schematics. Another source for schematics can be found in the site eetimes.com. It shows current sense schematics using simple op-amp, difference amplifier, instrumentation amplifier and current shunt monitors. 

Finally I decided to make first breadboarding with instrumentation amplifier schematics:


This schematics have the following advantages:
- Can be used in both low and high side current measurements.
- No resistive loading effect.
- High Common mode rejection ratio. 
- Possibility to decrease offset error with applying small voltage in the reference pin after the R7 resistor. 

The disadvantages are:
- Decreased common voltage range, limited to voltage supply of the used operational amplifiers and the input sense voltage drop over the current shunt. But if high voltage op-amps are used like LTC2057 (+/-30V) this is not a problem at all.
- Higher cost due usage of 3 op amps and matched resistors.

I started breadboard testing with 3xLTC2057 and matched resistor networks LT5400 9K/1K and 100K/100K (10K is better for low noise, but I did not had at the time of the tests):


The gain 10 of the instrumentation amplifier was implemented in the first high impedance buffers using LT5400-8 9K/1K resistors. The formula for the gain is 1+2*Rf/Rg. The Rg resistor is 2K, connected in serial 2x1K resistor. 

The reference pin was connected to GND. This cause ~ 20-30 uV offset error on floating inputs. Using Keithley 2000 DMM relative function, offset was zeroing as much as possible, but there was noise in the 1-2uV range.

As voltage reference I took the 5V ADR395 5V which was used in my post for testing bipolar input with LTC2440 level shifting. For generation of the reference currents, I used several Vishay resistors with low temperature coefficients. The values were 1K, 2.5K, 5K, 10K, 100K which I used in combination to generate from 5mA to 1.66uA reference current. I was not able to test with more than 5 mA, because of current limit of the ADR395 reference.

I put a small flexible cover over the chips to avoid air flow which can cause significant errors in uA range:



I bought 0.1 Ohms Multicom model MC14715 resistor (~100ppm TCR) which was with 2 terminals only. I soldered two additional copper wires near to the lead exit to decrease measurement error:
Without these 2 additional terminal, I got about 2 times bigger error.

I used Keithley 2000 DMM for the measurement with the internal 1024 samples buffer with slow rate (10 NPLC) and offset reset using the relative function.  There are some statistic information which can be obtained from the buffer like mean value, standard deviation, min and max value.

The results are the following:
- About 200 ppm error in the mA range when compare with the calculated current value. The mean value from the DMM buffer was used. I think that this is an op-amp offset error and can be calibrated easy.
- About 500-1000 ppm error in the uA range when compare with the calculated current value. The mean value from the DMM buffer was used. I think increased error is due not real 4 sense terminal of the shunt.
- Stable 10uA resolution, but I can not get stable 1uA resolution due the noise. Noise level was between 3 and 6 uV. Here I expected less than 3uV noise due ~1uV noise from the DMM and gain 10 * 0.2uV LF noise of the LTC2057 and ~ 1uV from the 100K resistor in the difference op-amp stage. I will make later a small prototype PCB to check if this noise is coming from the breadboard. One possible modification is to use gain 1, but at the end of the instrumentation amplifier to use low noise level op amps with gain 10 like LT6018, LT1028, LT1007.
- Standard deviation was between 590 and 680 nV.

Wednesday, December 20, 2017

Current measurement : Selection of the current ranges, shunts and fuses (Part 2)

Initially I thought to have 5A (1mA resolution) and 1mA (1uA resolution) ranges with 0.02 mV/mA burden voltage. This is fine for 3.5 digits DMM, but after few months of research and results from testing with the breadboard, I decided to revisit the resolution with better ones. In result, the burden voltage will be increased, but will be not greater then the DMM on the market.

To keep things simple, I decided to make research only for 2 current ranges with 2 separate binding posts. I was not able to find suitable relay with low contact resistance, low leakage and high current which to allow usage of a single binding posts for both ranges. The first range will be from 1uA to 2A (mA/A range) with 0.1 Ohms shunt and the second will be from 1nA to 2 mA (nA/uA range) with 100 Ohms shunt. For the first DMM PCB prototype only the mA/A range will be implemented.

The 0.01 Ohms shunt is ideal for 2A range due low burden voltage, but I choose 0.1 Ohms resistor due the following reasons:
- I was not able to find a very fast acting fuse, which have specified resistance for nominal current less than 0.1 Ohms. If the shunt is less than 0.1 Ohms, the voltage drop will be determined by the fuse instead of the shunt. Most of the fuses, specified the cold resistance when 10% of the nominal current is used.
- This the the minimum value, which can give 1uA resolution with gain 10 amplifier for 6.5 digits voltmeter. If the shunt is 0.01 Ohms, gain of 100 is required to have 1uA resolution, but in this case ultra low noise op amp are required, which will cause bigger bias current and/or input voltage offset.

I found the following available 0.1 Ohms shunt resistors in the market:

ParametersVCS1625P/Y0856VCS1625/Y08500VCS301/2VCS202/Y0941VFP-4/Y0734
Maximum load life 2Kh, ppm250400500500500
Typical load life 2Kh, ppm150200200200N/A
Maximum TCR ppm/°C20 ppm/°C20 ppm/°C3 ppm/°CN/A25 ppm/°C
Typical TCR ppm/°C2 ppm/°C2 ppm/°CN/A15 ppm/°C2 ppm/°C
Maximum current5A5A15А15А3A
Power rating (free air/heatsink)1W0.5W3W/10W2W3W/10W
Price12.5 USD12.1 USD36.62 USD41.75 USD69.34 USD

All of them are made by Vishay Precision Group and they are available in single quantity from Mouser, Digi-key and Avnet.

Note that sub-ohm shunt resistor must have 4 wire connection to reduce the measurement error with elimination of the lead and contact resistance.

The specified maximum load life (accuracy) is for 2000 hours uninterruptible working at power rating and 25°C or 70°C depends on the model. When the DMM is not used continuous or the measurement current is less than the maximum, these values are several times less. I was not able to find such data for Vishay current sense resistors, but in the datasheet of the PCR series from Riedon is shown that the accuracy can be increased 5 times (from 0.5% to 0.1%) if the current sense is used at 60% from the rated nominal power. So may be it make sense to select a current sense resistor with the maximum power rating and to use it in lower current then the nominal. Also using heat-sink can lower the the resistor's temperature, thus the load life can be improved.

I think that the best price-quality ratio is the VCS1625P series. It will have sub 500 ppm accuracy for one year (5 days/8 hours working condition) when it is used in 10°C temperature window. The maximum current is 5A, which can allow to use high rating fuse with less resistance. The maximum power for the 2A range will be 2*Imax*Rshunt = 2*2*0.1 = 0.4W which is in the range.

The next thing is to select the fuse for mA/A range. I looked for very fast acting, low resistance fuse in the A range. Most of datasheets have values only for the cold resistance (10% of the rated current). Only for EATON Bussmann series I found fuse resistance values when nominal current is applied, which they called: "typical voltage drop measured at 25°C±3°C ambient temperature at rated current". For the 5A maximum current of the VCS1625P shunt, according the Time-Current curve chart, using GBB-2-R model (2A rate current), the fuse will break in 50ms when 5A current is applied. By this way it is guarantee that the shunt will be not overloaded with more than the nominal current value and the shunt accuracy will not exceed the datasheet value. The cold resistance of the GBB-2-R is 0.0662 Ohms, the resistance for nominal current is 0.1687 Ohms. Combined with shunt resistor, the input DMM resistance for current measurement will be 0.16632 Ohms for <0.2A and 0.2687 Ohms for >0.2A and <2A. This does not include the connecting wires, PCB trace and binding post resistances. Probably the final burden voltage will be 0.2 mV/mA for <0.2A and 0.3 mV/mA for > 0.2 A. One alternative is the Littlefuse 459 Pico series 2A model. It will break in 20ms when 5A current is applied. Unfortunately datasheet only specified the cold resistance which is 0.0468 Ohms, which is less than the Bussmann series.

Both EATON (DMM-B) and Littlefuse (FLU) have fuse series for DMM usage, but in the specification files, there is no information about the fuse resistance.

For the uA/nA range I choose 100 Ohms shunt resistor. It will generate 0.1uV voltage drop for the 1nA current, which again should be multiplied by 10 to get 1uV minimum resolution. For this range, the fuse resistance is not so much important, due high value of the shunt resistor. 



Tuesday, December 19, 2017

Current measurement : The accuracy challenge (Part 1)

The current measurement seemed very easy task for me in the beginning. I thought that measuring voltage over low resistance shunt is piece of cake. Later, I realized that this is not true : it is really a challenge and the market prove it. I found only 4 DMM, which have less than 500 ppm relative accuracy per year in the A/mA/uA range (with one exception : 2A range for Keithley 2002). 
These are: Fluke 8508A, HP/Agilent/Keysight 3458A, Transmille 8081 and Tek/Keithley 2002. In the table below, the accuracy specification for one year is show:

DCI rangesRelative accuracy to calibration standard, ± (ppm reading + ppm range)
*not all ranges are showFluke 8508A
(95% confidence)
Transmille
8081
Keysight
3458A
Tek/Keithley 2002
100/200 uA6.5 + 27 + 420 + 8350 + 25
1/2 mA6.5 + 27 + 420 + 5350 + 20
10/20 mA8 + 29 + 420 + 5350 + 20
100/200 mA33 + 430 + 635 + 5375 + 20
1/2 A170 + 8150 + 13110 + 10750 + 20

According the datasheets, the most accurate current measurement can be done with the Fluke 8508A and Transmille 8081 DMM, following by the Keysight 3458A and Keithley 2002. 

The rest bench-top DMM on the market have accuracy starting from 500 ppm and can finish to 1500+ ppm accuracy for the reading.

The accuracy of the current measurement depends on the:
- Value/stability/TCR of the shunt resistor
- The CMRR/Vos/Vos∆Time/Vos∆Temp/OpenLoopGain/GainError∆Temp of the used operational/instrumental/differential amplifiers in the current measurement schematics.
- Matching resistors tolerance/TCR for the differential operational amplifier.

So a lot of factors contribute to the current measurement accuracy and trade-off has to be made. May be the biggest trade-off is the value of the shunt resistor. For bigger current ranges, the value should be in the sub-ohms range for decreasing the power dispersion. But there are not too much resistors in the sub-ohms range which have let say less than 100ppm per year stability. For example the 0.5 Ohms resistor from Vishay series Y1690 have typical 50ppm load life for 2K hours. However the trade-off is the availability and the price: there is minimum order quantity of 500 pcs, which cost ~7K+ USD. 

If a bigger value of the shunt resistor is selected, the stability and the availability are better, but the trade-off is the parameter which can be critical for some type of circuits under measurement. This parameter is called "Burden Voltage" and it is the voltage drop caused by the DMM in the measurement circuit. It should be kept as low as possible. The voltage drop of the DMM includes :
- the voltage drop in the cables from the circuit under test to the main DMM PCB.
- the voltage drop in the shunt resistor.
- the voltage drop in the fuse, which vary with the current amount.

I will give an example, how the burden voltage can be a blocker issue. In the example I will use the internal idle power consumption for the Xilinx Spartan 6 FPGA. The power supply voltage Vccint of the FPGA core have nominal value of 1.23V, but if the value drop below 1.2V, the FPGA can stop to work. That means that no more than 30 mV should be the burden voltage of the DMM used for measurement. The quiescent Vccint supply current (idle current) of the Spartan 6 LX150 is 51mA and lets check if we can measure it using these high end DMM:
- The Fluke 8508A have 1.2 Ohms input impedance for 200mA range, which will generate 61.2mV voltage drop. But using 2A range with 0.3 input impedance this will generate only 15.3mV voltage drop.
- The Transmille 8081 have 10 Ohms input impedance for 200mA range, which will generate 510mV voltage drop. But using 1A range with 0.5 input impedance this will generate only 25.5mV voltage drop.
- The Keysight 3458A have 10 Ohms shunt resistor for 100mA range, which will generate minimum 510mV drop voltage (without voltage drop over the fuse). For the 1A range, the shunt resistor is 0.1 Ohms, which will generate 5.1mV voltage drop.
- The Keithley 2002 have maximum burden voltage 0.35V for the 200mA range. The burden voltage for 51mA is : 0.35V*(0.051A/0.2A) =  0.08925 V which exceed the maximum allowed voltage drop with ~40mV. But if the 2A current range is used, the maximum burden voltage is 1.1V, which will generate 28mV voltage drop which is in the 30mV range limit (1.1V*(0.051A/2A) = 0.02805V).

Given examples above shows, that in mA ranges the voltage drop can be blocker issue, but using the A range, user can measure the idle current for the Xilinx Spartan 6 FPGA. These examples are not only valid for the mention high end DMM, but also for the low and middle class DMM.

One workaround for the burden voltage issue is the uCurrent™ product made by Dave Jones from eevblog.com. It is an adapter, which use lower shunt values and amplifies the voltage drop. Here the trade-off is the missing current protection.