estimating the t.c. of my current shunts - Page 1
Forum section: electronics / general

author: Marcus_S
author_rank: Contributor
timestamp: April 18, 2017, 06:33:14 pm
content: Hi,searching for "The Ampere" at home I took some aluminium and a milling machine and made a simple housing for shunt resisitors (image_1 and image_2). I filled these casings with an Isabellenhütte PBH 1R0 1% and an Isabellenhütte Isaplan A-H2 0R1 0,1% (Manganin). And then I had to try to characterize them... Perhaps starting with the temperature coefficient? Not that easy if using a 6,5 digit multimeter. Keithley praises the current-reversal (delta-technique) for this purpose but I could find some application notes using this method only, no real-world measurement data. But I found a button "V1-V2" on my Keithley 2182... We will see what will happen...Therefore I started playing around connecting the multimeters with GPIB-cables and a Prologix-adapter and some "programming" using EZGPIB and doing some preliminary tests... After adding some additional cables and sensors and meters and some high-performance thermal insulation to the experiment it ended like shown in image_3...This can be understood much easier looking at mage_4... or image_5...The voltage at the shunt resistor was measured using the K2182. The K2182 was configured to 5NPLC, fixed range 10 mV, LSYNC off, heavy filtering: 100 values into the digital filter, delta measurement, 100 ms delay. The data were collected via GPIB. As I do not own a programmble current source I made such one using my K 230 voltage source and my 1 k "reference resistor" (which has a Dale RH 50 inside, measured t.c. = -0,75 ppm/K). The 230 was programmed to deliver +/- 10,00 V and was triggered by the VMCout of the 2182 (as necessary for delta-measurent). The moderate stability of the source might be the weakest point of this setup.The temperature control was done using a very simple home-made hot plate (2 pcs. 10R power resistors (50 watt) mounted beneath the aluminium plate). As the casing of the shunt is milled flat there is a good thermal contact between the hot plate and the DUT. The temperature at the heater was measured with a TEK DMM4050 using a Pt100. These data were fed into the programm and were used for the graphs and for temperature regulation: if necessary the program initiated 0.5 s heating pulses by commanding a Agilent 66332A power supply (connected vis RS232) which feeds the heater.An additional Pt100 was placed inside the boring of the shunt to monitor the temperature of the shunt using a Rohde&Schwarz UDL45 multimeter. This temperature was observed "off-line" as I needed the serial port for the 66332A. In steady state the offset T(shunt) - T(heater) was constant at 0,1 °C.And the room temperature was monitored offline ( as I run out of GPIB-cables) using a HP 3456A with a thermistor. The room temperature was held within (indicated) 22,7 °C +/- 0.2 °C by opening or closing the door...And these are the results:The first result (image 6): comparing the non-equilbrated setup without (first part) an with current reversal (second part). The setup was undisturbed, only the delta mode was switched on after 600 s by the program... OK, better to use the delta mode for further experiments.Then I examinded the Isabellenhütte PBH 1R0 (image 7a and 7b, two separate runs). These runs differed a little in the heating parameters. And from these data I decided to use the t.c. of 10 ppm/K in future.Seems to be easy. Then try a 0R1... The results are more noisy but I think that's acceptable in the nV region (image_8a and image_8b). From the data shown in image_8a I assume a dR/R = 32 ppm and a dT = 5 K leading to approx. t.c. = 6,5 ppm/K.The changes in resistance could be seen more clearly when performing larger temperature steps (8b). This graph gives something like t.c. = 5,5 ppm/K. Unfortunately EZGPIB crashed during the second experiment (8b at 5600 s). Therefore I had to restart the experiment quickly and I glued the parts together manually for graphing. No other corrections were made.My summary:- it's a lot of fun to try such an semi-automated experiment - much better than watching tv,- it seems to be a nice real-life test for the performance of the instruments,- it's not that complicated to control measurement instruments by EZGPIB and serial or GPIB-Ports, EZGPIB ist really easy and good for control via RS232 also,- the "program" might be useful for other experiments and can be modified easily,- current reversal technique will be advisable for such type of measurements,- it seems to be possible to do measurements in the 1 to 10 nV-region at home,- the measurements will give better results with a larger current, certainly. But I don't have a powerful programmable bipolar current souce or a good 100R resistor.- I have to add another meter to collect more data... e. g. the temperature of the DUT.- with some luck and filtering and close control of environmental conditions it seems to be possible to achieve a stability of around 2 to 5 ppm/h with a K230,- the t.c. of my current shunts can be assumed as 7 ppm/K (max.) for 0R1 and 10 ppm/K (max.) for 1R0 around room temperature. Not bad compared to the specifications of approx. 30 ppm/K (although the specs cover a larger temperature range),- this current-reversal technique might be usable for the transfer from 100R to 10R to 1R to 0.1R also? I have to make a 100R and a 10R to test this...- I have to gain some further experience before I will call this "a real measurement"...Best regardsMarcusP.S. In the meantime a third run of the 0R1 was completed without crash (image_9):to 1300 s forced cooling by fan,1300 s - wrapping the resistor with the towel2000 s - heating to 23 °C. Temperature difference to ambient too small, heat loss too small, bad regulation3700 s- heating to 25 °C. dR = 14 ppm5650 s- heating to 27 °C. dR = 11 ppm7600 s- heating to 29 °C. dR = 6 ppmIf over-interpreting these data (decrease in change of resistance with temperature) it might be possible to assume the parabola-like shape of the R(T)-curve as indicated in the datasheet.

author: TiN
author_rank: Super Contributor
timestamp: April 19, 2017, 04:23:24 am
content: Great start, Happy to see you enjoyed logging/programming. It extends functionality of the equipment far greater.I can't imagine testing anything without a little python snake here or there.Had some shunt measurements and tests while ago too, using calibrator or universal HP 3245A source as current generator. I've used older Keithley nanovolt-meter,Model 182M.Thread hereI quickly concluded for myself that offset compensation and current reversal are mandatory for low resistance measurements, not optional.Recently bought a 6221, but didn't have time to calibrate it and try for shunts measurement, but it's in my future plans.

author: Vgkid
author_rank: Super Contributor
timestamp: April 19, 2017, 05:39:42 am
content: Nice job. I have a bunch of newer and old(very) documentation relating to this.

author: tszaboo
author_rank: Super Contributor
timestamp: April 19, 2017, 02:02:26 pm
content: For sure, measuring shunt tempco is not easy. Makes it very hard, that a typical 34410A has 30ppm 24h stability on the 100mV range. When I was doing ppm level tempco measurements, I found the following very useful:Measure the thing cool down, not heat up. It is more controlled and slow.Do measurements when nobody is in the office.Have a bunch of Isabellehutte RUG-Z and a 3458A lying around. Of course if you want just one good shunt, it is not really necessary, we wanted a few thousand calibrated shunts.

author: Marcus_S
author_rank: Contributor
timestamp: April 19, 2017, 10:27:54 pm
content: Thank you very much for the comments. You read all the text? ;-)NANDBlog,the idea of doing the measurement during cooling is interesting. But then I don't have a good control of the thermal "quasi-equilibrium" and before doing such an experiment I have to get more convinced of the stability of the source.TiN,thanks for the links. I saw the thread and your article about the 182 before but I decided not to spoil your thread with this experiment.It would be very interesting to see some measurement data from your 6221 - I'm patient... And isn't your 2400 specified slightly better in the current source mode than the 6221? So the 2400 should do the job as a (fast?) bipolar current source also (as mentioned in the manual of the 2182). And it will be able to supply more current.As an addition: in a previous experiment some days ago I measured the t.c of the 1R0 with surprisingly good results by applying 100 mA current pulses by hardware-triggering a power supply (Keithley 2200-60-2 in current limited mode) in list mode by the VMCoutput of a K2000 (no need for a nanovoltmeter then...) as an offset-compensated measurement and doing the offset-compensation calculation by EZGPIB. The setup in principle was the same as above. I have to reproduce this carefully but as a preview of the results the image_10 might be good enough.Best regardsMarcus

author: TiN
author_rank: Super Contributor
timestamp: April 20, 2017, 03:00:30 pm
content: I'd expect 6221 have lower output noise than 2400 and also have better stability, as my tempco ramps are quite slow, 30-50 hours a run. I do both ramp up and ramp down to get better confidence when end points converge.I also haveAgilent 4142Bwith MPSMU but its too noisy(sound wise) beast to run 24/7.Sent from my One using Tapatalk

author: e61_phil
author_rank: Frequent Contributor
timestamp: April 20, 2017, 03:08:11 pm
content: What do you think about a reference resistor and a multiplexer? If neccessary one can thermally stabilize the reference resistor. If doing so only the short term stability of the current source and the voltmeter will matter. The additional offsets of the multiplexer are compensated due to the offset compensated measurement anyway.

author: Kleinstein
author_rank: Super Contributor
timestamp: April 20, 2017, 05:17:00 pm
content: With two shunts, the obvious way would be to compare the two shunts, having one at constant temperature and the other one doing temperature steps. Using a multiplexer and isolated current source with a relay for current reversal should solve the offset problem to a large extend.

author: Marcus_S
author_rank: Contributor
timestamp: April 20, 2017, 09:29:28 pm
content: TiN,OK, thanks. I hope you're right... 50 hours, ooooh! So I will stick to the step-measurement-procedure in the future as I do not like to open and close the door for 50 hours...e61_phil,Although I think that the short time stability is not that bad (less than 5 ppm/3000s with some luck, see image_9) I hope that the ratiometric method will work. Using the delta method for ratiometric measurements is exactly what I intend to try for estimating the resistive value of the shunts (starting from 1k or 10k). And before thinking about multiplexers... I found a nice switch in the drawer and so I will start multiplexing manually... I will test this, be patient.Best regardsMarcus

author: Marcus_S
author_rank: Contributor
timestamp: May 19, 2017, 08:05:41 pm
content: Hi,in the meantime I played around repeating the offset-compensated measurements using a power supply as a current source.The setup is somewhat similar as before:The K2182 was used as voltmeter and a Keithley 2200-60-2 programmable power supply was used as source in step (=triggered) list mode. The K2182 triggers a Philips PM5712 pulse generator which triggers the K2200-60-2. This is for stretching the VMC pulse to some millseconds as the pulse width is too small to trigger the power supply.Starting with low ( I = 0 A) current the K2182 is initiated by EZGPIB via GPIB to do a measurement with a trigger delay of 500 ms. The meter takes 25 low values and calculates the average. When ready K2182 triggers the K2200-60-2 which is used as a current source (20 V, current limit 0 mA or 1000 mA, list mode) to switch to high to supply current to the shunt under test. EZGPIB triggers the meter via GPIB to do the high measurement. After a delay of 500 ms the K2182 takes 25 high values and calculates the average and triggers the K2200-60-2. And so on. EZGPIB calculates the difference hi - lo as the measurement value and does some averaging. By this procedure every two seconds a measurement value was taken.The temperature of the heater was measured using a Pt100 and a TEK DMM4050 as before. The data are transmitted to EZGPIB to control the temperature programming the output of the HP66332A which drives the heater in short pulses during every measurement cycle.Additionally the HP3456A + thermistor measures the temperature of the shunt und the K2000 monitors the temperature of the casing of the K2200-60-2 using a diode as sensor.It was essential to keep the measurement rate constant within 0,1 s as this influences the thermal equilibrium of the power supply (changes from 0.5 measurements /s to 0.25 measurements/s gave a change of approx. 5 ppm in current). After modifying the code and adjusting some parameters of the EZGPIB-script the result looks like fig. 11 (grey: raw data, blue: moving average of 10 raw values, green: during this time heating pulses are sent to the heater, purple: temperature signal of casing of the "current source", red: temperature of shunt under test, dark red: temperature of heater).The results are somewhat similar to the results shown in fig. 9 above:25 °C to 27 °C ~ 12 ppm TK ~ 6 ppm/K27 °C to 29 °C ~ 9 ppm TK ~ 4,5 ppm/K29 °C to 31 °C ~ 4 ppm TK ~ 2 ppm/KI am happy with this experiment as the K2200-60-2 seems to be surprisingly stable when being used as a current source (when being warmed up for at least 3 hours and being operated in constant ambient conditions). The current noise of this item seems to be lower than the current noise of my 66332A. Therefore it might be useful as a (pulsed) "power" current source for offset-compensated measurements as well as a current source for poor-man's DC current calibrations.And finally I modified the setup a third time and I substituted the K230 + 1K resistor or the K2200-60-2 by a Keithley 220 programmable current source.When applying +/- 60 mA in delta mode the results (fig. 12) look acceptable, I think. Is it allowed to call this "a measurement"?Best regardsMarcus