Progammable Decade Resistor: Calibration results

In one of the previous posts I covered in depth, how I use the term “calibration” in the context of the programmable decade resistor and how the calibration procedure works. Today it’s all about the result.

Also, I’d like to mention the first post in which I defined a rather loose accuracy goal of \(\ll\pm 0.5\% \textrm{ of value} + 0.3 \Omega\). In reality, I expect the device to be much, much better than this. Nevertheless, I will still compare the results to these limits.

Automated “adjustment”/calibration setup

The table will specify the following columns:

  • Applied value: Value applied to the input for checking the calibration
  • Calculated value: Estimation of the actual resistance, based on the previous “adjustment” procedure
  • Indicated value: Measurement taken
  • Min: Minimum value according to accuracy goals
  • Max: Maximum value according to accuracy goals
  • Deviation: Deviation between indicated value and applied value in percent
  • Result: “PASS”, if within [Min, Max], else “FAIL”
  • Deviation Calc. to Ind.: Deviation between Calculated value and Indicated value

First, we start with the four-wire measurement:

Applied value
(\(\Omega\))
Calculated value
(\(\Omega\))
Indicated value
(\(\Omega\))
Min
(\(\Omega\))
Max
(\(\Omega\))
Deviation
(\(\%\))
ResultDeviation Calc. to Ind.
(\(\%\))
00.0790.0700.0000.300PASS-11.5278
11.0621.0520.9951.3055.2383PASS-0.9056
22.0802.0741.9902.3103.7170PASS-0.2721
33.0593.0522.9853.3151.7271PASS-0.2349
44.0804.0733.9804.3201.8132PASS-0.1832
55.0595.0504.9755.3251.0041PASS-0.1738
66.0806.0725.9706.3301.1936PASS-0.1379
77.0597.0496.9657.3350.7020PASS-0.1397
88.0788.0697.9608.3400.8623PASS-0.1116
99.0569.0478.9559.3450.5178PASS-0.1037
1010.12210.1089.9510.351.0764PASS-0.1418
2020.13220.12319.9020.400.6164PASS-0.0433
3030.11930.10729.8530.450.3557PASS-0.0408
4040.13540.12539.8040.500.3127PASS-0.0248
5050.12150.10949.7550.550.2172PASS-0.0248
6060.13060.12059.7060.600.2001PASS-0.0166
7070.11570.10369.6570.650.1478PASS-0.0165
8080.12680.11679.6080.700.1446PASS-0.0129
9090.11190.09989.5590.750.1101PASS-0.0132
100100.074100.06199.5100.80.0609PASS-0.0131
200200.012200.003199.0201.30.0014PASS-0.0046
300299.899299.891298.5301.8-0.0363PASS-0.0026
400399.863399.860398.0402.3-0.0351PASS-0.0008
500499.750499.748497.5502.8-0.0504PASS-0.0004
600599.639599.639597.0603.3-0.0602PASS0.0000
700699.525699.527696.5703.8-0.0676PASS0.0002
800799.439799.440796.0804.3-0.0700PASS0.0002
900900.309900.310895.5904.80.0345PASS0.0002
1k1000.2001000.1619951005.30.0161PASS-0.0039
2k2000.3842000.27619902010.30.0138PASS-0.0054
3k3000.2743000.13629853015.30.0045PASS-0.0046
4k4000.6714000.60539804020.30.0151PASS-0.0016
5k5000.5495000.47149755025.30.0094PASS-0.0016
6k6001.0786001.05659706030.30.0176PASS-0.0004
7k6999.1756999.09469657035.3-0.0129PASS-0.0012
8k7999.0437998.95879608040.3-0.0130PASS-0.0011
9k8999.1478999.08389559045.3-0.0102PASS-0.0007
10k9999.0139998.949995010050.3-0.0105PASS-0.0006
20k20000.47820001.2051990020100.30.0060PASS0.0036
30k29999.94829999.1992985030150.3-0.0027PASS-0.0025
40k39999.50139998.6173980040200.3-0.0035PASS-0.0022
50k49999.60849998.7654975050250.3-0.0025PASS-0.0017
60k60000.08459999.3675970060300.3-0.0011PASS-0.0012
70k70000.32070000.3726965070350.30.0005PASS0.0001
80k79999.71779999.6357960080400.3-0.0005PASS-0.0001
90k90000.13390000.0608955090450.30.0001PASS-0.0001
100k100000.33999999.99499500100500.30.0000PASS-0.0003
200k200000.358200001.770199000201000.30.0009PASS0.0007
300k300000.139300004.140298500301500.30.0014PASS0.0013
400k399999.623400007.160398000402000.30.0018PASS0.0019
500k499999.515500009.000497500502500.30.0018PASS0.0019
600k600000.241600015.190597000603000.30.0025PASS0.0025
700k699999.739700015.190696500703500.30.0022PASS0.0022
800k799999.769800017.240796000804000.30.0022PASS0.0022
900k900000.234900018.830895500904500.30.0021PASS0.0021
Calibration results for four-wire measurement

As expected, the programmable decade resistor stays well within the original spec. At the lower end there is some significant deviation, mostly caused by the relay contact resistances, trace resistance and so on. At the upper end, the performance is fairly impressive and shows how well the algorithm described in this post actually works. Also, the estimation of the actual resistance (that is shown on the display) is very close to the measured value. But what about values that weren’t used in the “adjustment” process? Glad you asked:

Applied value
(\(\Omega\))
Calculated value
(\(\Omega\))
Indicated value
(\(\Omega\))
Min
(\(\Omega\))
Max
(\(\Omega\))
Deviation
(\(\%\))
ResultDeviation Calc. to Ind.
(\(\%\))
1515.10215.09014.78515.2150.5977PASS-0.0817
1616.12316.11215.78416.2160.7003PASS-0.0679
723722.505722.509722.077723.923-0.0680PASS0.0005
854853.429853.431852.946855.054-0.0666PASS0.0002
1234512344.54512344.71812332.45512357.545-0.0023PASS0.0014
3456734566.71934565.32534532.23334601.767-0.0048PASS-0.0040
5643256431.78756430.31556375.36856488.632-0.0030PASS-0.0026
123456123455.769123456.800123332.344123579.6560.0006PASS0.0008
456789456788.710456790.540456332.011457245.9890.0003PASS0.0004
Calibration results for some “random” values in four-wire measurement

This, of course, is only a small sample, but it is in accordance with the results shown above. So I have nothing to complain here. In fact, the calibration would have easily passed the spec of \(\ll\pm 0.1\% \textrm{ of value} + 0.2 \Omega\) for the tested values, however with some questions about repeatability and untested values.

Python script for automation (pyvisa, SCPI)

Next up without any further comments is the two-wire measurement:

Applied value
(\(\Omega\))
Calculated value
(\(\Omega\))
Indicated value
(\(\Omega\))
Min
(\(\Omega\))
Max
(\(\Omega\))
Deviation
(\(\%\))
ResultDeviation Calc. to Ind.
(\(\%\))
00.0870.10300.300PASS18.5034
11.0611.0840.9951.3058.4460PASS2.2111
22.0852.1061.9902.3105.2880PASS0.9956
33.0663.0822.9853.3152.7392PASS0.5276
44.0874.1043.9804.3202.5987PASS0.4147
55.0685.0814.9755.3251.6152PASS0.2518
66.0886.1025.9706.3301.7009PASS0.2309
77.0687.0796.9657.3351.1332PASS0.1603
88.0888.1027.9608.3401.2708PASS0.1690
99.0679.0798.9559.3450.8744PASS0.1290
1010.13710.1419.9510.351.4102PASS0.0397
2020.14720.15719.9020.400.7845PASS0.0492
3030.13430.13929.8530.450.4650PASS0.0182
4040.15040.16039.8040.500.3993PASS0.0242
5050.13650.14249.7550.550.2849PASS0.0128
6060.14560.15359.7060.600.2551PASS0.0134
7070.13070.13669.6570.650.1943PASS0.0086
8080.14180.14879.6080.700.1855PASS0.0093
9090.12690.13289.5590.750.1461PASS0.0061
100100.095100.09299.5100.80.0922PASS-0.0028
200200.033200.034199.0201.30.0168PASS0.0003
300299.920299.921298.5301.8-0.0262PASS0.0005
400399.885399.889398.0402.3-0.0277PASS0.0010
500499.772499.777497.5502.8-0.0446PASS0.0010
600599.661599.668597.0603.3-0.0553PASS0.0012
700699.548699.556696.5703.8-0.0635PASS0.0011
800799.462799.469796.0804.3-0.0663PASS0.0009
900900.322900.340895.5904.80.0377PASS0.0020
1k1000.2301000.197995.01005.30.0197PASS-0.0033
2k2000.4152000.3171990.02010.30.0158PASS-0.0049
3k3000.3033000.1782985.03015.30.0059PASS-0.0042
4k4000.7094000.6423980.04020.30.0161PASS-0.0017
5k5000.5845000.5104975.05025.30.0102PASS-0.0015
6k6001.1176001.0935970.06030.30.0182PASS-0.0004
7k6999.2236999.1216965.07035.3-0.0126PASS-0.0015
8k7999.0907998.9877960.08040.3-0.0127PASS-0.0013
9k8999.1958999.1128955.09045.3-0.0099PASS-0.0009
10k9999.0599998.980995010050.3-0.0102PASS-0.0008
20k19999.52920000.1501990020100.30.0007PASS0.0031
30k30000.02229999.3062985030150.3-0.0023PASS-0.0024
40k39999.60839998.7173980040200.3-0.0032PASS-0.0022
50k49999.68549998.8484975050250.3-0.0023PASS-0.0017
60k60000.19859999.5175970060300.3-0.0008PASS-0.0011
70k70000.39170000.4766965070350.30.0007PASS0.0001
80k79999.82679999.7337960080400.3-0.0003PASS-0.0001
90k90000.32990000.1768955090450.30.0002PASS-0.0002
100k99999.59699999.36999500100500.3-0.0006PASS-0.0002
200k200000.471200001.976199000201000.30.0010PASS0.0008
300k300000.285300003.766298500301500.30.0013PASS0.0012
400k399999.594400006.496398000402000.30.0016PASS0.0017
500k500000.238500008.336497500502500.30.0017PASS0.0016
600k600000.085600012.116597000603000.30.0020PASS0.0020
700k700000.072700014.896696500703500.30.0021PASS0.0021
800k799999.664800016.656796000804000.30.0021PASS0.0021
900k899999.706900015.776895500904500.30.0018PASS0.0018
Calibration results for two-wire measurement

Posted

in

by

WordPress Cookie Notice by Real Cookie Banner