Автоматический полив растений

Опубликовано 13.10.2013 19:19:00


Автор: twsdwf

Вступление.

Пару лет назад увлёкся разведением разных экзотических растений. Благо, подоконники (почти полметра на полтора) позволяют поставить довольно много горшков. Но в прошлом году, как может помнят москивичи, жара была неслабая. Так как работаю я в офисе, то удавалось поливать только утром и вечером. И этого явно было маловато.

Плюс ещё отъезды на дачу на выходные... А один только полметровый куст эвкалипта способен за два дня и ночь испарить 2-3л воды и успеть завянуть.

Фитильная система не понравилась тем, что она нерегулируема и жрёт место на окне. Которого и так мало. Лейки-пипетки типа plant genie не подошли по причине того, что даже познав дао втыкания их в горшок(не так воткнул -- или не капает или вытекает за пару часов), их надо или так много, что не хватает площади горшка или горшок небольшой и просто переворачивается. Ну и на заявленные две недели этих 0.22л тоже не особо хватает.

Поливной рукав вращающийся на сервоприводе

 

 

Решение задачи

Надо было определиться с:

  1. чем качать воду
  2. как считать объём воды, который ушёл на полив каждого горшка
  3. как определить, что надо поливать.
  4. как сделать индивидуальный полив. То есть каждый горшок сам по себе.
  5. ночью хочется спать, а эта штука шумновата.

Мозгами этого всего будет ардуино, точнее, atmega328 в исполнении PDIP-28, ибо паяю я так себе.

Пятый пункт с "тихими часом" решается с помощью микросхемы часов. В моём случае DS1302.

Решение было найдено весной, когда мне попалась ссылка на российский инет-магазинчик, в котором оказались небольшие насосы-помпы на 6В и, самое главное, счётчики расхода жидкости:

Помпа (водяной насос)

 

Датчик(слева) -- импульсного типа, повесим его выход на пин, который поддерживает прерывание. и будем по этим импульсам считать протёкший по шлангу объём жидкости.

Два пункта решены. То,что счётчик на шланг 6мм, а насос -- на 3мм, было решено аквариумным шлангом на 4мм, который просто размачивался в кипятке и натягивался. Стоимость шланга -- 11-20руб за метр. Спасибо зоомагазину "Бетховен" на водном стадионе, где мне удалось купить 20метров за 11руб и потом ещё добрать 28метров за 17руб. Аквариумный шланг ещё удобен тем, что его отрезки можно соединять нарезанными по 1.5-2см кусками стержня от гелевой ручки, что весьма бюджетно относительно покупки соединителей(10-30руб в зависимости от продавца).

Да, дальше нам потребуется много-много аквариумного шланга и много-много проводов(у меня на 4 окна ушло почти 100м шланга и метров 150 провода. Но делаем скидку на то, что из-за особенностей окон приходилось ставить на дальнюю от основной электроники половину окна).

Итак. Нам есть, чем качать, и есть, чем измерять сколько накачали. Теперь надо раздать воду на кучу горшков. Независимо раздать. Идея с кучей сервомашинок и краников отпала из-за стоимости. Зато поиск по интернету дал идею с сервомашинкой и кучей стаканчиков. Первая версия работала на пластиковых стаканах на 0.25(которые из чуток хрупкого пластика, а не самые дешёвые). Хорошо, но мало. Достать пластиковые пробирки подходящего диаметра (пара сантиметров)  и ёмкости( 50+мл) оказалось жуткой проблемой в этом странном городе.  Для второй версии была растёрзана старая формочка для льда, попавшийся под руку флакон от чего-то и два стакана. И это заработало!

Поливной рукав вращающийся на сервоприводе

 

"Кран" сделан из завалявшейся трубки для аквариумана 4мм(купил на "птичке" много лет назад), двух Г-образных переходников(источник тот же).

Так как сервомашинка слабовата и я забыл сделать отступ от стены побольше, когда вырезал основание(материал-пластик для откосов окон), то используется второй Г-образник для того, чтобы не было перегиба шланга. Сервомашинка -- TowerPro SG-90.


 

Мерзкие мелочи(грабли):

  • С насосом: он хорошо качает только в случае, когда шланг уже заполнен жидкостью. Ну что ж, ставим на шланг обратный клапан, перед которым врезаем тройник и кран(всё покупается в аквариумных ларьках). Так как обратный клапан имеет некоторое сопротивление потоку, то кран необходим для первичной прокачки, пока вода не пройдёт сквозь насос. Советую на конец крана посадить второй кусок шланга, который опустить в канистру. Мало ли...
  • Сервомашинка "плавает" по углам при небольших шагах и слегка плавающем питании. Это ограничивает возможности уменьшения приёмных стаканов. Всегда настраиваем так, чтобы "мёртвые точки" движения сервы не позволяли пролить мимо крайних стаканов.
  • сервомашинка даёт ошибку порядка 5-10градусов,когда её поворачиваешь на небольшие углы. Лечится тем, что после каждого налива в стаканчик поворачиваем её до нуля.
  • Все соединения после насоса надо сажать или на клей или хотя перехватывать проволочкой. Пару раз китайский БП перед смертью выдавал выше 6В и соединения распадались. Канистра воды на полу -- тот ещё подарок.

 

Датчики

В виду того, что денег у нас немного и хочется дешёво, но достаточно хорошо, то делаем резистивные датчики влажности.

Используем просто полоску текстолита с двумя вытравленными и залуженными дорожками. Важно нарезать все датчики для одной схемы с одного листа, потому что иначе будет сильный разброс значений, что плохо. В моём варианте это полоска 10х35мм с двумя дорожками по ~3мм по краям и зазором в 4мм.

Сигнал с таких датчиков аналоговый, соответственно, будем использовать аналоговые входы atmega328. Схема подключения стандартный вариант с делителем напряжения, где в одном плече(что к земле) переменный резистор, а на втором(+5В) -- наш датчик. С середины снимаем показания аналоговым входом. Чем суше грунт, тем меньше показания датчика.

При использовании подобных датчиков надо иметь в виду, что электролиз в мокром грунте играет против нас. Решение простое:  вешаем между питанием и датчиками ЭМ-реле, которое включаем за 1-2с до снятия замеров (время на стабилизацию, подобрано опытным путём) и выключаем сразу после снятия замеров. Реле выбрано за то, что даёт физический разрыв цепи и  у нас датчики не будут постоянно "под фазой". Да и растениям вряд ли полезен такой "электрический грунт".  Как показала практика,  за почти полгода работы из полусотни датчиков пришлось только два протереть от лишайника, который пошёл по горшку после пересадки в новый грунт. Остальные работают.


 

Плодим входы

Как было видно на слайде выше, у нас 17 стаканов-приёмников. Горшков на окне 16. А на atmega328 только шесть аналоговых входов. Решение простое: используем расширители аналоговых входов. Из того, что достать просто есть два варианта: 8-ми канальные микросхемы HCF4051BE и 16-ти канальные CD4067BE. Первые мне попались в продаже сразу и вменяемые деньги в районе 20руб/шт. Зря я это сделал... Пожалел потом много раз. Проблема проста: у HCF4051BE аналоговые входы разбросаны не по порядку ножек, а у CD4067BE -- всё идёт подряд. Новую версию буду делать на них.


 

Общие штрихи

Итогом второй попытки стала вот такая разводная коробка 10х10х4см

Устройство автоматического полива растений собранный на макетной плате..

 

В виду отсутствия в пределах досягаемости нормального лазерника и некоторой лени, всё сделано на макетной плате.

Я не сумел найти общий язык с DS1302 по поводу резервного питания (после сбоя основного питания микросхема упорно превращалась в утюг) и поэтому ограничился тем, что в линию питания вставил диод Шоттки и после него впаял ионистор на 0.1Ф.  Работает.

Чтобы можно было перенастраивать без перепрошивки, поставил bluetooth модуль и впилил в прошивку простенький интерпретатор команд и сохранение данных в eeprom. учитывая,что перешёл на программатор, в новом варианте конфиг буду писать во внешнюю микросхему eeprom. Заодно туда можно будет побольше данных сохранять.

 

Ещё обнаруженные проблемы:

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

 

И на последок пара видео:

Краткий обзор:

И просто видео работы версии на более прилично выглядящих одноразовых рюмках:

 

Схема и pcb-разводка  в формате diptrace будут позже, после обкатки нормальной версии, сделанной ЛУТом, а не на макетной плате.

 

Обновление: Вылезла проблема: изменение количества датчиков плохо сказывается на точности серв (питание просаживается). Подгонять каждый раз -- занятие крайне нудное.

 

Решением стало прикрепить на трубку "крана" водораздатчика геркон(МКА-10110/советский аналогичного размера), на сервомашинку приклеить старую CD-болванку и в нужных точках просверлить отверстия и вклеить в них неодимовые магнитики цилиндриком 2х5мм. Получилось следующее(магнитики подчёркнуты красным):

Внешний вид системы автоматического полива

 

Исходники лежат на github, в поддиректории pcb -- платы под ЛУТ в формате diptrace. Платы разведены под микросхемы CD4067BE, прошивка также под них сделана. Остальное вроде в коде откомментировано.


А как же комментарии?