Карта сайта rss
Вікна за правилами.
Главная » Автоматические жалюзи на Arduino

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

 
06.09.2013
На хабре появилась достаточно интересная статья как сделать управление жалюзи с помощью пульта, мы поспешили ею с вами поделиться. Ссылка на оригинальную статью: http://habrahabr.ru/post/192648/


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

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

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

В качестве двигателя был использовал мотор-редуктор 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

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