Съдържание:

APIS - Автоматизирана система за напояване на растения: 12 стъпки (със снимки)
APIS - Автоматизирана система за напояване на растения: 12 стъпки (със снимки)

Видео: APIS - Автоматизирана система за напояване на растения: 12 стъпки (със снимки)

Видео: APIS - Автоматизирана система за напояване на растения: 12 стъпки (със снимки)
Видео: Поливни системи. Как работи системата за напояване. Описание на поливна система. 2024, Ноември
Anonim
APIS - Автоматизирана система за напояване на растения
APIS - Автоматизирана система за напояване на растения

ИСТОРИЯТА: (следваща еволюция на тази система е достъпна тук)

Има доста инструкции по темата за поливане на растенията, така че едва измислих нещо оригинално тук. Това, което прави тази система различна, е обемът на програмирането и персонализирането, което позволява по-добър контрол и интеграция в ежедневния живот.

Ето видео на поливане: поливане

Ето как възниква APIS:

Разполагаме с две люти люти чушки, които едва са „оцелели“през няколко от нашите почивки и почти считани за членове на семейството в този момент. Те са преживели екстремна суша и преливане, но винаги са се възстановявали по някакъв начин.

Идеята за изграждане на поливане на растения на базата на Arduino беше почти първата идея как Arduino може да се приложи като проект за домашна автоматизация. Така беше изградена проста система за поливане на растения.

Версия 1 обаче нямаше никакви индикации за влажност на почвата и нямаше начин да се определи дали е на път да се поливат растенията или поливането е на няколко дни.

Любопитството, както всички знаем, уби котката, а версия 2 е изградена с 4 -цифрен 7 -сегментен модул за показване на текущата влажност по всяко време.

Това не беше достатъчно. Следващият въпрос беше „кога за последно е поливал растенията“? (Тъй като рядко сме били вкъщи, за да го видим). Версия 3 използва 7 -сегментния модул, за да покаже също преди колко време е било последното поливане (като работещ текстов низ).

Една вечер поливането започна в 4 часа сутринта и събуди всички. Разочароващо … Намирането за твърде много работа, за да се изключи APIS през нощта и да се включи през деня, за да се предотврати поливането посред нощ, беше добавен часовник в реално време, за да постави устройството да спи през нощта като част от версия 4.

Тъй като часовникът в реално време изисква периодични настройки (като например лятното часово време), Версия 5 включва три бутона, позволяващи задаване на различни параметри за поливане на растенията.

Това не спря дотук. Забелязах, че сондата за влажност е склонна да се ерозира доста бързо, вероятно поради факта, че тя (по проект) е била под постоянно напрежение и следователно е имало постоянен електрически ток между сондите (ерозиращ анод). Евтината почвена сонда от Китай оцеля около седмица. Дори поцинкован гвоздей беше „изяден“за месец. Сонда от неръждаема стомана се държеше по -добре, но забелязах, че дори това се отказва. Версия 6 включва сондата само за 1 минута на всеки час (и през цялото време по време на поливането), като по този начин драстично намалява ерозията (~ 16 минути на ден срещу 24 часа на ден).

Идеята:

Разработете система за поливане на растения със следните възможности:

  1. Измерете влажността на почвата
  2. При достигане на предварително дефиниран знак за „ниска“влажност, включете водната помпа и поливайте растенията, докато се достигне знак за „висока“влажност
  3. Поливането трябва да се извършва на няколко цикъла, разделени от периоди на бездействие, за да се позволи насищане на водата през почвата
  4. Системата трябва да се деактивира през нощта между „заспиване“и „събуждане“
  5. Времето за „събуждане“трябва да се регулира за уикендите на по -късна стойност
  6. Системата трябва да води регистъра на изпомпване
  7. Системата трябва да показва текущото отчитане на влажността на почвата
  8. Системата трябва да показва дата/час на последния пуск на помпата
  9. Параметрите на поливане трябва да се регулират без препрограмиране
  10. Спрете изпомпването и посочете състояние на грешка, ако работата на помпата не доведе до промяна във влажността (извън водата или проблеми със сензора), предотвратявайки наводняване на инсталацията и изтичане на вода
  11. Системата трябва да включва/изключва сондата за влажност, за да се избегне ерозия на метал
  12. Системата трябва да източва вода от тръбите, за да предотврати образуването на мухъл вътре в тях

Следните параметри трябва да се конфигурират чрез бутони:

  1. Марка „ниска“влажност, в %, за стартиране на работата на помпата (по подразбиране = 60 %)
  2. Марка за "висока" влажност, в %, за да спре работата на помпата (по подразбиране = 65 %)
  3. Продължителност на еднократно поливане, в секунди (по подразбиране = 60 секунди)
  4. Брой повторни опити за достигане на целевата влажност (по подразбиране = 4 цикъла)
  5. Военно време за деактивиране за нощта, само часове (по подразбиране = 22 или 22 часа)
  6. Военно време за активиране сутрин, само часове (по подразбиране = 07 или 7 сутринта)
  7. Корекция през уикенда за сутрешно активиране, делта часове (по подразбиране = +2 часа)
  8. Текуща дата и час

APIS записва дата/час на 10 последно поливане в паметта на EEPROM. Дневникът може да бъде показан, показващ дата и час на пистите.

Едно от многото неща, които научихме от APIS, е, че всъщност не е нужно да поливате растенията всеки ден, което беше нашата рутина, докато не видяхме показанията за влажност на почвата на 7 -сегментен дисплей …

Стъпка 1: ЧАСТИ И ИНСТРУМЕНТИ

ЧАСТИ И ИНСТРУМЕНТИ
ЧАСТИ И ИНСТРУМЕНТИ
ЧАСТИ И ИНСТРУМЕНТИ
ЧАСТИ И ИНСТРУМЕНТИ

За изграждането на APIS ще ви трябват следните части:

КОНТРОЛНА КУТИЯ И ТРУБИ:

  1. Дъска Arduino Uno: на Amazon.com
  2. 12v перисталтична течна помпа със силиконови тръби: на Adafruit.com
  3. 4X цифров светодиоден дисплей JY-MCU модул: на Fasttech.com
  4. DS1307 Комплект дъска за разбиване на часовника в реално време: на Adafruit.com (по избор)
  5. Микроактивност IM206 6x6x6mm Tact Switch: на Amazon.com
  6. Табло Vero: на Amazon.com
  7. IC на драйвер за двигател L293D: на Fasttech.com
  8. 3 x 10kOhm резистора
  9. Arduino проектира пластмасов калъф: на Amazon.com
  10. 12v AC/DC адаптер с 2.1 мм жак за захранване: на Amazon.com
  11. Бамбукови шишчета
  12. Протектор и малко лепило за суперцемент
  13. Супер мека латексова гумена тръба 1/8 "ID, 3/16" OD, 1/32 "стена, полу-бистър кехлибар, 10 фута. Дължина: на McMaster.com
  14. Издръжлив найлонов плътно уплътнен бодлив тръбен монтаж, тройник за 1/8 "тръба ID, бял, опаковки от 10: на McMaster.com
  15. Издръжлив найлонов плътно уплътнен бодлив тръбен монтаж, Wye за 1/8 "тръба ID, бял, опаковки от 10: на McMaster.com
  16. Както обикновено, проводници, инструменти за запояване и т.н.

СОНДА ЗА ВЛАЖНОСТ:

  1. Малко парче дърво (1/4 "x 1/4" x 1 ")
  2. 2 x игли за отстраняване на акне от неръждаема стомана: на Amazon.com
  3. Модул на сензора за откриване на влажност на почвата: на Fasttech.com

Стъпка 2: СОНДА ЗА ВЛАЖНОСТ НА ПОЧВА V1

СОНДА ЗА ВЛАЖНОСТ НА ПОЧВАТА V1
СОНДА ЗА ВЛАЖНОСТ НА ПОЧВАТА V1
СОНДА ЗА ВЛАЖНОСТ НА ПОЧВА V1
СОНДА ЗА ВЛАЖНОСТ НА ПОЧВА V1
СОНДА ЗА ВЛАЖНОСТ НА ПОЧВА V1
СОНДА ЗА ВЛАЖНОСТ НА ПОЧВА V1

Влажността на почвата се измерва въз основа на съпротивлението между две метални сонди, поставени в земята (на разстояние около 1 инч). Схемите са представени на снимката.

Първата сонда, която опитах, беше тази, която можете да закупите от редица интернет доставчици (като тази).

Проблемът с тях е, че нивото на фолиото е сравнително тънко и бързо се ерозира (въпрос за една или две седмици), така че бързо се отказах от този предварително произведен за по-здравия сензор, на базата на поцинковани пирони (моля, вижте следващата стъпка).

Стъпка 3: СОНДА ЗА ВЛАЖНОСТ НА ПОЧВА V2

СОНДА ЗА ВЛАЖНОСТ НА ПОЧВАТА V2
СОНДА ЗА ВЛАЖНОСТ НА ПОЧВАТА V2
СОНДА ЗА ВЛАЖНОСТ НА ПОЧВАТА V2
СОНДА ЗА ВЛАЖНОСТ НА ПОЧВАТА V2

Сондата "следващо поколение" е домашно изработена от два поцинковани пирона, дървена дъска и няколко жици.

Тъй като вече имах износена произведена сонда, използвах отново свързващата част и електронния модул от нея, като по същество просто замених почвения компонент.

Поцинкованите нокти, за моя изненада, също се ерозираха (макар и по -бавно от тънко фолио), но все пак по -бързо, отколкото бих искал.

Друга сонда е проектирана на базата на игли за отстраняване на акне от неръждаема стомана. (вижте следващата стъпка).

Стъпка 4: СОНДА ЗА ВЛАЖНОСТ НА ПОЧВА V3 "Катана"

СОНДА ЗА ВЛАЖНОСТ НА ПОЧВА V3
СОНДА ЗА ВЛАЖНОСТ НА ПОЧВА V3
СОНДА ЗА ВЛАЖНОСТ НА ПОЧВА V3
СОНДА ЗА ВЛАЖНОСТ НА ПОЧВА V3

Сондата от неръждаема стомана (наподобяваща самурайски меч, откъдето идва и името) е тази, която се използва в момента.

Вярвам, че бързата ерозия може да се дължи на факта, че сондата винаги е била под електрическо напрежение (24x7), независимо от това колко често се извършва действителното измерване.

За да смекча това, промених интервалите на измерване да бъдат веднъж на 1 час (в края на краищата това НЕ е система в реално време) и свързах сондата към един от цифровите щифтове вместо постоянни 5v. В момента сондата се захранва само ~ 16 минути на ден вместо 24 часа, което би трябвало да увеличи драстично живота й.

Стъпка 5: ОСНОВНА ФУНКЦИОНАЛНОСТ

ОСНОВНА ФУНКЦИОНАЛНОСТ
ОСНОВНА ФУНКЦИОНАЛНОСТ
ОСНОВНА ФУНКЦИОНАЛНОСТ
ОСНОВНА ФУНКЦИОНАЛНОСТ

APIS се основава на дъската на Arduino UNO.

APIS измерва влажността на почвата веднъж на час и ако тя падне под предварително определен праг, включва помпата за предварително определен период от време, предварително определен брой пъти, разделени с интервали на "насищане".

След достигане на целевия праг на влажност, процесът се връща към режим на измерване веднъж на час.

Ако целевата влажност не може да бъде достигната, но е достигната долната граница, това също е ОК (поне е имало известно поливане). Причината може да е неблагоприятното поставяне на сондата, където е твърде далеч от влажната почва.

Ако обаче дори и долната граница на влажност не може да бъде достигната, се декларира състояние на грешка. (Най -вероятно проблемът със сондата или в кофата за захранване е останала вода и т.н.). При грешка устройството ще спи 24 часа, без да прави нищо, след което ще опита отново.

Стъпка 6: 7 ЕКРАН НА СЕГМЕНТА

7 СЕГМЕНТЕН ДИСПЛЕЙ
7 СЕГМЕНТЕН ДИСПЛЕЙ
7 СЕГМЕНТЕН ДИСПЛЕЙ
7 СЕГМЕНТЕН ДИСПЛЕЙ

TM1650 ЕТАЖ НА 7 СЕГМЕНТА НА БАЗА:

Първоначално APIS нямаше никакви възможности за показване. Беше невъзможно да се определи текущото ниво на влажност на почвата без свързване чрез USB.

За да поправя това, добавих 4 -цифрен 7 -сегментен дисплей към системата: на Fasttech.com

Не можах да намеря библиотека, която да работи с този модул никъде (нито лист с данни за него), така че след няколко часа проучване и експериментиране на I²C порт, аз решавам сам да напиша библиотека с драйвери.

Той поддържа дисплеи до 16 цифри (като 4 са по подразбиране), може да показва основни ASCII знаци (имайте предвид, че не всички знаци могат да бъдат конструирани със 7 сегмента, така че букви като W, M и т.н. не се прилагат)., Поддържа десетичен точков дисплей на модула, изпълняващ низ от знаци (за показване на повече от 4 букви) и поддържа 16 степени на яркост.

Библиотеката е достъпна на площадката arduino.cc тук. Библиотека с драйвери TM1650

Примерно видео е достъпно тук

АНИМАЦИЯ:

Малко от 7 сегментна анимация е внедрена по време на воден пробег.

  • Докато помпата е включена, цифровите точки на дисплея се движат от ляво на дясно, символизиращи водно движение: поливане анимационен видеоклип
  • По време на периода на "насищане", точките се движат от центъра на дисплея навън, символизирайки насищането: наситен анимационен видеоклип

Излишно, но приятно докосване.

Стъпка 7: ПОМПА и КОНТРОЛ НА ПОМПАТА

ПОМПА и КОНТРОЛ НА ПОМПАТА
ПОМПА и КОНТРОЛ НА ПОМПАТА
ПОМПА и КОНТРОЛ НА ПОМПАТА
ПОМПА и КОНТРОЛ НА ПОМПАТА

ПОМПА

Използвах 12v перисталтична течна помпа (налична тук) за поливане на растенията. Помпата осигурява около 100 mL/min (което е около 1/2 от чаша - добре е да запомните, когато конфигурирате времето за работа на водата, за да избегнете преливане, и това се случи 8-))

КОНТРОЛ НА ПОМПАТА - L293D

Помпата се управлява чрез чип на драйвера на двигателя L293D. Тъй като посоката на въртене е предварително зададена, наистина трябва само да използвате щифта за активиране на чипа за управление. Щифтовете за посока могат да бъдат свързани директно към +5v и GND постоянно.

Ако вие (като мен) не сте сигурни в коя посока ще тръгне помпата, все още можете да свържете и трите щифта към Arduino и да контролирате програмно посоката. По-малко повторно запояване.

Стъпка 8: КОНФИГУРАЦИЯ и БУТОНИ

КОНФИГУРАЦИЯ и БУТОНИ
КОНФИГУРАЦИЯ и БУТОНИ
КОНФИГУРАЦИЯ и БУТОНИ
КОНФИГУРАЦИЯ и БУТОНИ

БУТОНИ:

Използвах три бутона за конфигуриране и контрол на APIS.

Всички натискания на бутони се обработват въз основа на прекъсванията на щифтовете (библиотека PinChangeInt).

  • Червеният (най -десният) е бутон SELECT. Това кара APIS да влезе в режим на конфигуриране и също така потвърждава стойностите.
  • Черните крайни леви и средни бутони (съответно PLUS и MINUS) се използват за увеличаване/намаляване на конфигурируемите стойности (в режим на конфигуриране) или за показване на текущата дата/час и информация за последното поливане (в нормален режим).

Тъй като през повечето време дисплеят е изключен, всички бутони първо ще "събудят" APIS и едва след това, при второ натискане, изпълняват своята функция.

Дисплеят се изключва след 30 секунди бездействие (освен ако не се извършва поливане).

APIS преминава през конфигурационните параметри при стартиране за преглед: видео

КОНФИГУРАЦИЯ:

APIS има четири режима на конфигуриране:

  1. Конфигурирайте параметрите на поливане
  2. Настройка на часовника в реално време
  3. "Принудително" поливане
  4. Прегледайте дневника за поливане

ВОДНИ ПАРАМЕТРИ:

  1. Нисък праг на влажност на почвата (започнете поливане)
  2. Праг на висока влажност на почвата (спрете поливането)
  3. Продължителност на еднократно поливане (в секунди)
  4. Брой поливки в една партида
  5. Продължителност на периода на насищане на почвата между циклите в рамките на една партида (в минути)
  6. Време за активиране на нощен режим (военно време, само часове)
  7. Краен час за нощен режим (военно време, само часове)
  8. Корекция през уикенда за края на нощния режим (в часове)

НАСТРОЙКА НА ЧАСОВНИК ЗА РЕАЛНО ВРЕМЕ:

  1. Век (т.е. 20 за 2015 г.)
  2. Година (т.е. 15 за 2015 г.)
  3. Месец
  4. Ден
  5. Час
  6. Минута

Часовникът се регулира с секунди, зададени на 00 след потвърждаване на минутите.

Настройките имат период на изчакване от 15 секунди, след което всички промени се анулират.

При записване параметрите се записват в паметта на EEPROM.

ПРИНАДЯВАНЕ НА ПОТОВКА

Все още не съм сигурен защо го приложих, но го има. След като се активира, APIS влиза в режим на поливане. Режимът на поливане обаче все още е подложен на прагове. Това означава, че ако принудите поливането, но влажността на почвата е над маркировката HIGH, поливането веднага ще приключи. По принцип това работи само ако влажността на почвата е между НИСКИ и ВИСОКИ прагове.

ПРЕГЛЕД НА ВЛАСНОТО ДНЕ:

APIS съхранява регистър на последните 10 поливки в паметта на EEPROM, който потребителят може да прегледа. Съхраняват се само дата/час на поливането. Праговете (по това време) и броят на изпълненията, необходими за достигане на ВИСОК праг, не се съхраняват (въпреки че в следващата версия те могат да бъдат).

Стъпка 9: RTC: ЧАСОВНИК ЗА РЕАЛНО ВРЕМЕ

RTC: ЧАСОВНИК ЗА РЕАЛНО ВРЕМЕ
RTC: ЧАСОВНИК ЗА РЕАЛНО ВРЕМЕ

НОЩЕН РЕЖИМ

След като APIS ме събуди през нощта, ми хрумна идеята за прилагане на „нощен режим“.

Нощен режим е, когато не се извършват измервания, дисплеят е изключен и не се полива.

В обикновен работен ден APIS се „събужда“в 7 сутринта (конфигурируем) и влиза в нощен режим в 22 часа (конфигурируем). В уикенд APIS използва настройка „корекция през уикенда“, за да забави събуждането (например до 9 часа сутринта), ако корекцията през уикенда е 2 часа).

RTC BROWING BOARD срещу "SOFTWARE" RTC:

Използвах хардуерен RTC (наличен тук), за да следя датата/часа и да влизам/излизам от нощните режими.

Не е задължително да се използва, тъй като скиците могат да бъдат компилирани, за да се използва така наречения "софтуерен" RTC (използвайки функцията millis () на arduino).

Недостатъкът на използването на софтуер RTC е, че трябва да настройвате времето всеки път, когато APIS се включи.

Промених стандартната RTC библиотека, за да съответства точно на API, а също и да заобиколи проблема с преобръщане на милис. (Моля, вижте стъпките за скици за изтегляне).

Стъпка 10: СЪЕДИНЯВАНЕ НА ВСИЧКО

СЪЕДИНЯВАНЕ НА ВСИЧКИ
СЪЕДИНЯВАНЕ НА ВСИЧКИ
СЪЕДИНЯВАНЕ НА ВСИЧКИ
СЪЕДИНЯВАНЕ НА ВСИЧКИ
СЪЕДИНЯВАНЕ НА ВСИЧКИ
СЪЕДИНЯВАНЕ НА ВСИЧКИ
СЪЕДИНЯВАНЕ НА ВСИЧКИ
СЪЕДИНЯВАНЕ НА ВСИЧКИ

Цялата система (с изключение на сондата), включително помпата, се побира в малка кутия за Arduino Uno.

  1. Дисплеят TM1650 използва TWI интерфейс, така че кабелите SDA и SDC отиват съответно към щифтове A4 и A5 на Arduino. Другите два проводника са +5v и GND.
  2. RTC платката използва TWI интерфейс, така както е описано по -горе. (TM1650 и RTC използват различни портове, така че съжителстват мирно). RTC +5v щифт е свързан към arduino pin 12 (захранва се чрез цифров извод вместо +5v). Не помни защо го направих, не е нужно.
  3. Щифтовете L293D са свързани по следния начин: разрешете (щифт 1) към D5, а щифтовете за управление на посоката 2 и 7 съответно към щифтовете D6 и D7 на arduino.
  4. Бутоните са свързани към пинове D2, D8 и D9 за SELECT, PLUS и MINUS съответно. (Бутоните се изпълняват с издърпващи се 10K резистори-в конфигурация "активно-високо").
  5. +5v захранването на модула PROBE е свързано към щифт 10 на arduino (за разрешаване на периодични измервания), а сондата е свързана към аналогов извод A1.

ЗАБЕЛЕЖКА: Файлът със схеми на фритзинг е добавен към хранилището на github.

Стъпка 11: СКИЧИ и др

СКИЧИ и др
СКИЧИ и др

Актуализация от март 2015 г.:

  1. Добавена функционалност за източване на тръбите след поливане, за да се предотврати образуването на мухъл (Момче! Щастлив съм, че не направих посоката на въртене на помпата на L293D!)
  2. По -обширното регистриране включва дата/час на началото и края на поливането, начална и крайна влажност и колко пъти помпата е била включена по време на поливането
  3. Актуализирана програма за грешки: устройството ще се нулира след 24 часа след въвеждане на състоянието на грешка
  4. Прекомпилирано с TaskScheduler 2.1.0
  5. Различни други корекции на грешки

От 18 ноември 2015 г. APIS беше надграден със следните допълнителни функции:

  1. Използване на DirectIO библиотека за по -бърза и лесна смяна на щифтове
  2. Използване на библиотеката на часовата зона за правилно превключване между EST и EDT
  3. Добавена е логика за премахване на отскачането на бутони, използвайки само TaskScheduler
  4. Добавена функционалност за повторение на бутоните (цикълът на стойностите се натиска и задържа, като скоростта на цикъла се увеличава след 5 цикъла)
  5. Прекомпилирано с IDE 1.6.6 AVR 1.6.9 срещу TaskScheduler 1.8.4
  6. Преместено в Github

БИБЛИОТЕКИ:

APIS се основава на следните библиотеки:

  • EEPROM - част от Arduino IDE
  • Wire - част от IDE на Arduino
  • EnableInterrupt - налично в Github
  • Часова зона - налична в Github
  • DirectIO - наличен в Github

Променено (раздвоено) от мен:

  • Време - налично в Github
  • RTClib - налично в Github

Разработено от мен:

  • TM1650 - налично в Github
  • TaskScheduler - наличен в Github
  • AvgFilter - наличен в Github

СКИЦА:

Най -новата версия на скицата на APIS, включително файл със схеми за фритзинг, е достъпна в Github

ЛИСТОВЕ С ДАННИ:

  • L293D: тук
  • RTC пробивна дъска: тук

Стъпка 12: *** ПОБЕДИМ !!! ***

*** СПЕЧЕЛИХМЕ !!! ***
*** СПЕЧЕЛИХМЕ !!! ***

Този проект спечели втора награда в конкурса за домашна автоматизация, спонсориран от Dexter Industries.

Виж това! У-У-У !!!

Домашна автоматизация
Домашна автоматизация
Домашна автоматизация
Домашна автоматизация

Втора награда за домашна автоматизация

Препоръчано: