Открыл для себя программу Test Controller которая предназначена для управления и регистрации данных с различных
устройств (мультиметры, источники питания, электронные нагрузки). На момент обзора актуальная версия Test Controller V2.58.
У программы неплохой список поддерживаемого оборудования и возможность добавить поддержку нового устройства через текстовые конфигурационные файлы. Если сравнивать с Sigrok, то не придётся писать код и затем его компилировать. Я уже добавлял минимальную поддержку настольного мультиметра Agilent U3402A в libsigrok и это заняло несколько дней. В случае Test Controller процесс должен быть сильно проще.
Для демонстрации возможностей программы я добавлю поддержку измерителя ёмкости аккумуляторов (схема, корпус, тестирование) и сниму разрядную характеристику для аккумулятора от робота-пылесоса.
Test Controller написана на Java и будет работать в Windows, Linux и MacOS. У меня уже установлена Java 17, но установка с нуля для Debian 12 не должна вызывать проблемы:
$ sudo apt-get update $ sudo apt-get install openjdk-17-jre $ java -version openjdk version "17.0.15" 2025-04-15 OpenJDK Runtime Environment (build 17.0.15+6-Debian-1deb12u1) OpenJDK 64-Bit Server VM (build 17.0.15+6-Debian-1deb12u1, mixed mode, sharing)
Скачиваю дистрибутив с сайта lygte-info.dk и распаковываю в директрорию ~/.local/ (все сторонние программы я устанавливаю в директорию ~/.local/ вместо /opt/ или /usr/local/):
$ wget https://lygte-info.dk/pic/Projects/TestController/TestController.zip $ mkdir ~/.local/TestController/ $ unzip -d ~/.local/TestController/ TestController.zip $ chmod +x ~/.local/TestController/{tcrun,tcrundebug}
Последняя команда не обязательна, если использовать запуск через меню окружения рабочего стола:
$ cat > ~/.local/share/applications/TestController.desktop <<_EOF_ [Desktop Entry] Name=Test Controller Path=$HOME/.local/TestController/ Exec=java -jar $HOME/.local/TestController/TestController.jar Icon=$HOME/.local/TestController/TestController.png Categories=Development Version=1.0 Type=Application Terminal=false StartupWMClass=dk-hkj-main-Main _EOF_
Измеритель ёмкости аккумуляторов поддерживает команды SCPI. Чтобы добавить его поддержку нужно создать файл ~/TestController/Devices/Power Monitor.txt и добавить в него описание устройства
$ cat > "~/TestController/Devices/Power Monitor.txt" <<_EOF_ #idString Andrei Tataranovich,Power Monitor, #name Power Monitor #handle PowerMonitor #port com #baudrate 9600 #driver SCPI #eol \r\n #value Current A D3 #value Voltage V D3 #askValues MEAS:CURR?;MEAS:VOLT? #outputOff SYST:OUT OFF _EOF_
Для начала добавил только получение показаний напряжения (MEAS:VOLT?) и тока (MEAS:CURR?) и отключение выхода (SYST:OUT OFF).
Документация по добавлению нового устройства есть для устройств поддерживающих протокол SCPI и для не-SCPI устройств.
После создания конфигурации для нового устройства нужно запустить программу, добавить устройство "Power Monitor" на вкладке "Load devices" и нажать кнопку "Reconnect"
Если всё сделано верно, то на вкладке "Commands" появится сообщение ";; Found Power Monitor on USB Serial (ttyUSB0)". Я отправил несколько команд устройству через строку слева от кнопки "Popups" и ответ виден в текстовом поле.
На вкладке "Current values" можно увидеть текущие показания напряжения и тока которые были настроены в конфигурации устройства
Чтобы начать регистрацию данных нужно настроить режим работы устройства (в Test Controller есть управление режимами работы, но я пока не разбирался с этим), вернуться на вкладку "Commands" и нажать кнопку "Log".
По мере записи данных они появляются в табличном виде на вкладке "Table" и при этом становятся активны вкладки "Chart", "Histogram" и "Range".
На вкладке "Table" можно выбрать какие колонки отображать
Поддерживается сохранение и загрузка значений а также импорт и экспорт в формате CSV. При импорте/экспорте можно настроить какие колонки сохранить и в каком формате.
На вкладке "Chart" данные представлены в виде графика
Поддерживается выбор данных которые нужно отображать на графике. Есть возможность ограничить показ части данных (параметры "First sample to display" и "Last sample to display") и сохранить изображение в формате PNG.
На вкладке "Histogram" данные представлены в виде гистограммы
Можно выбрать какие данные отображать на гистограмме, показать определённую часть данных (аналогично вкладке "Chart") и сохранить изображение в формате PNG.
На вкладке "Scales for chart" настраивается график
я задал минимальные и максимальные значения для тока и напряжения чтобы график получился более наглядным
На вкладке "Range" можно проанализировать данные на определённом интервале
Я выбрал диапазон данных от 2-х часов до конца записи.
На вкладке "Math" можно добавить вычисляемые параметры. Например я добавил вычисление мощности через ток и напряжение
После этого со всех вкладках появляется новый параметр "PowerMonitorPower"
Для примера я вывел его на график совместно с напряжением и током.
На вкладке "Remap handles" можно сделать привязку устройств к конкретным идентификаторам. У меня использовалось только одно устройство у которого идентификатор "PowerMonitor", но его можно переназначить к более короткому "pm".
В случае если у вас несколько одинаковых устройств, то их можно назначить на различные идентификаторы, используя серийный номер.
На вкладке "Configuration" можно настроить основные параметры программы
Добавлено 2025-05-14:
Тестер ёмкости аккумуляторов сейчас поддерживает три настройки через команды SCPI:
- включить или выключить выход
- задать скорость измерений (медленно, средне, быстро)
- задать режим измерений (двухпроводной или четырёхпроводной)
В программе есть функциональность для конфигурации устройств - добавлю в файл описания устройства дополнительные секции для этого
#cmdSetup buttonsOn Output :read: SYST:OUT? :string: :write: SYST:OUT # :tip: Turn output ON or OFF :updatealloff: Off OFF On ON #cmdSetup radio Mode :read: CONF:MEAS:MODE? :string: :write: CONF:MEAS:MODE # :tip: Setup measurement mode 2W 2W 4W 4W #cmdSetup radio Rate :read: CONF:MEAS:RATE? :string: :write: CONF:MEAS:RATE # :tip: Setup measurement rate Slow S Medium M Fast F
После перезапуска программы на вкладке "Commands" нужно нажать кнопку "Setup" и откроется дополнительное меню
В дальнейшем я планирую попробовать добавить конфигурацию для мультиметра Agilent U3402A который не поддерживает команды SCPI и выполнить регистрацию данных с нескольких устройств одновременно.
Комментариев нет:
Отправить комментарий