В продолжение темы про удаленное управление усилителем мощности на базе Р-140. Иногда для удаленного управления требуется подключение по локальной сети, а Wi-Fi и USB интерфейсы не подходят. О варианте устройства, которое позволяет управлять усилителем мощности (и не только) по ethernet пойдет речь далее.
Схемотехника
За основу устройства была взята отладочная плата Black Pill на базе микроконтроллера STM32F401CCU6 и ethernet модуль WizNet WW5500.
Питание схемы построено на базе импульсного DC-DC преобразователя LM2576, что позволяет питать плату в широком диапазоне напряжений. Входов питания два — INPUT1 и INPUT2. Дело в том, что напряжение питания схемы подается на выходные клеммы A1-A16 и служит для управления внешними цепями. Это напряжение может быть как 12В, так и 24В. Оно появляется на выходных клеммах A1-A16 при активации соответствующего выхода. В случае, если необходимы два разных напряжения на выходах, например 12В и 27В, их можно подать на входы INPUT1 и INPUT2 соответственно, а также снять перемычку SW1. В таком случае, на выходы A1-A8 при активации будет подаваться напряжение со входа INPUT1, а на выходы A9-A16 — со входа INPUT2.
Все выходы A1-A16 защищены самовосстанавливающимися предохранителями на ток срабатывания 250 мА.
Управление усилителем мощности
Эта плата работает точно так же, как и предыдущая версия, которая была только с USB интерфейсом. Поэтому все подключения внутри пульта усилителя ПЖ остаются такими же. Они описаны в предыдущей статье. Повторю здесь только соответствие выходов и кнопок на пульте ПЖ:
A1-A8 — выходы для диапазонов
А9 — FAN
A10 — STB
A11 — ON
A12 — пусто
А13 — Тумблер STAND BY
A14 — пусто
А15 — пусто
А16 — START
Отмечу только, что эта плата также имеет интерфейс USB и полностью совместима с предыдущей версией. То есть можно использовать то же самое ПО.
Программа управления
В данном устройстве я решил расширить возможности программы для управления и сделать ее кроссплатформенной. Теперь усилителем мощности можно управлять использую ОС Linux, и даже одноплатные компьютеры orange pi и raspberry pi.
USB версия программы управления лежит здесь.
Ethernet версия программы управления лежит здесь.
Обе программы написаны на языке Python с использованием QT Designer и библиотеки PyQt5. USB версия работает точно так же как и предыдущая версия для ОС Windows.
Более подробно остановлюсь на ethernet версии.
Работа с программой управления усилителем мощности по ethernet
После скачивания репозитория с GitHub необходимо перейти в папку Software/src
. В этой папке нам понадобятся следующие файлы:
1. ethernet_control-<version>.exe
— собственно сама программа управления усилителем мощности
2. uploader-<version>.exe
— программа для записи IP адреса устройства в энергонезависимую память микроконтроллера.
3. ip_config.ini
— текстовый файл для установки IP адреса
Остальные файлы в папке — это исходные коды и ярлыки для программы. Для запуска программы нужны все файлы в папке, поэтому в случае копирования и переноса программы на другой ПК необходимо переносить всю папку целиком.
Для начала нужно установить IP адрес для платы в вашей локальной сети. Для этого необходимо отредактировать файл ip_config.ini
в любом текстовом редакторе. Важно оставить пустую строку после ввода вашего IP адреса (это делается нажатием Enter), Таким образом, в файле должны быть две строки — строка с данными и пустая.
Далее необходимо подключить плату USB кабелем к компьютеру. Питание будет подаваться по USB, поэтому подачу внешнего питания можно пока не включать. Питание с разъема INPUT1 и USB развязаны диодом, поэтому можно не переживать, если вы подключили и USB, и внешнее питание. Плата определится как USB-SERIAL CH340
(com-порт). USB драйвера лежат здесь. После этого запустите программу uploader-<version>.exe
.
Выберите из списка нужный COM порт, нажмите кнопку OPEN. После этого можно считать данные об IP адресе из энергонезависимой памяти устройства. Нажмите кнопку GET. В строчках Console IP address
и Config IP address
должны появиться значения.
Console IP address
— IP адрес, который записан в память устройства
Config IP address
— IP адрес из файла конфигурации (ip_config.ini
)
Кнопка SET посылает команду для записи IP адреса из файла ip_config.ini
в память устройства. После этого можно проверить, удачна ли прошла запись, снова нажав кнопку GET. Обе строчки должны содержать один и тот же IP адрес. На этом конфигурация устройства завершена, можно переходить непосредственно к программе управления.
USB кабель можно отключать и присоединять патч-корд локальной сети. Также необходимо подать питание 12В на вход INPUT1. При запуске программы ethernet_control-<version>.exe
будет активна только кнопка CONNECT. После ее нажатия программа попытается установить соединение с устройством по локальной сети. В случае проблем с подключением по истечению таймаута (около 60 сек.) будет выдано сообщение об ошибке. При штатной работе, после соединения будут активны кнопки управления усилителем мощности. Алгоритм переключения кнопок OFF FAN STB и ON сделан таким образом, чтобы исключить возможность случайной подачи высокого напряжения на лампу. После нажатия кнопки STB запустится таймер, который позволит нажать кнопку ON только через 120 секунд.
Кнопки подсвечиваются красным только после ответа платы о том, что команда обработана. Если вы нажали кнопку и она не поменяла свой цвет на красный — это означает, что возникли какие-то проблемы в сети или в питании устройства. По истечении таймаута ожидания (если связь не восстановится раньше) будет выдано сообщение об ошибке.
При завершении работы с программой необходимо нажимать кнопку OFF. Это выключит все выходы на плате и сделает неактивными все кнопки интерфейса управления. После этого программу можно закрывать.
Особенности работы программы управления под ОС Linux
Подробно о том, что нужно установить дополнительно перед запуском программы на Linux описано в ReadMe файле в репозитории USB программы управления. Все пункты применимы и к ethernet версии (нужно только скорректировать имена запускаемых файлов .py
). Работоспособность программы была проверена на debian-based дистрибутивах Linux (в том числе raspbian) и на Fedora Linux.
В дальнейшем я планирую выложить кроссплатформенную программу управления по ethernet для переключения выходов без привязки к управлению усилителем мощности. Получится универсальная открытая платформа для управления любыми нагрузками по ethenet и USB, с помощью которой можно управлять практически чем угодно в удаленном шэке (и не только).