Серега уезжал покорять Москву, и я зашел к нему попрощаться, пожелать удачи. Взять нужно было все самое необходимое, все для новой работы и все для новой жизни. Кота хотелось бы оставить, но пришлось брать. А вот с другими обитателями квартиры – огромным числом фиалок, нужно было распрощаться.
— Возьмешь фиалку? Марина выращивает, не везти же их все с собой. Мы их всем друзьям раздаем.
Я ответил, что не держу дома цветов, поскольку забываю их поливать, и они у меня быстро загибаются. Поэтому у меня только кактус.
— Эту фиалку поливать не нужно.
Он принес из комнаты цветок, и я был вынужден признать верность его заявления. Фиалка имела «систему автополива». Растение было посажено в маленький горшок, который помещался в большой пластиковый стакан, вроде бы из под кваса. Из горшка спускалась веревочка, через которую и поступала необходимая для жизни влага. Таким образом, залив один раз пол литра, можно было не беспокоиться о цветке несколько месяцев. Фиалку я взял.
Пожалуй, верёвочная система полива одна из лучших, с которой мне приходилось встречаться. Растение не требует внимания, потребляет ровно необходимое для жизни количество воды, пускает корни вокруг шнура, как следствие цветёт. К сожалению, цветет не только растение, но и вода. А точнее все, что находится вокруг веревки, спускающийся в стакан. Не то, чтобы меня это сильно расстраивало, выглядит все вполне культурно – сверху цветы, снизу водоросли. Разумеется, можно время от времени менять дренаж, тогда вообще не будет нареканий. Но есть другая проблема – почва вокруг горшка сильно высыхает, ведь влага поступает только снизу. Ну и чисто эстетически, растение в глиняном горшке выглядит солиднее, чем растение в пластиковом горшке и уж подавно лучше, чем в горшке и в пластиковом стакане.
Так что спустя некоторое время купил я почву, глиняный горшок и высадил цветок как положено. За то время, которое фиалка находится у меня, она практически стала членом семьи и уже давно заслужила к себе более бережного обращения. В общем, решил я сделать устройство для автоматического полива.
Почему сделать, а не купить готовое? Потому, что делаю для себя, интересен процесс, запас STM32F030 ещё не исчерпан. С аналогами познакомился для интереса и ответа на некоторые вопросы.
Какой выбрать конструктив?
Какие у аналогов есть достоинства и недостатки?
Какие у аналогов есть настройки и режимы работы?
и т.д.
Для примера можно взять устройство для автоматического полива Easygrow. Достойное решение, из очевидных преимуществ – крепление на бутылку. Правда, бутылка будет стоять среди цветов. Из недостатков – периодически придется менять батарейки, слабый интерфейс управления. В результате таких исследований и рассуждений появились требования к устройству.
Питание от Li-Ion аккумулятора с зарядом от солнечной батареи, микропотребление;
Индикация уровня воды в баке и уровня заряда АКБ;
Принудительный полив (т.е. при помощи насоса, не самотеком);
Возможность установки интервала полива и объема жидкости;
Наличие звуковой сигнализации (на случай, если закончится вода);
Интуитивно понятный пользовательский интерфейс.
Получаем следующую структурную схему.
![Структурная схема устройства для полива растений Структурная схема устройства для полива растений](https://habrastorage.org/getpro/habr/upload_files/c42/169/ac4/c42169ac45becf0274941941cbd97aac.png)
Компоненты выбраны следующие: микроконтроллер STM32, микросхема заряда CN3065, LDO MCP1700-3302E/MB, EEPROM 24LC64-I/SN, датчики уровня воды SS39ET (датчики Холла), дисплей 0.91″ OLED (128x32, SSD1306), насос погружной JT-DC3W-3, солнечная батарея с выходным напряжением до 6 В. Насос коммутируется через полевой транзистор, питание датчиков осуществляется с микроконтроллера (для возможности отключения питания). В процессе отладки программы добавил на схему еще транзистор для отключения питания дисплея и памяти. Они хотя и потребляют в режиме сна десяток микроампер, но и используются очень редко.
Раз обмолвился о потреблении, то с него и начну. Получилось достойно. В режиме сна 25 мкА, в активном режиме 10 мА (с автоматическим уходом в сон), в режиме полива до 200 мА. Если на солнечной батарее держится 3…4 вольта, CN3065 не будет спасть, потребление возрастет до 300 мкА. Расчеты подсказывают, что с таким токопотреблением аккумулятора должно хватить минимум на полгода (при умеренном поливе). Благодаря зарядке от солнечной батареи проблем вообще быть не должно. Однако на этапе проектирования на всякий случай был добавлен разъем MiniUSB, мало ли чего. В слабо освещенной комнате солнечная батарея бесполезна.
Забавная история вышла с поплавком, он не всплывал. Поплавок состоит из пластиковой части с «замурованным» магнитом. Очевидно, что суммарная плотность поплавка должна быть меньше плотности воды, чего удалось добиться через несколько итераций. Однако, если поплавок опустить в стакан с водой, то он ориентируется по линиям магнитного поля Земли. Находясь внутри бачка, поплавок пытается развернуться и упирается в направляющие корпуса. Тем самым создается дополнительное трение. Учитывая, что баланс плотностей был «на грани», этого самого трения хватало для того, чтобы поплавок оставался под водой.
С корпусом тоже были проблемы. От него осталось мокрое место, в буквальном смысле слова. Технология печати не была выдержана, в нескольких местах пластик подтекал. Проблему пришлось решать при помощи герметика-аэрозоля KUDO KUH301.
Относится устройство к классу культурных. По напряжению солнечной батареи определяется время суток с точностью определения времени – сейчас светло или сейчас темно. Если сейчас темно, полив будет отложен. Аналогично, если в баке закончится вода, то устройство будет каждый час давать звуковой сигнал. Но только в светлое время.
Время демонстрировать работу.
Еще пара слов по проекту. Была идея реализовать функцию «интеллектуального полива», опираясь на текущую температуру и текущую влажность. Данные по температуре в устройстве имеются, а вот с влажностью все намного сложнее. Отличный тест датчиков влажности сделал Sergey MODE, в котором показал, что получаемые данные не надежны и зависят от большого числа факторов. Достоверно оценить влажность почвы – задача нетривиальная. Также спасибо @riva-lab за великолепную программу для генерации шрифтов. Шрифт Courier 15 импортирован при помощи данной программы.
Разумеется, вопросов еще много. Объем полива, например, зависит от уровня воды в баке (необходимо наполнять трубку), а влажность почвы зависит от погоды на улице. Как выбрать подходящий режим? А как правильно для данного устройства измерять токопотребление. Как среднее значение или как среднее квадратичное? Ведь потребляет устройство импульсами. А хватит ли уровня освещенности для заряда осенью и зимой? Сколько времени проработает дешевый китайский насос? И т. д.
Недавно ездил в Москву, встретился с Серегой, отведал бурятской кухни. Рассказал про фиалку, которую поливать не нужно. Правда фиалку по-прежнему нужно обрезать, удалять старые листья, крутить на солнце и удобрять.