Рулонные шторы с электроприводом своими руками пошаговая инструкция

Всем добрый день.

Имеется проблема, а именно плотная застройка, то есть дома расположены очень близко друг к другу. И в темное время суток без плотных штор с включенным светом чувствуешь себя как в аквариуме. Для живущих противоположного дома ты становишься участником реалити шоу.

Но при этом же когда в квартире ночью выключен свет, уличное освещение выступает в роли ночника, и без проблем по квартире можно ходить не используя дополнительных источников света. А когда есть маленькие дети то это очень удобно. Поэтому ночью все шторы открываются.
Вот и приходится постоянно дергать эти шторы туда сюда, что уже изрядно надоело.
Изначально была мысль купить какой то готовый вариант но увидев цену на все это дело я понял что не так уж и сильно мне надоело их постоянно открывать и закрывать.

Даже у друзей из под небесной не оказалось приемлемого варианта по цене.

Ну если нельзя купить, то будем делать сами. И здесь есть еще одна проблема, практически во всех вариантах самостоятельного изготовления привода штор, которые нам предлагает интернет нам нужен 3D принтер. Для изготовления нового крепления штор.

3Д принтер штука хорошая но у меня его нет, поэтому буду изобретать крепление сам.
Для привода понадобится механизм крепления для рулонных штор. Такой механизм идет в комплекте с недорогими шторами или продается отдельно.

В качестве привода использовал популярный шаговый двигатель на 5 вольт 28BYJ-48. Я не буду текстом описывать процесс сбора данного крепления кому интересно в конце статьи будет видео где подробно все показана. Вот что у меня в итоге получилось.

Так как у меня окно состоит из двух створок мне понадобится 2 привода.
С механической частью все. Теперь перейдем к электрической. Из за того что использую шаговый двигатель, просто так его подключить не получится. Для его подключения нужен драйвер и устройство которое будет подавать определенную комбинацию импульсов на его обмотки.
В качестве этого устройства будет выступать ArduinoNANO. Как видно для теста было собрано два варианта управляющей электроники на макетной плате.

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

Второй это в качестве датчика использовать датчик холла и магнит. Именно этот вариант в итоге я использовал.

Сам датчик можно просто закрепить на окне, но я решил сделать для него корпус. В качестве корпуса я использовал колпачок от кнопки. Все внутренности из него выковыриваются, напаиваются провода на датчик холла. И далее я просто его вклеил в колпачек с помощью все того же суперклея с отвердителем.
Сам магнит закрепил в нижней планке шторы, так как у меня были круглые магниты то я использовал их но для такой цели лучше подойдут прямоугольные магниты. Так как при подъеме шторы ее может намотать неровно и магнит может увести немного в сторону и с круглым магнитом датчик может не сработать. Но у меня пока таких проблем не было.
Далее для полной автоматизации еще нужны датчики освещенности. В качестве такого датчика использовал фоторезистор, надежно и дешево.

Для датчика так же сделал корпус и опять же использовал колпачок от кнопки с прозрачной крышкой. И так же вклеил все это с помощью суперклея. Необходимо 2 таких датчика.
Теперь все это дело можно собирать.
В качестве корпуса для начинки использовал небольшую клемную коробку.

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

Что мы имеем на плате. АрдуиноНано в качестве мозга, 2 драйвера для управления шаговыми двигателями, микросхемы можно взять из плат которые идут в комплекте или приобрести отдельно. Кнопки для выбора режима работы и ручного управления, светодиоды которые показывают в каком режиме сейчас работает блок и разъемы для подключения всех датчиков и приводов.
Еще из за того что штатные провода привода очень короткие то их необходимо удлинить а еще лучше заменить. Для подключение приводов и датчиков я использовал шлейф.

Здесь есть один момент так как шлейф получается очень длинный а сечение у него очень маленькое то и на приводы необходимо подавать не 5 вольт а 6,5-7. Я запитал все от зарядного от мобильника повысив напряжение с помощью DC-DC преобразователя.

Вот такой установочный комплект в итоге получается 2 концевых датчика холла, 2 датчика освещения, 2 привода, плата управления и дисплей, дисплей использовал только для настройки.
Перед установкой все подключаю и проверяю как все работает.
После подачи питания включается калибровка системы, при калибровки шторки поднимаются до упора в верх. При подъеме шторы в верхнее положение срабатывает датчик холла и процесс подъема останавливается. Когда сработают 2 датчика калибровка окончена. И контроллер переходит в рабочий режим.
Так как это шаговые двигатели, условно говоря мы знаем в каждый момент времени на сколько опущена штора. В моем случае 0 это штора полностью поднята а 60 тысячь шагов штора полностью опущена. Поэтому в нижнем положении не нужны концевые датчики мы отсчитали нужное количество шагов и все. И даже больше концевые датчики которые использовались для калибровки в рабочем режиме не используются. И при подъеме шторы в верхнее положение число шагов уменьшается пока не достигнет нуля, это и будет означать что штора поднялась в верхнее положение.
Принцип работы довольно таки прост. Если на улице стало темно и значение освещенности опустилось ниже заданного порога или разность между уличным и комнатным освещением стала выше заданного порога то шторы закрываются. Ну и наоборот если на улице стало светло шторы открываются.
По мимо автоматического режима есть 3 ручных. Первый режим управление 2 шторами одновременно и два режима управление левой и правой шторой по отдельности.
Переключение между режимами выполняется с помощью удержания центральной кнопки. Так же выбранный режим индицируется с помощью светодиодов. При автоматическом режиме светодиоды не светятся, а при ручном светится в зависимости от выбранной шторы.

После установки все выглядит таким образом.

Все провода проложены в кабельканале.
Так же с верху установлен датчик освещения.

Ниже видим вывод наружного датчика освещения.

После полной установки если не знать куда смотреть то и не видно никаких изменений. Тем более после того как приводы и провода были покрашены белой краской.

Есть один большой недостаток работы с такими приводами это скорость работы. Это максимальная скорость подъема и опускания штор. По замерам они полностью опускаются за 1 минуту, а поднимаются за 1 минуту 15 секунд. Но зато делают это абсолютно бесшумно.
Поэтому пришлось немного изменить принцип работы. Теперь ночью шторы полностью не открываются, для того что бы при включении света шторы быстрее закрывались. При таком положении время закрытия уменьшилось в двое, но при этом попадает освещения в комнате хватает и можно без труда подойти и посмотреть в окно.

И в таком варианте все работает уже 3 месяца. Да я не сделал что бы можно было управлять всем с пульта с телефона или через интернет. Мне этого не нужно, мне нужно было что бы я их включил, и забыл, а они пускай работают там себе тихонько. И они работают, я их неделю могу не трогать и все работает прекрасно, нет никакого рассинхрона между левой и правой шторой, и все также опускаются и поднимаются на один и тот же уровень.

Печатная плата и прошивка здесь
Ну и на этом все всем пока.

В этом обзоре я поведаю о том, как изготовил электроприводы для обычных рулонных штор. В конструкции использовалось Sonoff RF реле и двигатели с Алиэкспресс. Если интересно — прошу под кат.

Опережая события, покажу, что получилось.

С чего все начиналось.

Немного истории

Еще с детства я мечтал об электрических шторах. Как было бы хорошо плавно и естественно просыпаться под утренние лучи солнца! Тогда еще у меня были обычные шторы. Электропривод для них был вполне реализуем, об этом я узнал в Сети. Интернет тогда только начал проникать в наши дома. Но единственной преградой были карнизы для штор. Они были металлическими и крючки в них немного застревали. Требовалась замена карнизов, а на это я тогда не был готов.

Прошло много времени…
Я переехал и начал снимать бюджетную квартиру. Там на окнах были горизонтальные жалюзи. На них-то я впервые и установил электроприводы. Это было замечательно! Утром ко времени подъема жалюзи открывались, комната освещалась утренними лучами солнца и мы просыпались легко и непринужденно.

Реализованы приводы были довольно своеобразно: из DVD плееров с разборки я достал моторы с редукторами, удалил лишнее и установил в два небольших пластиковых корпуса. Эти моторы были установлены на нижних частях двух окон и вращали трости жалюзи. Требовалось четыре оборота трости для открытия или закрытия. Для управления я собрал небольшой контроллер. Он представлял собой ATmega8 с дисплеем. Имелось два «будильника» на открытие и закрытие, а количество оборотов трости задавались задержкой «delay_ms». В добавок можно было вручную открыть или закрыть жалюзи, имелись автоматический и ручной режимы.

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

Планирование.

Прошло еще несколько лет.
Я снова переехал, в этот раз уже в свою квартиру. Познав все прелести электро окон я не хотел от них отказываться и еще на этапе ремонта проложил гофру под кабель. Какие приводы будут установлены, я еще не знал.
На Алиэкспресс есть моторы для рулонных штор. Для моей комнаты понадобилось бы три мотора и пульт. Да и шторы просто так не купить — нужно собирать самому. Все это выливалось в кругленькую сумму. Позвонил в фирму, которая продает моторы для штор и сами шторы с электроприводом — цена огорчила еще больше.
Выход остался один — снова сделать все собственными руками.
Без штор жить не комфортно и были куплены рулонные шторы оффлайн. Жизнь продолжалась, а тем временем в голове жужжали мысли и формировался план действий…

В итоге было принято решение к имеющимся рулонным шторам добавить моторы с редукторами, установить концевики, чтобы все было красиво и автоматично, и организовать управление при помощи Sonoff реле. Используя такое реле удалось получить такие функции как удаленное управление по WiFi и при помощи пультов на 433МГц, гибкие настройки дня и времени открытия/закрытия и др. К тому же это все стоит недорого, не нужно писать и отлаживать программу, травить плату. Берем на вооружение!

Во время написания статьи я обнаружил, что на Али есть и приводы цепи штор — и тут китайцы нас спасают. Можно было просто купить…

Подготовка и доработка комплектующих.

Итак, приступим. Для начала, перед покупкой двигателей, я попытался измерить требуемое усилие на открытие. Радиус колеса шторы примерно 1 см и измерив какая масса, приложенная к цепи, будет поднимать штору, получим приблизительное значение требуемого крутящего момента двигателя. Я использовал пластиковую бутылку, наполненную водой. Оказалось, что требовалось около 1,5-2 кг*см для смещения шторы, а это довольно много. Разобрав механизм фиксации я обнаружил, что штора фиксируется и не падает благодаря пружине.

В моем случае их было две. Одну я удалил, и вал смазал маслом. После сборки «измерения» показали, что уже с одним литром воды (1кг*см) штора приходила в движение и сама не падала. Отлично…

Дальше нужен двигатель.
Результатом поисков по Алиэкспресс стали двигатели с редуктором. Можно выбрать требуемый крутящий момент, напряжение и скорость вращения. Я остановился на двигателе 12В, 30 об/мин, 4кг*см. Забегая вперед скажу, что с этим двигателем при напряжении 10В окна открываются за 37 секунд.

Для двигателей нужны корпуса. Самыми компактными подходящими нашлись корпуса Gainta. У них большой выбор пластиковых и алюминиевых корпусов.

После примерки двигателя оказалось, что корпус нужно дорабатывать. Бормашиной и фрезерным станком корпуса были немного доработаны.

И самое интересное — как это все прикрутить к шариковой цепи? Для решения этой задачи я приобрел рем. комплект для таких же штор.

Из этого комплекта нам понадобится деталь, отмеченная стрелкой. Её нужно будет превратить в колесо с резьбой М6. На этой детали удаляем все лишнее, вклеиваем две гайки М6 на эпоксидную смолу, все накручиваем на резьбу и клеим на эпоксидку. Сразу скажу, что гайки не обычные, а резьбовые вставки М6-М8*1,5. Таких в продаже нет, они были честно

спионерены

позаимствованы на работе. Поэтому придется импровизировать, если осмелитесь повторить сие безумие. К сожалению, фотографий процесса переделки не сохранилось. Тут прошу меня извинить.
Имеем двигатели с редукторами и колесами для шариковой цепи в корпусах.

Попытка изобразить переделку

Берем эту штуку. Разбираем с торца, сжав защелки. Получается две детали. Обрезаем по красной линии. Обе половинки одеваем на ось двигателя, мажем все эпоксидкой и зажимаем с двух сторон гайками. :)

Собираем все в систему.

Пришло время паять. Ниже приведена упрощенная схема подключения.

Двигатель управляется драйвером для коллекторных моторов A4950 (PDF) от Allegro.

(Будьте осторожны! Микросхема драйвера чувствительна к статическому электричеству. Во время сборки умерло несколько микросхем.)
Управление на плату драйвера приходит от Sonoff реле через концевые выключатели в виде герконов, установленных внутри штапиков окон. В самом Sonoff реле нужно заменить реле :) на другое с напряжением 5В и группой переключающих контактов. Напряжение 5В для управления берем с источника питания Sonoff реле (электролитический конденсатор с низким напряжением).
Двигатели питаются от отдельного импульсного блока питания.
На самом деле я реализовал все немного сложнее: для питания двигателей я дополнительно использовал понижающие преобразователи, т.к. в зависимости от длины провода скорость вращения двигателей может быть разной, да и скорость вращения можно регулировать. Но это не столь важно.
Корпуса двигателей оказались довольно компактными, что вызвало небольшие трудности с установкой понижающих преобразователей и драйверов. Но все благополучно уместилось.
Так выглядит двигатель с питанием и управлением.


Чтобы ограничить движение шторы, внутрь штапиков были установлены герконы, а на шторы — магниты. Вся проводка уложена в кабель каналы.

На очереди блок управления. Внутри пластикового корпуса уместились блок питания, Sonoff реле и плата задержки, о которой я расскажу чуть позже.

Так блок управления подключается к окнам. Он аккурат расположился под тумбочкой и такая конструкция никак не мешает.

В стене проложена гофра, протянут кабель по которому идет питание и управление. На каждое из трех окон приходит питание 19В, и два управления через герконы.

Запуск и наладка.

Во время сборки я по отдельности проверял работу каждого узла и постепенно собирал все воедино.
Напряжение было снижено до 10В с целью уменьшения шума. Как оказалось, китайские моторы, втроем, неплохо так жужжат, плюс ко всему рамы окон резонируют.
Так же важно, чтобы герконы надежно срабатывали, иначе штора упрется и цепь будет проскальзывать на колесе двигателя. Вся надежность системы упирается в герконы.

Все заработало, вроде как ничего сложного… Если бы не одно «но»! Если ветерок колышет штору, может возникнуть ситуация, когда магнит отодвинется от геркона и т.к. управление подается постоянно, штора начнет двигаться куда не нужно. Таких случаев было достаточно и я решил добавить в систему задержку на отключение управления. Таким образом, через 40 секунд после появления управляющего сигнала контроллер отключает управление на драйверы двигателей. И даже, если штора не остановилась по концевику — остановится по таймеру. К слову, остановки в любом положении не предусмотрено — только открыто или закрыто. Это меня устраивает.

Опыт эксплуатации и резюме.

Результатом моих домомучений стала возможность открывать/закрывать шторы простым нажатием на кнопку настенного пульта ДУ или через приложение eWeLink со смартфона, автоматически открывать и закрывать шторы по времени и по дню недели, удаленно управлять через Интернет. И это, я вам скажу, очень удобно.
К плюсам еще стоит отнести возможность ручного управления. Если система отказала или отключили электричество, можно снять цепи с двигателей и крутить все вручную. Да и сами шторы поменять — не проблема. При использовании шаговых двигателей на оси вала, зачастую, механизм необратимо переделывается и возможность ручного управления ставится под вопрос.
Шум двигателей немного раздражает, но я его слышу только утром, и зачастую сквозь сон. Вечером шторы закрываются, когда меня еще нет дома или я нахожусь в другой комнате.
Так же интересен сам опыт использования Sonoff реле не как устройства коммутации нагрузки, а в качестве управляющего устройства. Можно использовать таймеры, расписание, удаленное управление труднодоступными механизмами и пр.
Интересно, как бы получилось реализовать такое управление при помощи реле от Xiaomi. Гибкие настройки сценариев, интеграция в систему умного дома выглядят многообещающе.
А какие нестандартные варианты использования Sonoff реле знаете вы?
Благодарен, что дочитали до конца. Я не писатель, больше технарь. Старался…

Update.

Немного раздражал шум двигателей. Решил добавить резиновые прокладки между двигателями и рамами окон. Под саморезы подложил резиновые шайбы. Шум уменьшился, рамы больше не излучают звук. Жужжат только моторы.
Поменял магниты на узкие и длинные. Их приклеил горизонтально, немного с выступом за пределы шторы. Концевики стали срабатывать надежнее.

И по обычаю, привет от Ириски.

20 января 2019, 17:39

Содержание

О проекте

1. Инструкция

1.1 Материалы

1.2 Механическая часть

1.3 Электронная часть

1.4 Программная часть

1.5 Настройка и калибровка

1.6 Питание и энергопотребление

2. Сторонний софт

2.1 OpenHab

2.2 Node-red в homekit

2.3 HomeBridge

2.4 HomeAssistant

3. Детальное обоснование

3.1 Мотор

3.2 Драйвер мотора

3.3 Крепление мотора

3.4 Плата управления

3.5 Корпус устройства

3.6 Концевики

4. Опыт использования

4.1 Возможные проблемы

4.2 Дальнейшее развитие

О проекте

Для кого этот проект:

1) у вас уже есть рулонные шторы и вы хотите их автоматизировать;

2) вы не хотите покупать готовое и дорогое решение;

3) вы умеете держать паяльник в руках (хотя бы немного);

4) у вас есть 3D принтер или вы можете где-нибудь распечатать модели;

Проект автоматических штор был начат в 2016 году, это моя самая первая поделка из электроники, я начинал с нулевыми знаниями, у меня был arduino kit набор для экспериментов. Со временем механизм развивался, ненадежные узлы заменялись более надежными, сложный проект превратился в максимально простой.

На начало 2019 года, стоимость одного комплекта модернизации шторы составляет всего 7$ (доставка включена).

Итак, сначала я опишу как собрать штору, без воды, а потом опишу весь свой опыт, предвосхищая комментарии.

1. Инструкция

1.1 Материалы

1) NodeMcu 1.0

2) Шаговый мотор 28BYJ-48 5V

4) DC-DC преобразователь понижающий 12V -> 5V

5) Конденсатор 100мФ

Даю ссылки на лоты с партией 5шт:

Расходники

1.2 Механическая часть

Прежде чем собирать электронную часть, поставьте на печать 4 модели: 3D модели на thingiverse

Я печатал PLA, 0.2 слой, 50% заполнение.

1) Нужно переделать мотор в биполярный. Вскрыть крышку перерезать центральную дорожку. Заодно можно перепаять провода, необходимого размера и в белой термоусадке. Можно покрасить белым лаком.

2) Прикрутить мотор к держателю двумя болтами M3, болты любой длины, даже самые короткие подойдут.

3) Запрессовать вал мотора в муфту. Входит достаточно туго, не надо клея. Затем всунуть муфту в ролик шторы, муфта становится плотно, никаких люфтов быть не должно.

4) Прикрутить мотор к профилю штатными винтами, мотор прикручивается со стороны, где находится веревка управления. (мотор полностью заменяет ручное управление)Штора в сборе, теперь ее можно вернуть на окно.

1.3 Электронная часть

Вырез на корпусе, специально спроектирован под эти коннекторы. Крайняя ножка 5pin (красный провод мотора) соединен с 2pin ножкой питания. Таким образом на мотор приходит 12V.

Тут я использую цветовую схему: синие проводки — одна обмотка мотора, желтые — вторая.И конечно все заливаем термоклеем:)

Тут происходит магия, результат которой, можно увидеть на следующей картинке.

Закрываем крышкой и вешаем на двустороннюю ленту над шторой.

1.4 Программная часть

Прошивка платы последней версии: github (не забудьте поставить звезду проекту)

MQTT

Тут я оставлю примеры команд:

mosquitto_sub -t «/popov/blinds1/#» -v — подписаться на все сообщения

mosquitto_pub -t «/popov/blinds1/command/meta» -m 1 — получить мета информацию

mosquitto_pub -t «/popov/blinds1/command/status» — статус шторы

Все команды можно посмотреть в файле Commands.ino, команды отправляются через топик /popov/blinds1/command/.

Для облегчения работы со шторой, был создан веб интерфейс (о нем дальше).

1.5 Настройка и калибровка

Веб сервер появился с 7 версии прошивки, был сделан на коленке за час. Ему нужно подключение к Интернету.

Определите IP-адрес вашей шторы. (через роутер или посмотрите в Arduino IDE порт OTA)

Когда будете сматывать штору, проверьте положение полотна.

Штора должна наматываться с наименьшим усилием, для этого полотно шторы должно располагаться ближе к окну.

Как калибровать штору

В любом из крайних положений (верхнее или нижнее) нажать на кнопку SET X. Затем, опытным путем подобрать количество шагов, необходимых на полный путь мотору. У меня 140см штора — 29000 шагов.

1.6 Питание и энергопотребление

Питание шторы — 12В.

Мощность в состоянии покоя — 1Вт.

Максимальная потребляемая мощность — 10Вт. (в момент разгона шторы)

Рабочая мощность — 6.6Вт. (движение на максимальной скорости)

Выбирая блок питания, закладывайте 12Вт мощности на одну штору.

Пример: если у вас 3 шторы, то 3*12 = 36Вт (3А, 12В)

2. Сторонний софт

2.1 OpenHab (2.4+)

Пример настройки для openhab 2.4 и выше, под 2.3 не сработает!

Я использую Expire Binding, советую поставить.

$ sudo nano /etc/openhab2/things/blinds.things Bridge mqtt:broker:blinds [ host=»127.0.0.1″,secure=false ] { Thing mqtt:topic:blinds1 { Channels: Type rollershutter : blinds «Штора» [ stateTopic=»/popov/blinds1/position/percent», commandTopic=»/popov/blinds1/command/stepper»] Type number : target «Target» [ stateTopic=»/popov/blinds1/position/target», min=0, max=100, step=1] } Thing mqtt:topic:blinds2 { Channels: Type rollershutter : blinds «Штора» [ stateTopic=»/popov/blinds2/position/percent», commandTopic=»/popov/blinds2/command/stepper»] Type number : target «Target» [ stateTopic=»/popov/blinds2/position/target», min=0, max=100, step=1] } }

$ sudo nano /etc/openhab2/items/example.items Group:Rollershutter:MIN Blinds «Шторы» <rollershutter> (Blinds) Rollershutter Blinds1 «Штора 1» <rollershutter> (Blinds) Number Blinds1_Target «Штора 1: Target» Rollershutter Blinds2 «Штора 2» <rollershutter> (Blinds) Number Blinds2_Target «Штора 2: Target»

<span class=»cm-def»>$ sudo</span> nano /etc/openhab2/sitemaps/example.sitemap Frame <span class=»cm-def»>label</span><span class=»cm-operator»>=</span><span class=»cm-string»>»Шторы»</span> { Default <span class=»cm-def»>item</span><span class=»cm-operator»>=</span>Blinds Default <span class=»cm-def»>item</span><span class=»cm-operator»>=</span>Blinds1 Default <span class=»cm-def»>item</span><span class=»cm-operator»>=</span>Blinds2 }

Habpanel виджет

Инструкция к плагину находится здесь

2.2 Node-red

Mqtt версия сниппет

Управление кнопкой: одиночный клик — запуск в противоположном направлении; долгое нажатие — опускать/открывать, пока не отпустишь, двойной клик — остановить сниппет

2.3 HomeBridge

npm install -g homebridge-mqttthing

{ «accessory»: «mqttthing», «type»: «windowCovering», «name»: «Штора 1», «logMqtt»: true, «mqttOptions»: { «keepalive»: 30 }, «mqttPubOptions»: { «retain»: true }, «topics»: { «getCurrentPosition»: «/popov/blinds1/position/percent», «getTargetPosition»: «/popov/blinds1/position/target», «setTargetPosition»: «/popov/blinds1/command/stepper» }, «positionStateValues»: [ «decreasing-value», «increasing-value», «stopped-value» ] }

2.4 HomeAssistant

Установить плагин для Lovelace UI cover-slider-entity-row.js

~.homeassistant/www/plugins/cover-slider-entity-row.js

#configuration.yaml cover: — platform: mqtt name: «Штора 1» command_topic: «/popov/blinds1/command/stepper» set_position_topic: «/popov/blinds1/command/stepper» set_cover_position: «/popov/blinds1/command/stepper» position_topic: «/popov/blinds1/position/percent» position_open: 100 position_closed: 0 qos: 0 optimistic: false retain: true payload_open: «UP» payload_close: «DOWN» payload_stop: «STOP»

#ui-lovelace.yaml resources: — url: /local/plugins/cover-slider-entity-row.js?v=3 type: js views: — title: Комната — type: entities title: Шторы entities: — type: custom:cover-slider-entity-row entity: cover.blinds_2

3. Детальное обоснование

3.1 Мотор

Мотор выбирался исходя из цены, себестоимость одной шторы не должны была превышать 10$. Выбор шаговых моторов совсем небольшой. Nema17 не подходил по габаритам, 40х40 и вал ровно по центру — полная несовместимость со шторой.

Дешевый и надежный кандидат — униполярный мотор 28BYJ-48. У него есть две версии 5В и 12В.

28BYJ-48-5V — Показал наилучший крутящий момент с питанием 12В. Тестов было много. Начинает нагреваться после 3х минут использования, после 5 минут становится реально горячим. Его нельзя перегружать работой. При питании 5В не показывает должного крутящего момента.

28BYJ-48-12V — Не оправдал моих ожиданий, пробовал питание 12В и 24В, оказался хуже 5В версии. Но это было с другими драйверами! Прямо сейчас еще несколько таких моторов едут ко мне для новых тестов — не будем списывать его со счетов.

3.2 Драйвер мотора

Выбор драйвера был долгим и неочевидным. Шло время, менялись драйверы, появлялись новые, уменьшались размеры…

Все изменилось с приходом 3д принтеров, появились новые, мощные, небольшие драйверы, выбор огромен. Я остановился на dr8825, как проверенном варианте.

3.3 Крепление мотора

На что надо обратить внимание:

1) соосность, представьте ролик шторы, он должен стоять ровно относительно горизонта, в одинаковом отдалении от окна, иначе штора будет наматываться неравномерно, мотору будет тяжело крутить;

2) нужно максимально облегчить работу мотора, полотно шторы должно располагаться ближе к окну (представьте рулон туалетной бумаги, как он у вас висит: кончиком к стене или наружу?). Ничто не должно тормозить или задевать штору;

3) пропуски шагов — нужно исключить полностью, если они есть — это значит, что что-то не так. Стандартные настройки прошивки сделаны с хорошим запасом по крутящему моменту;

4) не допускать перегрева мотора, в прошивке заложена защита от перегрева, если мотор работает 3 минуты подряд, скорее всего, что-то пошло не так и он отключается. Но если тестировать штору и «возить» ее вверх-вниз, то можно запросто перегреть мотор, который потом расплавит ваш PLA пластик:) Контролируйте температуру мотора.

Первая версия, много работы дремелем, никакой соосности, трудно повторить, порча материалов.

С появлением 3д принтера, все круто поменялось. Правда похоже на оригинал?

Создание крепления занимает всего 2 часа времени, которое не надо тратить!

Чужой среди своих, каждая деталь подгонялась точно под изделение.

Мои попытки скрыть мотор не увенчались успехом, результат не нравится. (я не силен в 3д моделировании)

Одна из последних версий с крышкой. Я бросил попытки сделать красиво, оставил как есть.

3.4 Плата управления

Версия 1. Arduino, проводной вариант, с выносными кнопками.

Версия 2. Arduino, Bluetooth. Почему блютуз? Потому что только через него можно было удаленно прошить ардуину. Сам модуль, который мог бы прошивать ардуино надо было еще модернизировать из стандартных HC-05/HC-06, это было долго и сложно, поэтому за раз я сделал сразу 7 таких модулей. Чтобы шторы работали без задержек, приходилось держать блютуз соединение всегда открытым, а на малинку ver2, надо было устанавливать блютуз стик.

Версия 3. Ardunio, Bluetooth, Радио 433mhz. Танцы с блютузом надоели, он был оставлен исключительно для удаленной прошивки, сам канал связи был через обычные радио модули. Был разработан простенький протокол передачи данных с проверкой по crc сумме.

Версия 4. Arduino, Bluetooth, nrf24. Эта версия проработала дольше всего. Глюков с сигналом было очень много, nrf24 требовало то питания, то антенны, бывало что несколько модулей из одной партии работали совсем по-разному. Сначала была прошивка на nrf24, потом nrf24network, затем я остановился на MySensors, как на наиболее стабильной. Извечная борьба за место на ардуине, 32кб не хватит никому, со включенным дебагом не хватало места для прошивки.

Версия 5. NodeMcu и ничего лишнего. Теперь я точно могу сказать, что ненавижу ардуину и nrf24.:) NodeMcu дало мне абсолютную власть над кодом и железом. Можно, легко и непринужденно, прошивать девайс по воздуху, 1Мб памяти уж точно хватить всем, встроенный веб сервер для настройки. MQTT протокол, передача данных по wifi — идеально.

На 5 версии прошивка с номером 7, потому что на версии 4 было 3 полностью разных прошивки.

3.5 Корпус

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

Проблемы пришли, откуда я их ждал. Потолок у меня алюминиевый, он отлично пропускал блютуз сигнал. А вот с nrf24 были большие проблемы, сигнал не доходил, даже установка более мощных nrf24 модулей, с антенной, не улучшали ситуацию. Мне пришлось пойти на отчаянный шаг — вынести nrf24 модуль за пределы потолка, именно поэтому я начал экспериментировать с крышкой на крепление мотора, в нее я и прятал сам модуль.

Теперь нам пора заглянуть в музей самодельных штор…

Похоже на спрута?:)

Первая серийная версия, было собрано целых 5 штук.

Места так много, что в корпусе гулял ветер и поместилась макетка целиком.

Эпоха 3д принтера, но старая начинка все еще занимает кучу места.

Все вырезы делают под конкретную деталь, всё четко и красиво.

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

3.6 Концевики

Да, в первых версиях устройства, я использовал концевики, сначала 2, потом 1, потом null :)

4. Опыт использования

4.1 Возможные проблемы

Тут список казусов, которые произошли за время использования штор.

1) Самый жесткий фейл был с мотором, с которого я не снял напряжение:) Он работал что-то около двух часов подряд, пока я не почуял запах расплавленного абс пластика. Мотор накалился настолько, что краска на нем вспузырилась, всё пластиковое крепление было желтым и расплавленным. С тех пор, в прошивке, появились дополнительные проверки и защиты. А этот мотор был списан из-за внешнего вида, хотя он продолжал исправно работать.

2) Штора ехала вверх и зацепилась за выступающую часть осушителя воздуха — сбилась калибровка.

3) Штора опустилась на монитор, который стоял слишком близко к окну.

4) Сложности доступа к электронике под потолком. Вся начинка первых версий штор была спрятана под потолком, если что-то выходило из строя, приходилось частично разбирать потолок. Иногда потолок стоял разобранным месяцами!

5) Не разъемные соединения электроники и механики. Сначала к моторам шел длинный метровый провод, чтобы поменять мотор, приходилось разбирать почти все.

6) Однажды мотор не выдержал нагрузок и «раскрошился» изнутри. У этого мотора пластмассовое сердце в виде шестеренок, я не думал, что они могут сломаться, но в одном из моторов сломались, позже этот случай был признан единичным и неподдающимся объяснению.

7) Свежая проблема. Библиотека drv8825 имеет недостаток, если штора уже едет и в этот момент ей указываешь новую команду, она останавливается и начинает выполнять команду, хотя если выбрано одинаковое направление, она не должна останавливаться. OpenHab, по какой-то причине, начал слать по несколько одинаковых команд в секунду, и штора практически стояла на месте, двигалась на пару шагов и получала новую команду. Такая ситуация могла перегреть мотор.

8) Проблема которой не случилось за все время использования. Если штора едет и в этот момент выключается свет — получаем раcкалибровку шторы. Придется указать крайнее положение.

4.2 Дальнейшее развитие

Передаю проект сообществу, буду поддерживать его еще год, а дальше меня ждет переезд, и таких штор там уже не будет.

Жду ваших Pull Requestов в гит.

Жду улучшенных 3д моделей корпуса и крепления.

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

Changelog

2019-02-01:
— добавлен конфиг для homebridge;
— поддержка в homeassistant;

2019-02-07:
— прошивка обновлена до версии 7.1.2
Была проблема с retained сообщениями, любая команда могла попасть в retained, и при подписке на штору, эта команда выполнялась. Теперь retained это только позиция шторы. При подписке на штору, сразу получаем статус шторы.

2019-02-12:
— добавлен раздел 1.6 о потребляемой мощности и выборе блока питания;
— прошивка обновлена до версии 7.2, теперь опция реверса мотора работает.

2019-03-18:
— почти 2 месяца тестов на 6 шторах сразу, по работе 95/100 баллов, никаких серьезных косяков нет, боялся за работу штор на окнах, в режиме проветривания, но все оказалось не так страшно: штора спокойно ездит под углом, а чтобы кабель не попадал в окно, при закрытии, я напечатал небольшой фиксатор-крепления к потолку.
Сейчас наблюдаю небольшую раскалибровку некоторых штор. Калибрую штору на определенную отметку, а через некоторое время замечаю, что калибровка сбилась на 100-200 шагов (примерно 5мм). На старых версиях штор, я не видел такого эффекта, калибровка сбивается только на определенных шторах, виной может быть: 1) неравномерная намотка шторы, 2) резкое торможение, возможно надо добавить параметр деакселлерации, 3) железная проблема драйвера или мотора.

2019-04-22:
— убрана устаревшая настройка HomeAssistant — set_cover_position;
— дополнен раздел 1.4 о прошивке nodemcu;
— добавлены, в гитхаб, сторонние библиотеки, которые используются в скетче;

2019-05-26:
— добавлен топик для управления группой штор, теперь все шторы дополнительно подписываются на групповой топик MQTT_device_group;

2019-08-18:
— добавлены примеры для node-red, чистое флоу.с mqtt и множеством штор;

Skip to content

Привод для рулонных штор

На чтение 3 мин. Просмотров 14.1k. Опубликовано 22.02.2013

Самодельный привод рулонной шторы

Люди занимающиеся самодельным конструированием наверняка стараются сделать что-либо полезное для быта. В идеале наибольшее удовлетворение вызовут полезные конструкции, которых просто нет и купить их невозможно. Сделать такую полезную вещь все сложнее и сложнее. Но можно пользу получить и от самодельных конструкций, которые выполняют функционал покупных устройств, но обходятся по цене значительно дешевле. Предлагаю работающую поделку по цене значительно меньше готового механизма привода рулонных штор. Рулонные шторы благодаря удобству и практичности проникают в наш быт. Купленная в свое время штора очень хорошо защищала комнату от солнечного света. Но кроме дешевых штор в продаже были и шторы с механическим приводом по цене дороже простых от 8 до 15 раз. Построить штору с мотором удалось купив деталей на 300 рублей (2009 год). Автор делится секретом изготовления самоделки. Смотрите ниже пошаговую инструкцию, фото и видео изготовления самодельного привода шторы.

Как сделать механизм для шторы своими руками

Пошаговая инструкция следующая:

  1. В качестве привода шторы применил электрическую отвертку. Отвертка куплена на распродаже за 250 рублей (2009 год). В комплект отвертки входил набор не совсем плохих бит,  удлинители для бит и зарядное устройство. Из комплекта потребуется удлинитель бит.Привод для рулонных штор
    Электроотвертка
  2. Разобрал отвертку. Отвертка питается от 3 аккумуляторов формата АА непонятной емкости.Привод для рулонных штор
    Внутренности отвертки
  3. Батарейный отсек отсоединил и удлинил провода питания от него на длину 2-2.5метра.Привод для рулонных штор
    Батарейный отсек
  4. Блок электродвигателя и редуктора в моем случае пришлось доработать, так как электродвигатель с редуктором надо было разместить в узком пространстве оконного проема. Я просто укоротил корпус.Доработка корпуса
    Доработка корпуса
  5. Узел соединения привода со шторой понятен из фото. В кабельном сальнике подходящего диаметра закрепил удлинитель крепления бит. А сам сальник установил в торец корпуса намотки шторы вместо штатной заглушки. Сальник должен плотно фиксироваться в торце.Привод для рулонных штор
    Удлинитель крепления
    Привод для рулонных штор
    Крепление удлинителя
  6. Привод установил в оконном проеме при помощи строительной скобы. Первоначально моторный отсек крепился при помощи кабельных стяжек. В дальнейшем стяжки были заменены скобами из строительной ленты.Строительная скоба
    Строительная скоба
    Привод для рулонных штор
    Крепление стяжками
    Привод для рулонных штор
    Скобы из ленты
    Привод для рулонных штор
    Крепление скобами
  7. Закрепил привод и установил рулонную штору. Штора должна быть установлена строго горизонтально. На начальном этапе управлял шторой при помощи реверсивного выключателя на блоке питания отвертки. Аккумуляторы подзаряжались от штатного зарядного устройства. Заряда хватало на неделю работы шторы. После проверки работы и надежности шторы собрал автоматику управления шторой с питанием от сети, но об этом в следующем блоге.

Смотрите видео работы привода рулонной шторы

Привод рулонной шторы своими руками

Электропривод выполнен на базе миниатюрного 4-х фазного шагового двигателя 28BYJ-48-12V . Двигатель имеет редуктор с передаточным числом приблизительно 64:1, что обеспечивает достаточно приличный крутящий момент для такого размера двигателя и скорость вращения ~15 об/мин.

  • Схема фаз двигателя 28BYJ-48-12V
    Схема фаз двигателя 28BYJ-48-12V
  • Передаточное число редуктора двигателя 28BYJ-48-12V составляет примерно 64:1.
    Передаточное число редуктора двигателя 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 предусматривает отдельную таблицу для каждого типа данных, в контроллере же все данные хранятся в одном массиве в виде перекрывающихся таблиц. Значение всех регистров и адресов представлены в таблице:

Таблица данных регистров 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.

Верхняя плата (левый)
Нижняя плата контроллера (левый)

Фотографии устройства

Список и расположение элементов на платах

Видео работы электропривода

Понравилась статья? Поделить с друзьями:
  • Московский кредитный банк руководство банка
  • Алило р1 инструкция на русском языке
  • Часы jet kid scout инструкция по настройке
  • Должностная инструкция старший методист образовательного учреждения
  • Teka посудомоечная машина инструкция по эксплуатации на русском