Как стать автором
Обновить

Автоматические жалюзи на Arduino

Время на прочтение3 мин
Количество просмотров153K


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

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


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

В качестве двигателя был использовал мотор-редуктор GM12-N20VA Micro Geared Motor:

Данный двигатель обладает следующими характеристиками:
  • Рабочее напряжение: 2 — 5 В
  • Номинальное напряжение: 5 В
  • Передаточное отношение: 100:1
  • Скорость без нагрузки: 145 об/мин
  • Ток без нагрузки: 40 мА
  • Скорость под нагрузкой: 100 об/мин
  • Ток под нагрузкой: не менее 150 мА
  • Крутящий момент под нагрузкой: 0,2 кг/см
  • Ток при блокировке: 520 мА
  • Крутящий момент: 0,78 кг/см
  • Размер (Д х Ш х В): 24 x 12 x 10 мм
  • Выходной вал: D-образный, d=3 мм, длина 10 мм.


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


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


К выходам Output 1 и Output 2 микросхемы подключен мотор, в зависимости от сигналов на ногах Input 1 и Input 2 двигатель крутится в одну или другую сторону, аналогично и для второго канала.

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


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


Для дистанционного управления я использовал ИК-приемник TSOP31236 с пультом из набора Мастер КИТ, но в данном случае можно использовать любой другой.


Целиком схема выглядит следующим образом:


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

Для работы с ИК пультом я не стал изобретать велосипед и воспользовался уже готовой библиотекой IRremote.

Вот собственно видео иллюстрирующее работу:


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

В перспективе хотелось бы перевести систему на более “серьезный” микроконтроллер, разместить все элементы компактно, на одной печатной плате и спрятать в корпус.
Теги:
Хабы:
+91
Комментарии71

Публикации