Управление одноканальным модулем реле |
Содержание
Общее описание
Общее описаниеМодуль одноканального реле представляет собой малогабаритную плату с электромагнитным реле и разъемом для установки контроллера ESP8266 (ESP-01/ESP-01S). С помощью данного модуля можно коммутировать различные устройства по сети Wi-Fi. Одноканальный модуль реле Так как для питания ESP01 необходимо напряжение 3.3 вольт, то для этого на плате предусмотрен стабилизатор напряжения AMS1117. Так же на плате установлена кнопка RESET с помощью которой можно перегрузить модуль, рядом установлен светодиод индицирующий состояние реле (включено/отключено). Одноканальный модуль реле с установленным модулем ESP-01S Характеристики модуля реле
- Напряжение питания: DC 5 Вольт;
В качестве внешнего источника используется адаптер питания для зарядки сотовых телефонов, смартфонов, планшетов, с выходным током не менее 500мА. Схема модуля релеСхема модуля реле Недостатки модуля реле и их устранение
Релейные модули версия v4.0, имеет реле с рабочим напряжением 5 В, но по схеме, для управления реле подается напряжение 3V3 (в предыдущих версиях модуля реле использовалось напряжение VCC=5В). Не смотря на это, имеющиеся экземпляры модуля реле, исправно работали при коммутирующем напряжении постоянного тока менее 30В. В случае возникновения проблем, рекомендуется доработать модуль реле как показано на рис. ниже. Доработка модуля реле
Установленное на плате реле рассчитанное на переменное напряжение 240 В (ток до 10 А), но винтовые разъемы не подходят для силового кабеля с большим сечением, плюс к этому, одна из силовых контактных дорожек печатной платы, расположена слишком близко к контакту GND. Поэтому этот модуль не рекомендуется использовать для питания от сети 220В.
Из-за особенностей некоторых выводов gpio модулей ESP-01/ESP-01S, при подаче питания на модуль, происходит кратковременное включение реле. Для того чтобы избавиться от кратковременного включения реле, рекомендуется добавить электролитический конденсатор (1000мкФ, 16В) параллельно выводам оптрона (контакты 1,2), как показано на рисунках ниже. При подключении конденсатора, необходимо соблюдать полярность! Доработка модуля реле Подготовка модуля к работеПодготовка модуля к работе заключается в выполнении следующих шагов. Шаг 1. Программирование модуляПрограммирование модуля (запись программы (прошивки) «Smacont-ESP») осуществляется в соответствии с инструкцией «Программирование модулей ESP и отладочных плат». Шаг 2. Настройка сетевого соединения с модулемВыполнить настройку сетевого соединения с модулем в соответствии с инструкцией «Первое включение». Шаг 3. Настройка WiFi-сетиВыполнить настройку WiFi-сети в соответствии с инструкцией «Настройки WiFi-сети». Управление модулем реле при помощи «Программы Настройки»Переменные «Vx»Для управления состоянием реле зарезервируем переменную «V0» и присвоим ей имя «relay_Ctrl_V0». Вкладка «Vx» GPIOИсходя из схемы модуля, управление состоянием реле происходит при помощи вывода «GPIO0». Инициализация вывода «GPIO0» производится при помощи действия «gpio0_SetParam()». Инициализация вывода «GPIO0» При этом, управление инверсное, т.е. при логическом нуле происходит включение реле, а при подаче логической единицы - отключение реле. Для удобства работы с реле, рекомендуется установить параметр «Инверсия» в состояние «Инвертировать». В качестве переменной «Vx» (управление выходом) укажем переменную «relay_Ctrl_V0».
После изменения параметров вывода «GPIO0» необходимо, либо выполнить действие «gpio0_SetParam()» в ручном режиме (путем нажатия иконки ), либо выполнить перезагрузку устройства.
Управление релеПосле инициализации вывода «GPIO0» (выполнения действия «gpio0_SetParam()») и привязки переменной «relay_Ctrl_V0», управление состоянием реле производится путем изменения значения переменной «relay_Ctrl_V0». Управление реле Запись в переменную «relay_Ctrl_V0» нулевого значения отключает реле, запись значения «1» - включает реле. Включение реле на заданное времяВключение реле на заданное время производится при помощи действия «timer_Vx()». Включение реле на заданное время После этого, если выполнить действие «timer_Vx()» в ручном режиме (путем нажатия иконки ), реле будет включаться на две секунды. Управление модулем реле по протоколу MQTTДля управления модулем реле по протоколу MQTT необходимо чтобы устройство было подключено к локальной сети (режим точки доступа и режим клиента «AP+STA» или режим клиента «STA» (Station) ) и имело доступ в сети Интернет. В данном примере данные будут храниться в двух топиках: - relay/pub/V0 - в данный топик будет производиться «публикация» состояния реле; - relay/sub/V0 - на данный топик будет выполнена «подписка» для ожидания команды от брокера. Действие «mqtt_Connect()»Выполнить редактирование параметров действия «mqtt_Connect()» в соответствии с инструкцией. Редактирование параметров действия «mqtt_Connect()» По завершению редактирование параметров действия «mqtt_Connect()», необходимо либо выполнить данное действие в ручном режиме (путем нажатия иконки ), либо выполнить перезагрузку устройства. Так как у действия «mqtt_Connect()» нет автозагрузки, его рекомендуется запускать в сценарии «start». Сценарий «start» Обязательно убедитесь, что сценарии находятся в состоянии «ВКЛЮЧЕНЫ». Для отладки работы по протоколу MQTT рекомендуется включить вывод сообщений о работе MQTT в соответствии с инструкцией. Действие «log_SetParam()» При успешном выполнении действия «mqtt_Connect()», в журнале устройства будет отображаться следующая информация. Вкладка «Журнал» Действие «mqtt_SendRaw6()»При помощи данного действия будет производиться «публикация» состояния реле. Выполнить редактирование параметров действия «mqtt_SendRaw6()» в соответствии с инструкцией. Действие «mqtt_SendRaw6()» По завершению редактирование параметров действия, можно проверить его выполнение в ручном режиме, путем нажатия иконки . При этом, в журнале будет опубликован результат выполнения действия. Вкладка «Состояние/Журнал» Действие «mqtt_SendRaw6()» необходимо выполнять при изменении значения переменной «relay_Ctrl_V0». Для этого, в сценариях, будет использоваться событие «Change» (изменение значения переменной). Вкладка «Сценарии» После завершения редактирования сценариев, устройство будет публиковать состояние реле при его изменении как при помощи «Программы Настройки», так и при помощи других приложений, работающих по протоколу MQTT. Информация о текущем состоянии работы по протоколу MQTTВ случае некорректной работы по протоколу MQTT, можно локализовать проблему, используя статус работы MQTT, который будет отображаться в переменной «mqtt_Counter_c_V2». Управление модулем реле при помощи приложения «MQTT Dash» для AndroidС помощью приложения «MQTT Dash» вы можете создавать панели управления для ваших устройств и приложений, поддерживающих протокол MQTT. Описание приложения не входит в рамки данной статьи. С подробной инструкцией по работе с данным приложением вы можете ознакомиться на сайте kotyara12.ru. Применительно к примеру управления одноканальным модулем реле, необходимо выполнить следующие действия. 1. Создать подключение к брокеру «MQTT Dash». Параметры подключения к брокеру Идентификатор клиента, указываемый в приложении «MQTT Dash», ОБЯЗАТЕЛЬНО должен быть уникальным. Он не должен совпадать ни с одним устройством, подключаемого к MQTT конкретного брокера. 2. Создать плитку «Переключатель/кнопка» «MQTT Dash». Плитка «Переключатель/кнопка» Управление состоянием реле осуществляется нажатием на переключатель «Реле». При этом будет меняться состояние переменной «relay_Ctrl_V0». И наоборот, изменяя значение переменной «relay_Ctrl_V0» при помощи «Программы Настройки», будет изменяться состояние переключателя «Реле» в приложении «MQTT Dash». |
Программы
Прошивка «Smacont-ESP»:
«Программа Настройки»:
Телеграм каналНовостиЭнергонезависимая память (EEPROM) Переменные «Vx» (карта переменных «Vx») Действие «wifi_CheckConn()». После подключения к WiFi-сети, выполнить действие с задержкой Обмен данными. Open Monitoring Датчики температуры и влажности AHT10/AHT15/AHT20/AHT21/AHT25 Датчик температуры и влажности SHT30 (SHT31/SHT35) Действие «valueToVx()», «valueToArrVx()». Отслеживание заданного уровня в диапазоне значений Действие «termostat()». Термостат ESP-NOW. Датчик температуры и влажности с питанием от батареек Последовательные интерфейсы (UART, I2C, SPI) Управление одноканальным модулем реле |