Сегодня калибруем SourceMeter K2400 с использованием змея Python для автоматизации.
Для калибровки Model 2400 требуется только эталонный мультиметр, в роли которого выступает в данном случае
3458A. Сама процедура доволно простая и заключается в измерении отрицательного и положительного сигнала в 95% шкалы, соответственно отдельно для напряжения и тока. Мультиметр измеряет выходной сигнал и результат измерения записывается обратно в SMU для расчета калибровочных поправок.
Всего в программе 16 шагов для напряжения и 28 для тока, по 4 значения на каждый диапазон (-шкалы, ноль, +шкалы, ноль). Это немного муторно делать вручную нажимая кнопочки на панельке, так что натравим на это дело питона и пускай машина делает работу, а мы будем наслаждаться зрелищем. Детально процедура калибровки описана в
сервисном мануле.
Оснащение:
* HP 3458A с GPIB адресом 3
* Keithley Model 2400 для калибровки, с адресом GPIB = 24
* GPIB шнурок и NI USB-GPIB-HS
* Raspberry Pi (я использовал старую Model B, rev.2) под управлением Jessie linux
* Настроенный и работающий linux-gpib
* Среда Python 2.7
Сама программа калибровки и поверки.
Скачиваем безобразие себе на Pi, например так: wget
https://xdevs.com/doc/Keithley/2400/calsw/cal2400.py
Подключаем SMU и DCV DMM.
Запускаем это добро.
При успешном определении будет выдано сообщение, например:
Keithley Model 2400 - detected, S/N 0788393, Version: C32 Oct 4 2010 14:20:11/A02 /H/H
Иначе программа скажет селя-ви и завершит работу.
Теперь будут считаны текущие калибровочные константы, например для ведения истории..
Код: Выделить всё
0.2 DCV Range, SENS:DATA? = -1.255853E+00,-7.547438E-05,-1.255865E+00,+0.000000E+00
0.2 DCV Range, SOUR:DATA? = +3.027005E+05,+9.805352E+02,-3.026938E+05,+9.540547E+02
2.0 DCV Range, SENS:DATA? = -1.255818E+00,-7.629395E-05,-1.255898E+00,+0.000000E+00
2.0 DCV Range, SOUR:DATA? = +3.024413E+04,+2.160469E+02,-3.024334E+04,+2.133789E+02
20.0 DCV Range, SENS:DATA? = -1.255909E+01,-1.522064E-03,-1.255986E+01,+0.000000E+00
20.0 DCV Range, SOUR:DATA? = +3.024195E+03,+2.183359E+02,-3.024123E+03,+2.110820E+02
200.0 DCV Range, SENS:DATA? = -1.255817E+02,-1.463318E-02,-1.255900E+02,+0.000000E+00
200.0 DCV Range, SOUR:DATA? = +3.024431E+02,+2.181953E+02,-3.024344E+02,+2.112461E+02
1.0e-06 DCI Range, SENS:DATA? = -6.258903E-07,-7.969447E-11,-6.258224E-07,+0.000000E+00
1.0e-06 DCI Range, SOUR:DATA? = +6.068293E+10,+2.121250E+02,-6.068410E+10,+2.170313E+02
1.0e-05 DCI Range, SENS:DATA? = -6.294048E-06,-4.620233E-10,-6.294329E-06,+0.000000E+00
1.0e-05 DCI Range, SOUR:DATA? = +6.034448E+09,+2.100234E+02,-6.033632E+09,+2.191016E+02
1.0e-04 DCI Range, SENS:DATA? = -6.273385E-05,-4.249159E-09,-6.273701E-05,+0.000000E+00
1.0e-04 DCI Range, SOUR:DATA? = +6.054307E+08,+2.098086E+02,-6.053455E+08,+2.192617E+02
1.0e-03 DCI Range, SENS:DATA? = -6.261325E-04,-4.319008E-08,-6.261630E-04,+0.000000E+00
1.0e-03 DCI Range, SOUR:DATA? = +6.065957E+07,+2.098047E+02,-6.065106E+07,+2.192695E+02
1.0e-02 DCI Range, SENS:DATA? = -6.275110E-03,-4.488975E-07,-6.275468E-03,+0.000000E+00
1.0e-02 DCI Range, SOUR:DATA? = +6.052646E+06,+2.099297E+02,-6.051750E+06,+2.191328E+02
1.0e-01 DCI Range, SENS:DATA? = -6.279009E-02,-4.447997E-06,-6.279366E-02,+0.000000E+00
1.0e-01 DCI Range, SOUR:DATA? = +6.048887E+05,+2.099453E+02,-6.047995E+05,+2.191445E+02
1.0e+00 DCI Range, SENS:DATA? = -6.287083E+00,-4.602075E-04,-6.287335E+00,+0.000000E+00
1.0e+00 DCI Range, SOUR:DATA? = +6.044879E+04,+8.966484E+02,-6.044157E+04,+9.857813E+02
Затем определяется наличие мультиметра, в случае успеха увидим чтото вроде:
Теперь жмем Enter и наблюдаем калибровку напряжения
Код: Выделить всё
DCV Calibration step -0.2 mV , measured : -2.000011150E-01 VDC, deviation 5.575 ppm
DCV Calibration step 0.2 mV , measured : 1.999950137E-01 VDC, deviation -24.932 ppm
DCV Calibration step -2 V , measured : -2.000001226E+00 VDC, deviation 0.613 ppm
DCV Calibration step 2 V , measured : 1.999990515E+00 VDC, deviation -4.743 ppm
DCV Calibration step -20 V , measured : -1.999985933E+01 VDC, deviation -7.033 ppm
DCV Calibration step 20 V , measured : 1.999995167E+01 VDC, deviation -2.416 ppm
DCV Calibration step -200 V , measured : -1.999999936E+02 VDC, deviation -0.032 ppm
DCV Calibration step 200 V , measured : 1.999976683E+02 VDC, deviation -11.659 ppm
Каждый диапазон замеряется десять раз, и в калибровку прописывается усредненное значение. Отклонение также приводится, в шкале ppm от диапазона.
Если 2400 что-то не понравится, работа программы будет остановлена с выдачей кода ошибки Keithley 2400 error: номер.
В случае успеха, подается звуковой сигнал с требованием переключения кабеля для измерения тока у мультимера, и программа будет ожидать нажатия ENTER для продолжения.
Код: Выделить всё
DCI Calibration step -1 uA , measured : -9.999932723E-07 ADC, deviation -6.728 ppm
DCI Calibration step 1 uA , measured : 9.999700048E-07 ADC, deviation -29.995 ppm
DCI Calibration step -10 uA , measured : -9.999961705E-06 ADC, deviation -3.829 ppm
DCI Calibration step 10 uA , measured : 9.999932024E-06 ADC, deviation -6.798 ppm
DCI Calibration step -100 uA , measured : -9.999879347E-05 ADC, deviation -12.065 ppm
DCI Calibration step 100 uA , measured : 9.999867260E-05 ADC, deviation -13.274 ppm
DCI Calibration step -1 mA , measured : -9.999954493E-04 ADC, deviation -4.551 ppm
DCI Calibration step 1 mA , measured : 9.999928871E-04 ADC, deviation -7.113 ppm
DCI Calibration step -10 mA , measured : -9.999891116E-03 ADC, deviation -10.888 ppm
DCI Calibration step 10 mA , measured : 9.999946257E-03 ADC, deviation -5.374 ppm
DCI Calibration step -100 mA , measured : -1.000001955E-01 ADC, deviation 1.955 ppm
DCI Calibration step 100 mA , measured : 9.999891230E-02 ADC, deviation -10.877 ppm
DCI Calibration step -1 A , measured : -9.999968151E-01 ADC, deviation -3.185 ppm
DCI Calibration step 1 A , measured : 9.999915013E-01 ADC, deviation -8.499 ppm
Все повторяется аналогично напряжению.
Затем после предупреждения, если все выглядит нормально подтверждаем запись калибровки в память прибора повторным нажатием на ENTER.
Вот и все

Можно с чистой совестью сказать что удалось в этот раз сэкономить 500$USD на официальной калибровке Tektronix.
