1vp.ru

EN

One Wire controller

version: 1.0 08.06.2019

Сейчас в отдельном проекте "Smart Home".

Прошивка разработана на базе предыдущего проекта. В этом проекте ставилась цель создать web интерфейс по настройке устройства. Технологически интерфейс представляет собой web-приложение, которое хранится в расширенной памяти устройства ESP8266, данное приложение взаимодействует с основным приложением, которое работает в самом устройстве, по протоколу websocket. Данный факт позволяет взаимодействовать с устройством в режиме DIY, т.е. вместо web-приложения может быть любая пользовательская система. Формат данных, который используется в обмене - JSON.

Под данный проект разработана плата устройства, которая включает:

  • Электромагнитное реле - 2 шт;
  • светодиодный сегментный дисплей (4 сегмента);
  • три кнопки управления;
  • вольтметр (можно использовать один из двух входов до 5 вольт или до 3.3 вольт);
  • адаптер (мастер) шины 1-wire на базе чипа DS2482S-100.

Прототип устройства можно увидеть на картинке ниже.

Контроллер предполагает расширение аппаратного функционала по шине 1-wire, на первом этапе (текущем) поддерживаются устройства:

  • датчик температуры DS18B20
  • switch/sensor DS2413 (подключение сенсоров и исполнительных устройств-реле).

Максимально возможное количество подключенных устройств к контроллеру по шине 1-wire ограничено числом 32.

Запланировано поддержка других устройств для шины 1-wire и развитие функционала самой прошивки. Прошивка включает автообновление новых версий через интернет.

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

На светодиодном индикаторе можно просмотреть состояние всех подключенных датчиков. При изменении температуры или состояния датчика, индикатор замигает и покажет номер и значение этого датчика.

С помощью кнопок можно управлять заданными в приложении реле.

Так же устройство поддерживает протоколы UDP и MQTT.

При первоначальном включении устройства, оно находится режиме AP-точки доступа WiFi, так что пользователь может подключиться к нему со смартфона и произвести первоначальные настройки для подключения к домашней WiFi сети. В дальнейшем на устройство можно заходить любым интернет-браузером по адресу вида http://ow-XXXXXX.local, где XXXXXX - уникальный номер устройства.

Возможности прошивки можно увидеть в демо-приложении - esp.1vp.ru.

К данному варианту настройки приложения настроена mqtt-панель для смартфона (скриншет ниже). В основном, mqtt-панель служит для мониторинга настроенных в приложении исполнительных устройств, но можно вмешиваться в автоматический режим работы реле. Если какое либо реле остается не настроенным, то им можно управлять только в ручном режиме с помощью mqtt панели или посредством DIY режима, по протоколу websocket.



В настоящее время разрабатывается рабочий вариант контроллера и периферийные платы адаптеров шины 1-ware с креплением под DIN рейку.

Можно заказать рабочий прототип контроллера за 2900 рублей (количество ограничено).

Далее следует описание функций, которые могут быть настроены для любого реле (исполнительного устройства) в системе.

Реле времени

Реле времени может быть использовано для включения какой либо нагрузки в определенный промежуток времени. Для задания моментов включения и/или выключения реле используются записи в формате CRON, данный формат задания моментов времени выбран из-за своей универсальности и лаконичности записи.

Реле времени, режим Astro

Для случая включения освещения в темное время суток предусмотрен данный режим работы. Работа реле будет привязана к астрономическим часам, к моментам восхода и захода солнца. В момент восхода солнца реле будет отключаться, а в момент захода включаться или наоборот, если включить опцию инверсии режима. Необходимо будет задать географические координаты вашего местоположения и времени поправки в минутах относительно моментов восхода и заката. Точное время срабатывания реле будет рассчитываться: время восхода +(плюс) время поправки и время заката -(минус) время поправки(смещения). Так же можно задать и значения включения и/или выключения для обычного режима "реле времени". Тогда результирующее состояние реле будет результатом двух условий по логической операции "И", т.е. реле времени будет в состоянии включено по астрономическому времени И в заданные моменты времени.

Термостат

Термостат по алгоритму температурного гистерезиса c двумя температурными границами (нормальной и высокой). Нормальная граница задает температуру, которую нужно достигнуть включив нагрузку и выключить, достигнув температуры +(плюс) температуры гистерезиса. Верхний диапазон, рассчитан для случая когда нужно снова включать нагрузку, когда достигнута верхняя граница температуры и выключить, когда температура снизилась на величину высокого гистерезиса.

Термостат (PID-контроллер)

Данный режим работает по алгоритму PID контроллера (proportional–integral–derivative controller). Данный алгоритм обеспечивает более точное поддержание температуры в отличии от алгоритма температурного гистерезиса.

На картинке можно наблюдать эффект на различных значениях параметров PID алгоритма. По дефолту заданы следующие значения: Kp=2.0 Ki=5.0 Kd=1.0, длительность одного цикла выбрана 960 секунд (16 минут), ввиду большой инерционности систем отопления (значения настраивается). Параметры можно подбирать экспериментальным путем. Длительность рабочего цикла (включенного состояния реле) рассчитывается алгоритмом. В настройки вынесены минимальное время рабочего цикла, т.к. нет смысла включать двигатель отопления или газовый котел на слишком короткий интервал времени и максимальное время, выше которого реле будет постоянно включенным, опять же нет смысла отключать систему отопления на слишком короткое время.

В обоих режимах термостата можно задавать моменты времени и устанавливать необходимые целевые температуры, так-же в формате CRON.

Цифровой сенсор

В данном режиме реле будет включать или выключать нагрузку в зависимости от состояния цифрового датчика, который подключается через устройство по шине 1-wire на основе микросхемы DS2413.

Сенсор напряжения

Состояние реле включается или выключается в зависимости от уровня напряжения на входе датчика-вольтметра.

Повторить состояние реле

Если необходимо просто скопировать состояние какого-либо реле или включить или выключить нагрузку на заданный интервал времени в зависимости от состояния другого реле в системе.

продолжние следует ...