USB реле на плате metaboard Печать
Добавил(а) microsin   

На основе платы metaboard [5] можно сделать USB реле, которое будет управлять контактами реле по командам от компьютера.

usb relay mega328 case box mounted1 usb relay mega328 USB connector usb relay mega328 relay output2

0 on Включить реле 0
0 off Выключить реле 0
...
3 off Выключить реле 3

USB relay metaboard connections

К портам PB3..PB0 микроконтроллера, настроенным как выходы, подключены входы платы реле (см. врезку "Платы реле на aliexpress").

PB0 управление включением первого реле (реле 0)
PB1 управление включением второго реле (реле 1)
PB2 управление включением третьего реле (реле 2)
PB3 управление включением четвертого реле (реле 3)

В качестве основы для всей конструкции был выбран пластиковый корпус Z5 размером 110 x 90 x 40 мм, когда-то купленный в магазине "Чип-и-Дип". Подобные корпуса видел на радиорынке в Митино. Похожий корпус можно также купить у компании "Радиотех-Трейд" (ключевые слова для поиска Z5 Пластиковый корпус для РЭА site:rct.ru).

case box z5

В передней крышке был сделан пропил для коннектора USB, в задней крышке для клемм контактов реле. В нижней стенке просверлены дырки, и приклеены 2 пластмассовые стойки для крепления платы реле. Плата metaboard хорошо легла поверх центральной стойки корпуса, нужно было только просверлить в макетном поле платы отверстие, чтобы через него прошел крепежный шуруп.

usb relay mega328 case box1

usb relay mega328 case box3

usb relay mega328 case box mounted2

[Плата на 4 реле без оптронной развязки]

no optocoupled 4relay board 5V top no optocoupled 4relay board 5V bottom

no optocoupled 4relay board 5V sch

Ссылка товара на aliexpress: 5V Four 4 Channel Relay Module For PIC AVR DSP ARM MSP430 For Arduino.

[Плата на 4 реле с оптронами]

optocoupled 4relay board 5V view1 optocoupled 4relay board 5V view2 optocoupled 4relay board 5V view3

Эта плата хороша тем, что при необходимости позволяет гальванически развязать цепи питания обмоток реле и цепи управления. Большой необходимости в этом обычно нет, поскольку цепи управления нагрузкой (контакты реле) и так изолированы.

optocoupled 4relay board 5V sch1 optocoupled 4relay board 5V sch3
optocoupled 4relay board 5V sch2  

Ссылка товара на aliexpress:4 channel relay module 4-channel relay control board with optocoupler. Relay Output 4 way relay module for arduino.

Программа микроконтроллера была быстро написана на основе открытого проекта [1]. Проект работает на библиотеке V-USB. Это устройство USB CDC (виртуальный COM-порт), в который можно очень просто отправлять команды через готовые программы терминала (стандартный HyperTerminal, TerraTerm, putty, SecureCRT). Можно отправлять команды даже командой copy.

[Управление через консоль программы putty]

usb relay mega328 putty console

[Управление командой copy]

Пример файла с командой включения первого реле (testing\cmd-0-on.txt, см. [2]):

0 on

Пример файла с командой выключения первого реле (testing\cmd-0-off.txt, см. [2]):

0 off

Как включить первое реле с помощью команды copy:

copy cmd-0-on.txt COM5

Как выключить первое реле с помощью команды copy:

copy cmd-0-off.txt COM5

usb relay mega328 copy control

В этих примерах виртуальный последовательный порт устройства USB CDC отображен на системное имя COM5 (имя порта можно посмотреть в Диспетчере Устройств).

[Управление с помощью утилиты SerialSend.exe]

Команда на включение второго реле (реле с номером 1):

SerialSend.exe /devnum 5 /hex "1 on\r\n"

Команда на выключение второго реле:

SerialSend.exe /devnum 5 /hex "1 off\r\n"

usb relay mega328 SerialSend control

Пример командного файла, по циклу переключающего друг за другом все реле (testing\example-SerialSend.bat, см. [2]):

SerialSend.exe /devnum 5 /hex "0 on\r\n"
SerialSend.exe /devnum 5 /hex "1 on\r\n"
SerialSend.exe /devnum 5 /hex "2 on\r\n"
SerialSend.exe /devnum 5 /hex "3 on\r\n"
sleep 1
SerialSend.exe /devnum 5 /hex "0 off\r\n"
SerialSend.exe /devnum 5 /hex "1 off\r\n"
SerialSend.exe /devnum 5 /hex "2 off\r\n"
SerialSend.exe /devnum 5 /hex "3 off\r\n"
sleep 1
pause

Программа микроконтроллера умеет сохранять текущее состояние реле в энергонезависимой памяти (EEPROM). Таким образом, после выключения питания (отключения от порта USB) и повторного включения микроконтроллер восстановит состояние всех реле, которое было после получения последней команды управления.

В заключение несколько видео. На первом показано общее функционирование USB реле.

На втором видео объясняется принцип работы программного обеспечения.

На последнем видео показано, как можно обновлять программное обеспечение микроконтроллера платы metaboard через USB с помощью загрузчика USBasp.

[Ссылки]

1. USB консоль для управления радиолюбительскими приборами.
2. 160305usb-relay-mega328.zip - исходный код и прошивка программы микроконтроллера USB реле на основе metaboard.
3. usb-Relay - маленькое USB-устройство, управляющее включением и выключением реле.
4. SerialSend: утилита для работы с виртуальным COM-портом.
5.Макетная плата metaboard (AVR микроконтроллер ATmega168PA или ATmega328P).