Automatic motorized roller blinds project.
Моторизированный привод для рулонных штор. Управление по Wi-Fi. Питание внешнее. Возможна интеграция в системы умного дома.
Описание проекта: https://mysku.ru/blog/diy/62110.html
Файлы для печати: https://www.thingiverse.com/thing:2857899
Видео работы: https://www.youtube.com/watch?v=lvBh_m7pOAI
Domoticz
Hubitat Elevation (Автор yix)
Home Assistant (встроенная поддержка через MQTT Discovery с версии 0.09)
Firmware - готовые прошивки
Curtains - скетч для Ардуино
Curtains\data - файлы для SPIFFS. Иконка, css-стили, java scripts
Board - файлы схемы и платы для DipTrace
Board\Gerbers - gerber files для заказа плат на фабрике
3D_parts - OpenSCAD и stl для печати
05.04.2018 v0.01 beta
- Более-менее рабочая версия с настройками. Не всё доделано, многого не хватает.
07.04.2018 v0.02 beta
- Автосоздание файлов CSS и favicon в SPIFFS при их отсутствии/обновлении.
28.04.2018 v0.03 beta
- Исправлен баг с закрытием шторы после перезагрузки.
- Добавлена работа по расписанию.
22.02.2019 v0.05 beta
- Управление двигателями идёт в прерывании, увеличилась плавность работы двигателя и отзывчивость интерфейса.
- Номера пинов 4 и 5 исправлены, теперь типичное подключение ABCD. Настройки менять не надо.
- Концевик можно инвертировать (нормальнозамкнутый - нормальноразомкнутый). Актуально для датчика Холла вместо концевика.
- Добавлен http-запрос /set?pos=X (X = 0 - 100, в процентах).
- Состояние можно получить в виде XML по адресу /xml.
- Прошивка откомпилирована с поддержкой модулей с флеш памятью PUYA.
- Отображается размер SPIFFS, ссылка на форматирование появляется при ошибке файловой системы.
16.03.2019 v0.06
- Добавлен протокол MQTT. Описание настроек http://imlazy.ru/rolls/mqtt.html
10.04.2019 v0.07
- Добавлена встроенная в esp8266 подтяжка пина концевика. На платах NodeMCU и тому подобных, отпадает необходимость во внешнем резисторе, R8 по схеме.
- Добавлена настройка безопасного порога, количество шагов, при которых штора игнорирует концевик, пока не выползет из зоны его действия. Для герконов и датчиков Холла можно установить значение больше стандартных 100.
02.06.2020 v0.08
- Сделан плавный пуск двигателя. Это чуть повысило мощность мотора и максимальную скорость, но незначительно. Пока в черновой реализации и без какой-либо настройки.
- Прошивка проверена и скомпилирована с Arduino core for ESP8266 v2.7.1. Исправило отваливание wi-fi сети в некоторых случаях.
- Исправлен баг в JavaScript, из-за которого иногда лагал веб интерфейс, при загрузке страниц и сразу после.
- Во время движения по MQTT в формате JSON сообщается не только текущее положение, но и точка назначения (destination, в процентах).
- Синий светодиод теперь используется. Он кратко моргает при подаче питания. После каждой неудачной попытки подключиться к основной сети зажигается на 1 секунду. Если к сети подключиться с трёх попыток не вышло, светодиод горит непрерывно, значит создана собственная WiFi сеть. (Оранжевый светодиод программно не управляется, подключен напрямую к питанию. Его можно только отпаять/откусить/заклеить.) В нормальной работе функцию диода можно указать в настройках, а также менять по http/mqtt. Более подробно imlazy.ru/rolls/led.html.
- Отображается напряжение питания для новых плат. На старых, при желании, можно допаять два резистора. Цепочка Vin - 150K - esp_adc - 10K - GND.
- Исправлен баг с максимальным количеством шагов игнорирования концевика при опускании шторы. Теперь работают значения более 255. До 65000. Актуально для герконов и датчиков Холла. Спасибо acu73.
- Исправлен баг с невозможностью указать порт MQTT сервера более 9999. Спасибо George Tkachenko.
29.01.2021 v0.09
- Исправлен баг со сбивающимся временем.
- Пресеты для точного позиционирования шторы. Актуально для штор день/ночь. Положения задаются в настройках. Могут использоваться в расписании.
- Добавлены команды для MQTT. "=NNNNN" (без кавычек) - позиционирование шторы в шагах. "@N" - переход к пресету N.
- Добавлен http-запрос /set?steps=NNNNN (NNNNN = 0 - 65000, в шагах мотора).
- Добавлен http-запрос /set?preset=N (N = 1 - 5). Переход в заданное положение.
- Добавлено автоматическое перенаправление на страницу настроек при подключении к шторе в режиме точки доступа (первоначальная настройка).
- Добавлены MQTT-комманды open и close. Равнозначны on и off. Для удобства интеграции с HA.
- Добавлен MQTT Discovery для Home Assistant. Включается в настройках, автоматически добавляет штору в HA.
- Библиотека для работы с MQTT изменена с AdaFruit на PubSubClient (by Nicholas O'Leary).
- Концевик может быть установлен на полностью закрытое положение, вместо открытого. Например, для жалюзи.
- Проценты в MQTT командах и статусах можно поменять на обратные, т.е. 0% значит закрыто, 100% - открыто. Так по умолчанию считает Cover в Home Assistant.
30.03.2021 v0.10
- Исправлен баг с количеством шагов игнорирования концевика. Фактическое было в 8 раз меньше указанного в настройках.
- Повышена точность измерения напряжения, на платах с резисторами на ADC.
- Добавлена поддержка драйверов Step/Dir моторов (например, NEMA17). Можно подключать двигатели и драйвера от 3D принтеров. Распиновка пока фиксированная, En 4, Step 13, Dir 12.
- Минимальное время шага уменьшено до 50 мкс (было 100). Этого должно хватить, чтобы крутить обычный NEMA17 на практически максимальной скорости при 1/16 шага.
- В MQTT добавлен топик присутствия (alive/живой). В него отправляется "online" при подключении к MQTT и "offline" при отключении, в т.ч. аварийном, по "завещанию" (LWT). В Home Assistant используется как availability topic, для определения состояния привода.
- В настройках можно изменить количество шагов, которое привод прокручивает вверх в поисках концевика после предполагаемого нуля. Если поставить 0, запаса не будет. Если поставить большое число, будет дольше крутить вверх, пока не сработает концевик. Но в случае проблем с концевиком, может привести к перегреву мотора или поломке шторы. Менять не рекомендуется.
- Добавлена возможность подключения кнопки для управления. Подключается на Gnd и один из пинов GPIO 0(DTR)/2/3(RX), который выбирается в настройках. При движении нажатие кнопки останавливает штору, двойное нажатие - останавливает и перезапускает в противоположном направлении. Долгое нажатие (1 секунда) - отправляет в первый пресет или во второй, если штора уже в первом.
- Синий диод можно настроить на мигание при нажатии на кнопку.
- Легкий редизайн внешнего вида, в первую очередь мобильной версии. JS-код вынесен в отдельный файл в spiffs.
- Статичные файлы сжаты gzip'ом.
- Обновлена страница /update, добавлены подсказки по перепрошивке.
- ACE - e-mail