среда, 14 августа 2024 г.

Подключение мультиметра Agilent U3402A через RS-232 к компьютеру

Нашёл на форуме что Agilent, который ныне Keysight, поддерживает подключение мультиметра U3402A к компьютеру через последовательный порт только для Китая и Кореи а для остальных это "технически невозможно". На корпусе прибора и в документации на русском и английском языках указано что RS-232 используется только для калибровки.

Я помню как в одном из видео Keysight рассказывали про полностью автоматическую процедуру поверки и калибровки мультиметров. Для этого в процессе поверки/калибровки как минимум должны переключаться режимы измерений и читаться показания. Так что скорее всего управление через RS-232 работает не только для китайских и корейских клиентов.

Нашёл инструкцию на китайском языке в которой описана работа с портом RS-232 и протокол управления. Нужно перевести этот раздел на английский и попробовать подключиться.

Для начала выделю нужные страницы в отдельный документ.

$ pdfseparate Ag_U3402A_UserGuide_cn.pdf rs232-%d.pdf -f 81 -l 98

$ pdfunite rs232-*.pdf rs232.pdf

$ rm rs232-*.pdf

Файл получился больше 90MB, что почти в 20 раз больше оригинального. Добавляю оптимизацию PDF чтобы уменьшить размер

$ ps2pdf rs232.pdf rs232_optimized.pdf

$ ls -lh rs232.pdf rs232_optimized.pdf
-rw-r--r-- 1 andrey andrey 584K Aug 10 09:05 rs232_optimized.pdf
-rw-r--r-- 1 andrey andrey  97M Aug 10 08:59 rs232.pdf

Пробовал переводить через перевод документов Yandex и Google - в случае с Google Translate результат получился более читабельным, т.к. сохранилась разметка. Раздел, описывающий работу RS232, выложил на GitHub. Пришлось помучиться с вычиткой текста т.к. автоматический перевод хоть и даёт общее представление, но содержит много неточностей или противоположный смысл. При копировании иероглифов из PDF-ки в переводчик часть из них превращалась в другие символы - помог перевод камерой телефона с экрана.

Есть три категории команд:

  • KEY commands (эмулируется нажатие физических кнопок мультиметра)
  • SET commands (переключение режимов измерений, диапазонов, математические операции и т.д.)
  • QUERY commands (получение текущего статуса мультиметра, значений основного и дополнительного индикаторов, версии прошивки и программный сброс)

В документации указана полная схема подключения для разъёма DB-9, но я подключал мультиметр к ноутбуку через самодельный переходник RS232-USB, который использовал для починки домашнего сервера. И пробую базовые команды из документации (RST - программный сброс, RV - получение информации)

$ screen /dev/ttyUSB0 9600
RST
=>
*>
RV
v1.39,6

Супер! Мультиметр отвечает на команды и на индикаторе загорелось "Remote". Далее подключил на вход генератор сигналов и подал синусоидальный сигнал 1kHz, 1Vrms. Теперь нужно переключить мультиметр в режим измерения ACV и вывести частоту сигнала на второй индикатор

S112S
=>
S271S
=>
R1
+0.98788E+0
=>
R2
+1000.00E+0
=>

Команды из документации отработали без проблем. Это означает что как минимум в моём образце никаких "технических" ограничений нет. Думаю их нет и во всех остальных.

Можно написать несложный скрипт, который будет логировать данные с мультиметра на компьютер для дальнейшего анализа. Или же написать скетч для Arduino который будет забирать данные с мультиметра и писать их на SD карту.

Ещё нашёл проект на GitHub который описывает как читать показания мультиметра AKTAKOM ABM-4306 через RS-232. Судя по заявленной точности и внешнему виду этот ABM-4306 является брендированным вариантом U3402A.

Для ABM-4306 есть программное обеспечение ABM-4306-PO, которое позволяет управлять мультиметром с компьютера. Возможно эта программа заработает и с U3402A, но проверить пока не могу.

Комментариев нет:

Отправить комментарий