Приветствую читателей!
Думаю у многих в домах и квартирах есть стандартные рулонные шторы "на верёвочке". На первый взгляд это очень удобно, но практика показывает обратное: обычно перед окном стоит стол, как в моём случае, который затрудняет доступ к окну, приходится тянуться, чтобы достать до подъемного механизма, либо вам просто надоело каждое утро и вечер тянуть шнурок, чтобы поднять и опустить шторы.
Это моя первая статья на Дзене. На данный момент я преследую цель просто поделиться своим опытом, рассуждениями и готовым результатом. Возможно она подкинет кому-нибудь идею или просто вдохновит. Данная статья не является пошаговой инструкцией с чертежами и подробными схемами. Возможно, когда-нибудь, но не сегодня :)
Первая мысль, которая возникает: купить уже готовые рулонные шторы с автоматическим приводом. Но не тут-то было, цена на такие девайсы начинается от 5000 руб (на момент августа 2024). Поэтому я этот путь исключил, но решение связано не только с материальными причинами, я просто люблю делать всё сам. Наконец, я пришёл к тому, чтобы собрать привод самостоятельно с минимальными усилиями и затратами. Благо для этого существует АлиЭкспресс, где можно купить почти всё, что придёт в голову.
Итак, для начала нам понадобится электродвигатель. Ввиду того, что вращение подъемного вала подразумевается достаточно медленным, необходим мотор-редуктор, я решил взять такой:
Довольно популярная модель среди самодельщиков. Это просто электродвигатель на 12 Вольт с понижающим угловым редуктором, что само по себе уже очень удобно для нашего будущего привода. Вал, редуктора имеет диаметр 6 мм с лыской.
Теперь посмотрим более внимательно на механизм классических рулонных штор:
Механизм просто вставляется в алюминиевую трубу. Таким образом, необходима втулка, которая соединит вал редуктора с трубой подъемного механизма. Хотя оригинальная пластиковая втулка останется, просто добавится переходник для неё. Самым простым решением для меня было напечатать эту деталь на 3д-принтере. Смоделировать деталь можно в любой САПР системе, я пользуюсь отечественной КОМПАС-3Д. Набросал простенькую модельку:
Теперь нам необходимо закрепить мотор-редуктор на оконной раме вместо стандартного крепления поворотной штанги. При этом, положение штанги должно остаться неизменным как это было со стандартным креплением. Предлагаю тоже спроектировать и распечатать его. Редуктор имеет крепёжные отверстия, надо это использовать. Получается вот такая модель:
Теперь самое интересное, электронная начинка. Мотор способен работать в двух режимах: при подключении в прямой проводимости, вращение происходит в одну сторону. Меняем полярность подключения - вращение в другую сторону. Самый простой способ, это купить вот такую кнопку с двумя положениями:
Она может быть кому-то известна, например по электрической мясорубке, для смены направления вращения шнека. Но лично мне она не понравилась, фиксация нажатия нечёткая, среднее положение поймать сложно, это неудобно.
Я видел ситуацию так: должно быть две кнопки без фиксации, одна для вращения в одну сторону, другая для для вращения обратную сторону. Для этого нужна уже специальная схема, с которой возиться мне не особо хотелось, поэтому пришел к решению - использовать микроконтроллер Ардуино.
Многие скажут, что довольно простая задача для этого, и будут правы, но цена микроконтроллера Arduino nano донельзя смешная. Более того, программа для него уже родилась у меня в голове. Логика работы следующая: система изначально находится в покое, нажатие на одну из кнопок, допустим на первую, запускает мотор в одном направлении. Повторное нажатие на эту же кнопку должно остановить мотор, в случае если нажата вторая кнопка то не отключая двигатель просто меняем его направление, повторное нажатие на эту же кнопку останавливает мотор. Всё, вот и вся логика работы.
Для осуществления этих задач буду использовать драйвер для работы с электромотором и библиотеку Ардуино для работы с драйвером GyverMotor, от всем известного блогера Alex Gyver.
Александра смотрю давно, можно сказать, что мои знания по Ардуино получены благодаря его видео. Он сделал огромный вклад в развитие любительского программирования на Ардуино.
Основная логика программы будет построена на использовании "флагов" состояния мотора, коих будет 3:
- остановлен,
- вращается в прямом направлении
- вращается в обратном.
Нажатие на кнопки будет менять эти состояния. Но в нашем случае кнопок две, а состояния три, значит нужно состояние "остановлен" применять для каждой кнопки в зависимости от того, какая была нажата последней, то есть, если нажата кнопка, отвечающая за прямое направление и текущее состояние мотора двигателя "в прямом направлении", значит нужно остановить двигатель. Так и с обратным направлением. Это будет дополнительным условием, надеюсь логика понятная.
Я экспериментировал с ИК-приемником, идея была сделать привод на пульте ДУ, но ввиду нестабильного срабатывания отложил эту идею. Возможно покопавшись в этой затее более детально, можно добиться идеального срабатывания, но мне лень :)
Теперь дело за малым, спаять всё и собрать в единую конструкцию. Поскольку для питания мотора требуется 12 Вольт, а это максимальное рекомендуемое напряжение для Arduino nano, то буду питать от соответствующего блока питания, я взял вот такой:
Изначально хотел напечатать специальный корпус, но лень - двигатель прогресса. Поэтому решил использовать корпус блока питания, там достаточно места чтобы уместить всю электронику. Поэтому разместим в корпусе кнопки, кстати я буду использовать вот такие:
Мне они понравились, у них короткий корпус контактной группы, приятное нажатие. Диаметр посадочного цилиндра кнопок - 12 мм. Просверлим два отверстия в корпусе блока питания и установим в них наши кнопки. Теперь необходимо подумать над расположением плат электроники. Плату БП оставлю в прежнем положении, но надо будет расположить так, чтобы она не касалась контактов кнопок. Вообще, желательно изолировать высоковольтную часть платы во избежания короткого замыкания и выхода из строя микроконтроллера. Хорошенько подумав и спаяв это всё безобразие, я получил вот такой результат:
Конечно же, без спермоклея термоклея не обошлось, использую синий в лучших традициях использования синей изоленты :)
Провод до двигателя взял какой-то самый обычный, ну и наконец готовое устройство выглядит вот так:
По-моему вышло здорово, белая кнопка - "день", значит открыть шторы, черная - "ночь", соответственно закрыть. Устройство подключается к розетке и работает постоянно.
Краткий список используемых компонентов:
- Мотор-редуктор 12В
- Драйвер двигателя постоянного тока l298
- Микроконтроллер Arduino nano
- Две кнопки без фиксации PBS-33b
- БП 12 Вольт в корпусе
- Провода от корпуса устройства до мотора.
- Монтажные провода, чтобы спаять всю электронику
- Инструменты и вспомогательные устройства, прямые руки, 3д принтер :)
Есть идеи как улучшить устройство: например меня беспокоит мысль об энергопотреблении системы и работе микроконтроллера постоянно, цикл опроса кнопок происходит всегда, пока устройство подключено к питанию. Нужно это решить, но это уже, как говорится, совсем другая история.