Умная поливалка цветка на микроконтроллере Attiny13A
Доброго времени суток, хабрапользователи. Иногда в жизни есть моменты, когда хочется сделать что-то своими руками. Программирование и электроника — это очень весёлый способ провести время, а система полива цветка может быть даже принесет пользу. Я постарался сделать все просто и детально объяснить каждый этап. Надеюсь, это будет полезно и увлекательно как для читателей, так и для тех, кто решит побаловать себя, и сделать что-то подобное.
Предлагаю вашему вниманию устройство для автоматического полива цветов на базе микроконтроллера Attiny13a, подробности под катом.
Начнем с технического задания- Сделаем устройство, которое сможет поливать комнатные растения без участия человека в течении минимум 5 дней.
- Устройство должно учитывать влажность грунта.
- Стоимость устройства не должна превышать 1000р.
Выбор микроконтроллера был очевиден, у меня был Attiny13А, его и взял, у него 1Кб памяти под программу, ну да ладно, этого хватит. Достался мне он за 115 руб в розничном магазине радиоэлектроники.
Рисунок 1 (микроконтроллер Attiny13А)
Микроконтроллер, содержит основную логику работы.
Для аналогового датчика: Пауза между поливами 3 часа, если сигнал с датчика влажности снижается (до 2В или даже 1В), длительность перерыва уменьшается, минимальный перерыв — 1 час. Цикл полива 6-12 секунд, первые 6 сек полив будет в любом случае, далее при превышении сигнала с датчика влажности 3В полив прекращается, либо длится 12 секунд, если влажность не достигнута. При нажатии на кнопку (reset) происходит полив прямо сейчас.
Для датчика с компаратором (высокого сигнала при низкой влажности): Пауза между поливами 3 часа, если сигнал с датчика влажности выше 3В, длительность перерыва уменьшается, минимальный перерыв 1 час. Цикл полива 6-12 секунд, первые 6 сек полив будет в любом случае, далее при уменьшении сигнала с датчика влажности меньше 3В полив прекращается, либо длится 12 секунд, если влажность не достигнута. При нажатии на кнопку (reset) происходит полив прямо сейчас.
Рисунок 2 (микросхема ULN2003А) Сборка транзисторов Дарлингтона нужна для того, чтобы управлять реле и мигать светодиодом. На контроллере ток с ножек очень маленький, 20мА, может даже меньше, а реле нужно 100мА и защиту от индуктивной нагрузки диодом с этой схемкой делать ненужно, т.к. внутри уже всё предусмотрено. Купил за 20 руб.
Датчик влажности почвы (питание 5В, выход пороговый), 150р
Рисунок 3 (датчик влажности почвы с компаратором)
Работает он так: подкручиваем резисор, настраеваем на нужную влажность. Если влажность выше порога, он выдает низкий уровень, если ниже, то высокий.
Датчик влажности почвы (питание 5В, выход аналоговый), 230 руб.
Рисунок 3_1 (датчик влажности почвы аналоговый)
А этот работает так: выдаёт аналоговый сигнал от маленького при низкой влажности, до большого при высокой (максимум 4,2В при питании 5В, потребление тока 35мА).
Есть еще и такие, у которых реле от компаратора срабатывает.
Реле с управляющим напряжением 5В 200мВт, коммутируемый ток DC 5А 12В или больше, я использовал вот такое — TR99-5VDC-SB-CD. 90 руб.
Рисунок 4 (реле TR99-5VDC-SB-CD)
(DC-DC 6-36В/5В 2000мА и блок питания на 12В 5А) или батарейка от телефона 4.2В с постоянно включенной зарядкой. Для питания использовал телефон Филипс х100, у которого разбился экран, для его зарядки подходит провод usb – miniusb. Это самый дорогой элемент, телефон стоил 1200р новый, но т.к. из него нужно только функция зарядки, то можно купить на рынке сильно б/у за 300 руб.
Будет осторожны, контроллер и насос могут разрядить батарейку до 3В, телефон при 3.2В и ниже будет думать, что батарейка мертва, и телефон перестанет её заряжать.
Вместо телефона можно подключить контроллер зарядки, с ним разряд не страшен, он заряжает даже аккумулятор разряженный в 0. Стоит такая штука 59 руб на dx-е, ну и аккумулятор все равно понадобится.
Рисунок 5 (Зарядное устройство для литиевых аккумуляторных батареек 1A)
Кнопка, при нажатии будет происходить экстренный полив.
Рисунок 6 (кнопка)
Диод для защиты от неправильного включения (необязательно). Конденсаторы по вкусу (3300мкФ для работы от батарейки мобильника, чтобы при включении моторчика просадка его не перезагружала, 0,1-200 мкФ параллельно с каждым потребителем для гашения помех).
Резисторы (10к для поддяжки к питанию Ресета, 0,2к-0,3к токоограничивабщий для светодиода).
Насос омывателя стекла для ВАЗ (самый дешёвый, вместе с трубочкой, палочка и хомутики для крепления трубочки, ёмкость для воды). Тут есть один важный момент, перед тем как бросать в воду, нужно все дырочки, через которые вода может добраться до мотрочика или контактов, замазать герметиком, оставив только те, через которые вода входит и выходит. Можно и так бросить конечно, он даже будет работать, но дольше прослужит, если загерметизировать.
Рисунок 7 (насос омывателя ВАЗ в желтом ведёрке с водой)
Плата макетная, или с готовыми дорожками и дырочками под детальки. Если кто-нибудь нарисует плату, и приложит в комментариях, это будет здорово, я использовал макетку.
Рисунок 8 (макетка)
Для программирования контроллера понадобятся ПО: PonyProg2000, LPT программатор (или другой, какой есть), hex прошивка, которая прилагается.
Если есть желание подкорректировать исходник и скомпилировать свой hex, то понадобится ещё компилятор, например CV AVR.
Порядок работДля начала нужно подготовить контроллер к программированию, для этого нужно вывести ножки для программирования на программатор, согласно даташиту контроллера и lpt программатора.
Рисунок 9 (контроллер ножки для программирования)
Рисунок 9_1 (общий вид программатора)
Рисунок 10 (lpt программатор)
Затем можно собрать схему поливалки, конденсаторы на схеме не указаны, они ставятся рядом с потребителями между землей и питанием: