Автоматический полив для дачи своими руками
Некоторое время назад я прикинул, что было бы неплохо автоматизировать полив на даче. Обзоры некоторых пользователей муськи также сыграли не последнюю роль в принятии этого решения. Но поскольку электроника — это не мой профиль, решено было делать аппаратную часть проекта максимально упрощенной, и по возможности обойтись без ЛУТ, травления плат и прочих сложностей. Короче, хотелось реализовать свою систему как некий конструктор, собранный из стандартных компонентов, а получилось это или нет — решать вам.
UPD: добавлен скетч для Ардуино.
1. Осмысление хотелок и упорядочивание мыслей проекта
Проект изначально задумывался примерно в таком виде: 4 мощных разбрызгивателя (в перспективе 8), столько же электромагнитных клапанов, релейный модуль для них, вот такая клавиатура, экран 16×2 символов, часы реального времени и Arduino в качестве мозгов.
Я рассчитывал, что для управления клапанами будет достаточно какого-нибудь простого меню, через которое можно задавать текущее время, время начала полива и длительность работы.
Потом прикинул, что 8 входов ардуины отдавать на клавиатуру — это чересчур. И вообще, не все клавиатуры одинаково полезны везде оправдано использование только цифрового блока; нужно ведь не только вводить циферки, но и реализовать навигацию по меню.
А если так, то лучше использовать джойстик — это более универсальное решение чем цифровая клавиатура, да и управление становится «интуитивным»… разумеется, если его удастся таким сделать… Зимой были куплены релюшки, один 12-вольтовый клапан, один разбрызгиватель, джойстик, ардуина и экран, и в феврале-марте я начал отлаживать скетч для поливалки.
В процессе разработки программной части было внесено еще несколько изменений в первоначальный проект. В частности, я добавил несколько датчиков температуры-влажности и блок ручного управления клапанами. Кроме того, для защиты от работы мотора вхолостую я решил поставить на вход датчик расхода воды, чтобы аварийно отключать мотор в случае длительного отсутствия потока.
Зачем столько датчиков? Да просто стоят они не очень дорого, пустые входы на плате оставались, а знать температуру и влажность на разных частях участка — полезно. Датчики я планировал поставить в теплице, на улице и в приямке для насосной станции, а также где-то в огороде разместить датчик влажности почвы и датчик температуры почвы.
А вообще — покажу я лучше таблицу датчиков и пинов ардуины
2. Закупка необходимых компонентов
Привожу список компонентов системы, купленных в Китае (большинство приобрел на aliexpress, но пару лотов взял на Ebay — там было дешевле). Два лота уже сняты с продаж, поэтому вместо ссылок на них будут снапшоты — чтобы заинтересованные люди знали что искать.
1 датчик расхода воды, цена 6,36$ (лот у другого продавца, т.к. мой продавец снял этот датчик с продаж)
1 понижающий преобразователь на LM2596, цена 0,74$
1 часы реального времени I2C ds1307, цена 0,63$
1 набор прототипов печатных плат, цена 1,16$
1 джойстик, цена 0,56$
1 плата Arduino nano, цена 1,79$
1 водонепроницаемый датчик температуры DS18b20, цена 1,1$
1 I2C модуль для дисплея (снапшот), цена 0,66$
1 выключатель, цена 0,5$
1 экран 1602, цена 1,35$
1 реле 4-канальное, цена 3,56$
1 реле 1-канальное, цена 0,84$
3 датчика температуры DHT11, цена 0,99$ за штуку, всего 2,97$
4 поворотных садовых разбрызгивателя, цена 5,59$ за штуку, всего 22,36$
4 электромагнитных клапана (снапшот), цена 3,62$ за штуку, всего 14,48$. Аналоги легко ищутся здесь
4 кнопки со встроенным светодиодом (снапшот), цена 0,95$ за пару, всего 1,9$
Итоговые затраты в интернетах — 60,96$
В местном строительном магазине были куплены следующие вещи:
2 бухты поливочного шланга 5/8 (по 30м) — 540000 бел.рублей, или примерно 28$
8 муфт 1/2 — 112000 бел.рублей, или примерно 5,8$
3 тройника 1/2 — 60000 бел.рублей, или примерно 3$
8 штуцеров 15*16 — 92000 бел.рублей, или примерно 4,8$
Итоговые затраты в оффлайне — 804000 бел.рублей, или 41,2$
Также стоит упомянуть то, что не вошло в этот список — некоторые вещи из этого списка достались мне условно-бесплатно (старая рухлядь), на какие-то вещи я просто запамятовал цены. Это:
40 метров 4-жильного сигнального кабеля для подключения температурных датчиков;
40 метров самого дешевого 2-жильного медного кабеля для передачи 12 вольт на электромагнитные клапаны;
2 разветвителя RJ-11, которые были использованы в качестве выходов для подключения датчиков температуры и влажности, и 4 коннектора для кабелей с датчиками;
2 разветвителя RJ-45, для связи блока управления, находящегося в доме, с блоком реле и датчиков почвы, находящимся на улице рядом с насосом, и 4 коннектора для кабелей;
старый кабель (витая пара) — метров 30-40, для соединения ардуины с релюшками;
коннектор для подключения дисковода, выпаянный со старой материнской платы, и шлейф от дисковода;
старый блок питания на 24 вольта;
обрезки мебельного щита толщиной 12-16 мм для изготовления коробок для системы.
Фотки разветвителей до применения не сделал, выглядят примерно так:
3. Изготовление того, что не было куплено
Некоторые вещи по тем или иным причинам пришлось делать самостоятельно из подручных материалов. Постараюсь здесь описать, что и как было сделано, и почему именно так а не иначе.
3.1 Датчик влажности почвы (надеюсь, долгоживущий)
Как вы можете заметить, в списке покупок отсутствует датчик влажности почвы, хотя в проекте он заявлен. Дело в том, что сама идея закапывать в землю кусок текстолита с тоненькими полосками металла мне показалась достаточно бредовой, поэтому я решил найти способ получше. Пошарившись по интернету, я нашел вот эту тему на тематическом форуме, там есть хорошие советы и примеры. В общем, решил сделать так же, как там и написано: 2 проводника, резисторы и 3-жильный провод. В качестве катода и анода была использована одна велосипедная спица, безжалостно покусанная на части. Вот для сравнения куски донора и целая спица
Паяем провода, резисторы и куски спицы — в общем, делаем все так, как написано на форуме
Потом временно фиксируем анод и катод на пластилин, чтобы заделать наше рукоделие термоклеем
Далее в качестве формочки был взят маленький стаканчик от детского йогурта, в нем я сделал отверстие для провода, аккуратно установил конструкцию внутрь и залил анкерным составом Ceresit СХ-5
Форумчане рекомендуют гипс, но под рукой его не оказалось, думаю что быстросхватывающийся цемент будет не хуже.
Высохло — вскрываем
По готовому датчику на всякий случай прошелся масляной краской в пару слоев, чтобы датчик измерял именно влажность почвы, а не влажность куска бетона.
Для использования этого мегадевайса требуется предварительная калибровка. Делается это элементарно: берем сухую почву, в нее тыкаем самодельный датчик, проверяем и записываем полученное значение влажности. Затем льем туда столько воды, чтобы получилось небольшое болотце, и снова снимаем значение с датчика.
По-быстрому откалибровался вот этим скетчем с форума:
#define PIN_SOIL_LEFT 6
#define PIN_SOIL_RIGHT 7
#define PIN_SOIL_HUMIDITY 0
void setup(){
Serial.begin(9600);
pinMode(PIN_SOIL_LEFT, OUTPUT);
pinMode(PIN_SOIL_RIGHT, OUTPUT);
pinMode(PIN_SOIL_HUMIDITY, INPUT);
}
void setSensorPolarity(boolean flip){
if(flip){
digitalWrite(PIN_SOIL_LEFT, HIGH);
digitalWrite(PIN_SOIL_RIGHT, LOW);
}else{
digitalWrite(PIN_SOIL_LEFT, LOW);
digitalWrite(PIN_SOIL_RIGHT, HIGH);
}
}
void loop(){
setSensorPolarity(true);
delay(1000);
int val1 = analogRead(PIN_SOIL_HUMIDITY);
delay(1000);
setSensorPolarity(false);
delay(1000);
// invert the reading
int val2 = 1023 - analogRead(PIN_SOIL_HUMIDITY);
reportLevels(val1,val2);
}
void reportLevels(int val1,int val2){
int avg = (val1 val2) / 2;
String msg = "avg: ";
msg = avg;
Serial.println(msg);
}
В моем случае, значение на датчике было чуть больше 200 в сухой почве, и чуть меньше 840 во влажной.
Теперь у нас есть минимальный и максимальный уровни влажности конкретно взятой почвы, их нужно будет внести в соответствующие константы в основном скетче. Вот и все!
3.2 Блок питания для клапанов
Можно было, конечно, купить в Китае обычный блок питания на 12 вольт, выдающий хотя бы 1 ампер, но в закромах Родины куче старого барахла нашелся зарядник от дохлого шуруповерта, выдающий полампера при напряжении 24 вольта. Поэтому был куплен понижающий преобразователь на LM2596, и затем успешно встроен в старый блок. Отдельных фоток процесса я не делал, бо не об этом обзор… Вот модифицированный блок вместе с клапаном, сойдет за пример
В корпусе блока было сделано отверстие, удобной регулировки напряжения. Теперь с помощью отвертки и мультиметра можно выставить любое напряжение от 5 до 24 вольт. Получилось довольно неплохо, как мне кажется. К сожалению, я прощёлкал этот обзор Aloha_ про понижающие преобразователи… Но в моем случае все вроде бы нормально, перегрева не замечено.
3.3 Держатели для разбрызгивателей
Вот эту штуку в магазине купить точно не получится! Потому что сделана она в количестве 4 единиц по спецзаказу:) Хотя здесь все просто: полудюймовая труба высотой один метр, снизу сделан изгиб под 90 градусов и приварен уголок длиной 30-40 см, чтобы держатель можно было воткнуть в землю в нужной части участка. Вверху резьба должна быть внутренняя на полдюйма (в моем случае там просто наварена муфта), внизу — кому как удобнее. В моем случае там наружная полдюймовая резьба, но как показала практика — лучше бы была внутренняя, тогда не пришлось бы навинчивать сначала муфту, потом в нее штуцер или клапан… В общем, не продумал заранее, поэтому получил дополнительные расходы на муфты:(
Наглядные фото держателя — вот:
И еще чуть дальше будет фотка держателя в процессе эксплуатации.
3.4 Коробки для блока управления и реле
Сначала я планировал разместить все части поливатора в одной коробке, и оснастить ее выходами на клапаны (12 вольт), насос (220 вольт) и собственно на датчики. Однако потом решил разнести силовую и слаботочную части поливатора, да и щелканье реле ранним утром будет очень сомнительным удовольствием. Соответственно, плата с ардуиной, джойстик, кнопки, экран и часы реального времени остаются в «домашней» коробочке, а реле будут вынесены в коробку на улицу, поближе к мотору и клапанам.
Для сборки управляющего блока мне понадобился кусок мебельного щита, перьевые сверла для отверстий под кнопки и под джойстик, и лобзик, для отверстия под экран
Далее разветвители (телефонные и под витую пару) вскрываем, паяем к ним провода и садим на термоклей. Здесь видно более подробно
Экранчик и часы реального времени были объединены в одно целое вот таким способом
И далее эта конструкция была торжественно закреплена саморезами в коробке. Так же был прикручен джойстик. Теперь внешне блок управления выглядит так:
Осталось закинуть в коробку мозги — и блок управления готов.
Теперь внимание. Эстетам, детям и беременным женщинам настоятельно не рекомендуется открывать следующий спойлер… Потому что красивых плат, которые умеют делать Yurok, ksiman и прочие известные здесь личности, вы не увидите. Зато вы увидите монтаж платы в лучших традициях КитайПодвалПрома: проводки вместо дорожек, и термоклей, чтобы это все не развалилось. Поэтому еще раз предупреждаю: не надо открывать спойлер! Поверьте на слово, эта плата работает, но лучше ее не видеть:)
Блок управления соединен с блоком реле двумя витыми парами. Для взаимодействия «мозгов» с клапанами и мотором достаточно 5 управляющих линий и еще 2 линии для питания реле (5 вольт и земля), но ведь есть еще расходомер (питание уже есть, значит нужна всего 1 линия), датчик влажности почвы (3 линии) и 4 светодиода, отображающие текущее состояние клапанов. Итого — используется 15 линий из 16 доступных.
В блоке реле помимо самих релюшек встроены розетки для мотора и для блока питания клапанов, а также обычный выключатель для принудительного запуска мотора. Сам блок сделан из тех же обрезков мебельного щита, что и блок управления, а выглядит как обычная деревянная коробочка. На входе две витые пары разведены на плате по коннекторам на реле мотора, реле клапанов, светодиоды, датчик влажности и датчик расхода воды. В стенке предусмотрительно сделаны отверстия под провода на клапаны, на выключатель и на розетку, управляемую через реле мотора.
На клеммнике выведены провода к электромагнитным клапанам
Снаружи я прикрутил розетку для мотора, управляемую ардуиной, и выключатель для ручного включения мотора
Все провода разведены и выведены куда нужно… вроде бы
На внутренней стенке появилась розетка для 12-вольтового блока питания, он тоже здесь виден
В готовом виде все это смотрится примерно так:
Немного объясню что и как. В коробку заведено питание, внутри спрятан блок для 12-вольтовых клапанов, реле мотора и реле клапанов. Наружу выходит питание на мотор (розетка), а также выведен выключатель для ручного управления мотором (он запараллелен с релюшкой). Кроме того, есть возможность подключения датчиков влажности почвы и расхода воды, но они пустуют. Почему — расскажу немного дальше.
4. Описание функционала
Собственно, вот неполный набор электронных компонентов для сборки
Сначала был собран примерно вот такой «осьминог» из ардуины и небольшого набора периферии, именно это чудо я использовал для отладки скетча
Минимальный как я уже говорил, было решено сделать управление джойстиком, и вырисовывался следующий минимально необходимый набор пунктов меню:
1. Настройки даты и времени
2. Настройки расписания полива
3. Информация с датчиков
4. Возможность принудительной перезагрузки
Реализовать его мне удалось, причем получилось даже обойтись англоязычным дисплеем 1602 — помогла библиотека LCD_1602_RUS, которая позволила «сделать» 8 кириллических символов. После этого вперемешку с английскими буквами можно было составить вполне понятные для пожилых людей (моих родителей) русские названия пунктов меню. Конечный размер скетча — чуть меньше 1400 строк, втиснутых в 45 килобайт.
Результат компиляции:
Скетч использует 19 626 байт (63%) памяти устройства. Всего доступно 30 720 байт.
Глобальные переменные используют 1 316 байт (64%) динамической памяти, оставляя 732 байт для локальных переменных. Максимум: 2 048 байт.
Никаких предупреждений о нехватке памяти, к счастью, уже нет.
Самого скетча пока здесь нет, со временем выложу. Хочу немного «причесать» код:)
Что получилось и что не получилось? Ну, на осьминоге получилось все:) К сожалению, жизнь вносит свои коррективы, и после разнесения мозгов, релюшек и сенсоров кое-что работать перестало… Во-первых, аналоговые датчики. Увы, но сейчас из-за длины кабелей они у меня не работают — соответственно, пункт меню «ПОЧВА» показывает нулевую температуру и влажность. Есть определенные мысли, как это исправить, но пока — некогда. У родителей на даче бываю не слишком часто и занимаюсь не только поливатором, а тут еще очередная командировка… В любом случае — я буду рад дельным советам от читателей.
Во-вторых, сходу не удалось подключить расходомер — на этот раз вовсе не из-за длины кабелей. Я сгоряча поставил его на вход в мотор, сразу после обратного клапана, как оказалось — ему там не место. Датчик, видимо, не совсем герметичен, и при подъеме воды идет подсос воздуха через микрощели в корпусе, как результат — насос не тянет воду. Пока снял его, потом попробую поставить на выход насоса — должно работать, но возможно — будет немного подтекать.
Теперь по работающему функционалу. Ну, с расписанием понятно — это именно то, ради чего затевался проект. Но иногда нужно просто включить ненадолго поливалку, и для этого я сделал два режима принудительного полива: ограниченный и бесконечный. Ограниченный режим включается коротким нажатием на кнопку, длительность такого полива можно указать в настройках. Если нажать на кнопку еще раз — полив будет прекращен досрочно. По длинному нажатию включается бесконечный полив — выключить его можно опять таки нажатием на кнопку.
Ну и приятное дополнение — просмотр температуры в приямке с насосной станцией, в теплице и на улице.
Раз в сутки запланирована принудительная перезагрузка ардуины.
5. Собираем поливатор
Здесь я сделаю небольшое отступление и приведу технические характеристики водонапорных компонентов.
Насос JY1000 польской фирмы Omnigena, согласно утверждениям производителя, имеет такие характеристики:
Производительность: 60 л/мин;
Максимальная высота подъема: 50 м;
Потребляемая мощность: 1100 Вт;
Максимальная глубина самовсасывания: 8 м.
Ну и конечно, не стоит забывать, что производительность очень сильно зависит от глубины скважины и забитости фильтров.
Электромагнитный клапан безымянный, но я находил на множестве страниц (например здесь) примерно такие характеристики:
Напряжение: DC 12 В;
Ток: 0.5A;
Давление: 0.02-0.8 МПа;
Производительность 3-25 л/мин.
Кроме того, встречается оптимистичное утверждение: Water pressure: hydrostatic pressure of 1.2 MPa, which lasted 5min, no rupture, deformation, leakage.. Т.е. в течение 5 минут клапан выдерживает даже существенно более высокое давление, чем стандартное «не более 0.8 МПа».
Вот здесь можно рассмотреть клапан в разных ракурсах
Также могу отметить, что тестировал клапан на более слабом блоке питания, и он без проблем открылся при 9 вольтах.
А для того, чтобы клапаны без проблем работали в условиях огородной сырости, мне пришлось включить смекалку и найти применение старым пластиковым бутылкам.
Привет, бонаква!
Вот — один клапан в такой одежке, может здесь видно получше
Производительность разбрызгивателя, согласно данным отсюда, составляет 700 — 1140 л/ч, или примерно 11.7-19 л/мин при давлении жидкости 0,21-0,35 МПа соответственно.
Как видно, в идеальных условиях насос выдает слишком большой поток, который просто физически не «осилит» ни клапан, ни тем более разбрызгиватель. Забегая вперед, скажу, что скважина в моем случае далеко не идеальная и до 60 л/мин она не дотягивала. Потом я прикинул, что напор упадет также и из-за длины шланга от мотора до самого дальнего разбрызгивателя (почти 30 метров), решил сильно не заморачиваться по этому поводу. Потом, в ходе «производственных испытаний», подключил к мотору одновременно три разбрызгивателя. Оказалось, что они льют очень слабо, да еще и давления не хватает на то, чтобы изменилось направление вращения. Выглядело так: разбрызгиватель крутится до тех пор, пока не упрется в ограничитель сектора, и вращение прекращается. Если убрать ограничитель сектора, то по кругу вращение более-менее без проблем, но радиус полива — метра 2-3. Отбросил один разбрызгиватель — стало немного лучше и они даже пытались вертеться, но радиус все равно был максимум метра 4. А вот один разбрызгиватель работает замечательно — бьет очень далеко (замерял рулеткой, на 9 метров брызгает только в путь), и никаких проблем с вращением.
Сами разбрызгиватели можно регулировать под свои нужды:
— разбить струю, выкрутив винт напротив сопла;
— изменить угол и соответственно дальность струи, поднимая или опуская пластину напротив сопла;
— изменить сектор полива с помощью ограничителей, или вообще убрать фиксатор ограничителя.
Вот фотографии «элементов управления» с близкого расстояния
Брызгалка на держателе и с подведенным шлангом/проводом выглядит вот так:
6. Работа
Блок управления, кроме текущего времени, умеет показывать всякую полезную информацию вроде температуры и влажности. Там же задается начало и длительность полива по расписанию, и длительность полива при активации кнопкой.
Коротким нажатием одной из 4 кнопок можно включить полив на определенное время (задается в настройках), длинное нажатие включает «бесконечный» режим, т.е. отключить полив на заданной линии можно будет только этой же кнопкой, или он отключится, если по расписанию линию необходимо отключить. Хотя зачем я повторяюсь? Даешь слайды!
Вот здесь видны настройки:
Вот здесь — смотрим температуру и влажность
Эти датчики пока ничего не говорят, почему — объяснял выше
И, наконец… Семь бед — один ресет:
А теперь — видео, куда ж без него.
1. Мини-экскурсия — что есть в меню поливатора. Датчики были не подключены, поэтому все показывают по нулям.
2. Настройка поливатора на включение 2 и 3 линии длительностью по одной минуте
3. Как выглядит полив по расписанию, которое было задано для теста
4. Как выглядит полив по расписанию на экране поливатора
5. Тестовый полив с кнопки — включение и выключение. Работу разбрызгивателя не показываю, но чесслово — все работает
6. Разбрызгиватель и его настройка: что где крутится, поворачивается и фиксируется
7. Работа разбрызгивателя на небольшом секторе с близкого расстояния
7. Сравнение с рыночными предложениями
Доступный вариант на российском рынке — системы Gardena, продается в OBI. Можно взять блок управления Gardena modular за 13590 рублей и еще 4 клапана по 3990 рублей, итоговая цена будет всего-то 29550. Здорово, конечно, и выглядит красиво. Но отдавать почти 500 американских денег… И насколько я понимаю — здесь в комплекте нет разбрызгивателей, соединителей и шлангов! Ладно, смотрим дальше.
Опять Gardena в том же магазине, но здесь уже система на 6 линий. Состоит из таймера подачи воды Gardena MasterControl за 11190 рублей и распределителя воды за 6990 рублей — итого 18180, или почти 300 бакинских… Шланги и разбрызгиватели, как и в предыдущем случае, нужно покупать отдельно.
Ebay сходу предложил блок управления вместе с клапанами Melnor Aquatimer примерно за 60 долларов, плюс ~35$ стоит доставка — в итоге почти сотня. Как вариант, доступны контроллеры (без клапанов) Rain Bird ESP-RZX Series 4 и Hunter XC 400i по ценам не ниже 75 баксов, не считая доставки. Клапаны отдельно; для хантера, например, они идут от 22 баксов за штуку, оптом дешевле.
И вместо послесловия. Имело ли смысл мне заморачиваться изобретением велосипеда, если он уже есть на рынке? Думаю, что да. Что лично я от этого получил? Во-первых, существенную экономию, во-вторых, возможность реализовать систему так, как это нужно именно мне, в-третьих — мне это просто было интересно. Реализуйте свои проекты и не бойтесь делать ошибки. Не ошибается только тот, кто ничего не делает!
Теперь обещанный код для ардуины. Скачать его можно отсюда, комментарии в тексте я по возможности добавил, но конкретно в этом коде возможно не работает (или неправильно работает) расходомер.
Клапаны для полива в москве: 516-товаров: бесплатная доставка, скидка-47% [перейти]
Популярные товары в наличии! В категории: Клапаны для полива — купить по выгодной цене, доставка: Москва, скидки!