- Умные шторы своими руками
- Автоматическая рулонная штора
- Конструкция электронного блока управления рулонной шторой
- Концевые датчики схемы автоматики
- Конструкция электронного блока автоматики
- Детали устройства автоматики привода рулонной шторы
- Изготовление и установка электропривода на рулонные шторы
- Контроллер
- Принцип работы
- Таблица данных регистров ModBus
- Корпус контроллера
- Доработка механизма рулонной шторы
- Немного про организацию моего подключения контроллеров электропривода рулонных штор
- Подключение электропривода
Умные шторы своими руками
Однажды, после тяжелого рабочего дня, я пришел домой и понял, что хочу отдохнуть, а не ходить и закрывать шторы. Хочется увидеть их закрытыми вечером и открытыми утром, при этом не выделывать танцы перед окном. Погуглив разные решения, было принято решение сделать все самому.
По многочисленным просьбам, выкладываю все свои наработки по переделке обычных рулонных штор в автоматизированные с удаленным управлением. Осторожно, много фотографий!
Для начала про рулонные шторы:
- Плюсы: рулонные шторы визуально расширяют пространство, красивые и недорогие. Очень простой монтаж. Можно каждым окном управлять отдельно. Высвобождается место на подоконнике.
- Сложности: вручную открывать 5 окон уже занимает долго времени. Открыть полностью угловое окно мешает сам механизм (пример: механизм вверху балконной двери упирается в стену и не дает открыть проход полностью). Из-за этого необходимо вешать шторы с наружной стороны окна. Цена даже на китайские моторизированные шторы начинаются от 2000 рублей, умножаем на 5 и уже сразу же думаем, как сделать все подручными средствами.
Немного про задачи:
Необходимо добавить к обычным рулонным шторам из строительного магазина удаленное управление и подключить к умному дому на openSource платформе Home Assistant. И еще необходимо сохранить обычное управление за веревочку.
Если все автоматизировать, то скорость не играет роли, поэтому можно применять двигатели с редуктором. Коллекторные двигатели дешевые, но не самая надежная вещь для ежедневного применения. Сервомашинки тоже имеют коллекторные двигатели и плюс не стабильные при постоянном вращении. Отличным вариантом выглядят шаговые двигатели. Бесшумные, можно контролировать положение, стоят копейки. В итоге, комплект из 5 двигателей 28BYJ-48 с драйвером ULN2003 обошелся мне в 10$
Про двигатель 28BYJ-48:
Подробно о нем можно почитать здесь.
Были вопросы о мощности этого двигателя. Опасения что он будет слабым, не оправдались. Вернее так — если использовать полношаговый режим, то двигатель очень хилый, если использовать полушаговый, то вал уже голыми руками не остановить. Кому будет мало мощности, в интернете много статей как приподнять напряжение, превратить его в биполярный и прочие улучшения.
Так как у нас осталось ручное управление, и мы не хотим впустую гонять двигатель, то необходимы датчики положения штор. Минимум необходим один датчик на одном конце, но лучше два. Можно использовать любой концевой, оптический и т.д., но я лично выбрал герконовый, т.к. приклеить неодимовый магнитик с другой стороны очень просто и работать должен стабильно и долговечно. Сами герконы я выбрал для эстетики уже в корпусе. Плюс предусмотрел настройку по расстоянию от вала. По высоте можно регулировать проставками.
Про конструкцию крепления:
Задача была спроектировать корпус максимально простой для изготовления на 3д принтере с минимальными доработками. Моделировал в Fusion 360. Комплектное крепление цепляется за верх окна, но такую конструкцию на FDM принтере будет трудно сделать с нужными требованиями по прочности, поэтому была придумана конструкция с одним винтом для регулировки.
Итого получилось три детали для 3д-печати. Ссылка для скачивания 3д-моделей.
thingiverse
Основная часть для двигателя, платы управления на ULM2003, креплением герконов, двигателей, лески для стабилизации штор, и регулировочного винта.
Крышка для закрытия всего этого безобразия. Зажим или по-другому крюк.
Сама конструкция штор содержит несколько пружин, которые работают как тормоз если тянуть за шторы(пружина затягивается) или отпускает если крутить за веревку.
При сборке надо сделать одну доработочку: кусачками сломать ободок, который прикрывает веревку, т.к. теперь у нас есть свой неподвижный ободок, который не дает выпасть веревочке.
Управлять шаговым двигателем будет NodeMCU на ESP8266. Он выбран из-за дешевизны, наличия резервного канала wi-fi и на нем достаточно легко написать нужные скрипты. Если нужно больше чем две шторы или дополнительные датчики, то ножек микроконтроллера уже не хватит, можно посмотреть в сторону ESP32. (на фото esp32 не приведена, т.к. она в распределительной коробке)
Среда разработки может быть любая. ESP32 может программироваться через Arduino IDE. Но я для себя выбрал Visual Studio Code из-за скорости, модульности и бесплатности. В этой среде можно разрабатывать почти под любые платформы (не только железо). Можно даже подключить IAR ARM.(но это уже совсем другая тема)
Задача программы простая:
Подключиться по Wi-fi
Подключиться к MQTT брокеру
Подписаться на топик
Управлять скоростью двух моторов
Следить за состоянием концевых датчиков
Отправлять брокеру текущие шаги
Исходники можно взять отсюда.(осторожно это самый первый быдлокод для пробы штор). В коде надо указать свой логин и пароль от wi-fi. А также параметры MQTT-брокера.
Заливаем программу и пробуем отправить первые данные через MQTTBox. Все работает! Как добавить шторы в систему home-assistant я напишу отдельную статью, если будет интересно всем.
Небольшое видео как это делалось:
Плюс выступление на какой стадии находится у меня умный дом.
Всем пожелаю расслабиться дома!
UPD: Ссылка на скачивание файлов для печати на 3д-принтере
Источник
Автоматическая рулонная штора
В ранее я показал как просто и дешево сделать привод рулонной шторы. В процессе опытной эксплуатации через несколько месяцев собрал схему автоматики управления проводом шторы. Автор делится секретом построения своими руками системы автоматики управления приводом шторы. Принятые решения и электрическую схему с фото и видео смотрите и читайте ниже.
Конструкция электронного блока управления рулонной шторой
Итак через несколько месяцев заряда аккумуляторов едва хватало на подъем шторы.
Штатное зарядное устройство не могло обеспечить питание двигателя. В качестве источника питания применил сетевой источник питания напряжением 5 Вольт и током до 3 Ампер. С повышенным напряжением питания привод стал гораздо быстрее поднимать штору. Кнопкой остановить штору в нужном месте стало проблематичным. Жизнь потребовала автоматизировать этот процесс.
Для упрощения управления шторой разработал простое электронное устройство с кнопочным управлением. Устройство с успехом может быть применено и для управления подъемными гаражными воротами. Возможна модернизация схемы с применением контроллера Arduino. Работу начал с установки концевых датчиков.
Концевые датчики схемы автоматики
Для работы схемы автоматики установил концевые герконовые датчики. Датчики управлялись мощным магнитом установленным в нижней планке шторы. Магнит извлечен из старого HDD (подробнее читайте здесь). Датчики срабатывают при приближении магнита. Верхнее положение контролирует один датчик, а вот для нижней точки установлено два геркона включенных параллельно для надежной «ловли сигнала». Пластмассовые корпуса датчиков лучше крепить на проверенный двойной скотч или лучше сразу строительным клеем.
Конструкция электронного блока автоматики
На фото представлена схема электронного блока автоматики
Принцип работы схемы системы автоматики.
Допустим штора находится в открытом состоянии и концевой датчик GC2 находится во включенном состоянии:
- Если нажать кнопку КН2 «↑» , то ничего не произойдет, так как кнопка закорочена на землю замкнутыми контактами геркона GC2.
- Если кратковременно нажать кнопку КН1 «↓», то откроется транзистор VT1 током текущим через резистор R1. Сработает реле Р1. Контактами Р1.1 реле подаст питание на работу электромотора и штора начнет опускаться. Одновременно контакты P1.2 разорвут цепь питания кнопки КН1 и заблокируют работу кнопки КН2.
- При опускании шторы в нижнее положение сработает датчик GC1 и выключит реле Р1 — устройство остановится в режим ожидания.
Аналогичный режим работы устройства и при движении вверх при срабатывании контактов Р2.1 двигатель будет вращаться в другую сторону.
Если требуется остановить штору в каком-либо промежуточном положении, то нажатие кнопки КН3 «Стоп» приведет к обесточиванию реле, соответственно к выключению двигателя и установки устройства в режим ожидания.
Схема питается от мостового выпрямителя выпрямляющего переменное напряжение 18 Вольт со вторичной обмотки трансформатора Т1. В цепь питания сетевым напряжением установлен плавкий предохранитель на 0,5 А. Электродвигатель питался от отдельного стабилизатора на микросхеме КРЕН5 закрепленной на мощный радиатор. В дальнейшем в привод был установлен элекродвигатель от принтера на 24 Вольта и схема приняла показанный вид.
Оказывается все двигатели в электроотвертках, шуруповертах, игрушках и принтерах по размеру и креплению унифицированы.
Конечно схему можно и нужно собрать на полупроводниковых ключах. Но собрал из того что было и жалко было выбросить
Детали устройства автоматики привода рулонной шторы
Транзисторы применил кремневые средней или большой мощности структуры n-p-n. Реле серии РЭС9 паспорт РС4524200. Диоды VD обыкновенные выпрямительные — устанавливать обязательно. Кнопки любые на размыкание. Конденсатор в фильтре емкостью 500- 100 мкф на 50 вольт. Мостовой выпрямитель любой на ток 3-4А.
Монтаж проведен своими руками навесным способом на контактах реле. Реле установлены на текстолитовой плате. Элементы управления, трансформатор и электроника помещены в подходящий корпус. На корпусе установлена розетка типа DB9 для для подачи сигналов от датчиков и питания двигателя привода. Смотрите фото.
Монтаж схемы
Розетка DB9
Самодельное штора надежно работает (сейчас 2020 год). Схему автоматики можно с успехом использовать для управления и другими устройствами. В перспективе намечено сделать автоматику управления шторой на плате Arduino. Arduino позволит просто сделать управления через ИК пульт и автоматику работы от датчиков освещения.
Пример работы шторы в нынешнем состоянии смотрите на видео
Источник
Изготовление и установка электропривода на рулонные шторы
Электропривод выполнен на базе миниатюрного 4-х фазного шагового двигателя 28BYJ-48-12V . Двигатель имеет редуктор с передаточным числом приблизительно 64:1, что обеспечивает достаточно приличный крутящий момент для такого размера двигателя и скорость вращения
Схема фаз двигателя 28BYJ-48-12V
Передаточное число редуктора двигателя 28BYJ-48-12V составляет примерно 64:1.
Контроллер
В качестве мозга электропривода использован микроконтроллер Atmega328. Он общается с внешним миром через шину RS485, по протоколу ModBus, шина выполнена на микросхеме MAX485. Шаговый двигатель подключается через транзисторную сборку Дарлингтона — ULN2003. В качестве датчика нулевой точки использован датчик Холла A3144, он служит для определения верхней нулевой точки (Zerro) положения шторы. Еще один датчик Холла (Mode) припаян непосредственно на самой плате и выполняет следующие функции:
- Активация режима обучения
- Аварийный останов двигателя
- Сброс контроллера на заводские установки
Дополнительно на плате контроллера предусмотрены входы для фоторезистора (например vt90n) и герконового датчика открытия окна.
Схема электрическая принципиальная электропривода рулонных штор на шаговом двигателе 28byj-48
Код прошивки микроконтроллера написан в среде Arduino IDE и находится в открытом доступе на моей странице GitHub.
Принцип работы
После подачи питания устройство несколькими миганиями светодиода, установленного на плате, сигнализирует о включении. После включения питание на двигатель не подается, штора находится в неподвижном состоянии.
Для того чтобы контроллер знал текущее положение шторы его необходимо обучить. Для этого в ручную опускаем штору в нижнее положение на необходимую длину, подносим кратковременно магнит к датчику Mode на контроллере (датчик установлен в районе светодиода), при этом светодиод начнет мигать, сигнализируя активацию режима обучения, на двигатель подается управляющий сигнал и штора начинает двигаться вверх до верхней нулевой точки где останавливается по сигналу от датчика Холла установленного в креплении корпуса контроллера. Контроллер при этом запоминает количество шагов двигателя и сохраняет это значение в энергонезависимой памяти EEPROM микроконтроллера.
Если к датчику Mode поднести кратковременно магнит во время движения шторы, то контроллер сразу остановит движение.
Для сброса контроллера на заводские установки необходимо поднести магнит к датчику Mode не менее чем на 5 секунд, при этом светодиод начнет быстро мигать, контроллер перезагрузится и установит все значения параметров на заводские.
Для управления положением шторы используется регистр set_position, положение задается значением от 0 до 100, где 0 — открыто, штора находится в верхней точке, а 100 — полностью закрыто, штора находится в нижнем положении.
Если в конфигурации контроллера активировать функцию «Определение текущего положения шторы после подачи питания» — регистр check pos flag (0- выключено, 1 — включено), то сразу после подачи напряжения на контроллер, штора начнет движение вверх до верхней точки, в этот момент контроллер запоминает количество шагов и по достижении верхней нулевой точки, штора возвращается в положение в котором находилась до момента подачи питания. Эта функция служит для определения положения шторы например когда отключили электричество. Если эта функция отключена, то при подачи питания штора остается в текущем положении до момента подачи команды set_position, как только контроллер получит первую, после подачи питания, команду он сначала запустит функцию определения текущего положения шторы и только после этого выставит положение шторы поступившее командой set_position.
Таблица данных регистров ModBus
Стандарт ModBus предусматривает отдельную таблицу для каждого типа данных, в контроллере же все данные хранятся в одном массиве в виде перекрывающихся таблиц. Значение всех регистров и адресов представлены в таблице:
Корпус контроллера
Корпус для устройства был спроектирован в программном комплексе Autodesk Fusion 360 и распечатан на 3D принтере из ABS пластика. Точность печати меня не устроила, поэтому детали корпуса были зашпатлеваны, отшлифованы, загрунтованы и окрашены акриловой краской из баллончика, это скрыло все изъяны 3D печати. После чего была изготовлена силиконовая форма и корпуса были отлиты из жидкого полиуретана. Про изготовление корпусов методом литья жидкого полиуретана в силиконовые формы постараюсь описать отдельной статьей.
Корпус спроектировал в программе Autodesk Fusion 360
Доработка механизма рулонной шторы
Внешний вид механизма рулонной шторы. Нам необходимо обрезать козырек над шестерней цепочки
Нажимаем плоскогубцами защелку
Снимаем верхнюю втулку
Выступ во втулке служит механизмом стопора, при попытке размотать штору за полотно, выступ упирается в пружины и тем самым сжимает их на валу не позволяя втулке вращаться.
Полностью разобранный механизм
Сначала откусываем козырек бокорезами
Зажимаем в патрон шуруповерта
На крупнозернистой наждачной бумаге немного стачиваем край по окружности до нужного диаметра
Должно получиться примерно вот так
Примеряем, проворачиваем вал и смотри чтобы ничего не задевало и не подклинивало
Собираем все в обратной последовательности
Идеально
Немного про организацию моего подключения контроллеров электропривода рулонных штор
У меня в каждом окне стоит «комнатный» контроллер построенный на Arduino UNO + Ethernet Shield W5100, в задачи которого входит сбор показаний температуры воздуха в приточном клапане вентиляции, температуры радиаторов отопления (DS18B20), температуры и влажности помещения (DHT22), передача сигнала датчика движения (DSC LC-101) и датчика открытия окна (геркон), а так же управление сервоприводом приточной вентиляции.
Я решил добавить в него еще и функцию прослойки между шиной RS485 рулонных штор и сервером IoBroker, данные в который передаются по протоколу MQTT. Таким образом у меня на этот «комнатный» контроллер легли функции мастера сети ModBus. Все контроллеры штор одного окна подключены по шине RS485 к мастеру, он с периодом 2 секунды опрашивает подчиненных (контроллеры штор) и отдает текущие данные по протоколу MQTT на сервер умного дома IoBroker.
Так же мастер принимает команды по MQTT от сервера и отправляет их подчиненным. Так как подчиненных несколько и мастер не может одновременно отправить управляющие команды сразу всем, а по MQTT практически одновременно может поступить несколько команд (например команда открыть 1,2 и 3 штору) то мастер отработает только первую. Чтобы команды не терялись на мастере был организован буфер, что то подобное FIFO (англ. first in, first out — «первым пришёл — первым ушёл»). пришедшие данные по MQTT записываются в массив после чего мастер по в общем цикле программы проверяет свободность шины RS485 и отправляет команду ModBus из нулевого элемента массива очереди, сдвигает данные команд массива влево и цикл повторяется пока в массиве очереди есть данные.
Подключение электропривода
Для подключения контроллера используется всего 4 провода, 2 из них это +-12 В — питание контроллера и двигателя, и 2 провода для шины RS485.
Верхняя плата (левый)
Нижняя плата контроллера (левый)
Источник