Sadržaj:

APIS - Automatizirani sustav za navodnjavanje biljaka: 12 koraka (sa slikama)
APIS - Automatizirani sustav za navodnjavanje biljaka: 12 koraka (sa slikama)

Video: APIS - Automatizirani sustav za navodnjavanje biljaka: 12 koraka (sa slikama)

Video: APIS - Automatizirani sustav za navodnjavanje biljaka: 12 koraka (sa slikama)
Video: АРК 100 дана АЛИ непријатељске куполе су свуда! - Острво 2024, Studeni
Anonim
APIS - Automatizirani sustav za navodnjavanje biljaka
APIS - Automatizirani sustav za navodnjavanje biljaka

POVIJEST: (sljedeća evolucija ovog sustava dostupna je ovdje)

Postoji dosta instrukcija na temu zalijevanja biljaka, pa sam ovdje jedva izmislio nešto originalno. Ono što ovaj sustav čini drugačijim je količina programiranja i prilagođavanja koja su uključena u njega, omogućujući bolju kontrolu i integraciju u svakodnevni život.

Ovdje je video zapis zalijevanja: zalijevanje

Ovako je nastao APIS:

Imamo dvije biljke ljute ljute papričice, koje su jedva "preživjele" nekoliko naših godišnjih odmora, i u ovom trenutku gotovo smatrane članovima obitelji. Prošli su kroz ekstremnu sušu i prekomjerno zalijevanje, ali uvijek su se nekako oporavili.

Ideja o izgradnji zalijevanja biljaka na bazi Arduina bila je gotovo prva ideja kako bi se Arduino mogao primijeniti kao projekt kućne automatizacije. Tako je izgrađen jednostavan sustav zalijevanja biljaka.

Međutim, verzija 1 nije imala nikakve naznake vlažnosti tla i nije bilo načina da se utvrdi hoće li se biljke zalijevati ili je zalijevanje ostalo tek nekoliko dana.

Znatiželja je, kao što svi znamo, ubili mačku, a verzija 2 je napravljena sa 4 -znamenkastim 7 -segmentnim modulom za prikaz trenutne vlažnosti u svakom trenutku.

To nije bilo dovoljno. Sljedeće pitanje bilo je "kada je zadnji put zalijevalo biljke"? (Budući da smo rijetko bili kod kuće da tome svjedočimo). Verzija 3 koristila je 7 -segmentni modul za prikaz koliko je davno došlo do zadnjeg zalijevanja (kao tekući tekstualni niz).

Jedne noći zalijevanje je počelo u 4 sata ujutro, probudivši sve. Frustrirajuće … S obzirom na to da je previše posla da se APIS isključi preko noći, a uključi tijekom dana kako bi se spriječilo zalijevanje usred noći, dodan je sat u stvarnom vremenu za stavljanje uređaja u stanje mirovanja noću u sklopu Verzije 4.

Budući da sat u stvarnom vremenu zahtijeva povremena podešavanja (na primjer, prekidač za ljetno računanje vremena), verzija 5 uključuje tri gumba koji omogućuju postavljanje različitih parametara zalijevanja biljaka.

Nije se tu stalo. Primijetio sam da sonda za vlagu ima tendenciju prilično brzog nagrizanja, vrlo vjerojatno zbog činjenice da je (prema dizajnu) bila pod konstantnim naponom, pa je stoga postojala stalna električna struja između sondi (erodirajuća anoda). Jeftina zemljana sonda iz Kine preživjela je oko tjedan dana. Čak je i pocinčani čavao "pojeo" u mjesec dana. Sonda od nehrđajućeg čelika bolje se držala, ali primijetio sam da i to odustaje. Verzija 6 uključuje sondu na samo 1 minutu svaki sat (i cijelo vrijeme tijekom zalijevanja), čime se dramatično smanjuje erozija (~ 16 minuta dnevno u odnosu na 24 sata dnevno).

Ideja:

Razviti sustav zalijevanja biljaka sa sljedećim mogućnostima:

  1. Izmjerite vlažnost tla
  2. Kad dosegnete unaprijed definiranu oznaku "niske" vlažnosti, uključite pumpu za vodu i zalijevajte biljke dok se ne postigne oznaka "visoke" vlažnosti
  3. Zalijevanje treba vršiti u nekoliko ciklusa, odvojenih razdobljima neaktivnosti kako bi se omogućilo zasićenje vode kroz tlo
  4. Sustav bi se trebao deaktivirati noću između vremena "spavanja" i "buđenja"
  5. Vrijeme "buđenja" treba prilagoditi za vikende na kasniju vrijednost
  6. Sustav bi trebao voditi dnevnik rada crpki
  7. Sustav bi trebao prikazati trenutno očitanje vlažnosti tla
  8. Sustav bi trebao prikazati datum/vrijeme zadnjeg rada pumpe
  9. Parametri zalijevanja trebaju biti podesivi bez ponovnog programiranja
  10. Zaustavite crpljenje i pokažite stanje pogreške ako rad pumpe ne dovodi do promjene vlažnosti (zbog nedostatka vode ili problema sa senzorom) sprječavajući poplavu postrojenja i curenje vode
  11. Sustav bi trebao uključiti/isključiti sondu za vlagu kako bi se izbjegla erozija metala
  12. Sustav bi trebao ispuštati vodu iz cijevi kako se spriječilo stvaranje plijesni unutar njih

Sljedeće parametre treba konfigurirati pomoću gumba:

  1. Oznaka "niske" vlažnosti, u %, za početak rada pumpe (zadano = 60 %)
  2. Oznaka vlage "visoka", u %, za zaustavljanje rada crpke (zadano = 65 %)
  3. Trajanje jednog zalijevanja, u sekundama (zadano = 60 sekundi)
  4. Broj pokušaja za postizanje ciljane vlažnosti zraka (zadano = 4 vožnje)
  5. Vojno vrijeme za deaktiviranje tijekom noći, samo sati (zadano = 22 ili 22 sata)
  6. Vojno vrijeme za aktiviranje ujutro, samo sati (zadano = 07 ili 7 sati ujutro)
  7. Vikend prilagodba za jutarnju aktivaciju, delta sati (zadano = +2 sata)
  8. Trenutni datum i vrijeme

APIS zapisuje datum/vrijeme 10 posljednjih zalijevanja u memoriju EEPROM -a. Dnevnik se može prikazati, prikazujući datum i vrijeme trčanja.

Jedna od mnogih stvari koje smo naučili od APIS -a je da zapravo ne morate zalijevati biljke, što je bila naša rutina sve dok nismo vidjeli očitanja vlažnosti tla na 7 -segmentnom zaslonu …

Korak 1: DIJELOVI I ALATI

DIJELOVI I ALATI
DIJELOVI I ALATI
DIJELOVI I ALATI
DIJELOVI I ALATI

Za izradu APIS -a trebat će vam sljedeći dijelovi:

KONTROLNA KUTIJA I CIJEVI:

  1. Arduino Uno ploča: na Amazon.com
  2. 12v Peristaltička crpka za tekućinu sa silikonskim cijevima: na Adafruit.com
  3. 4X numerički LED zaslon digitalne cijevi JY-MCU modul: na Fasttech.com
  4. DS1307 Komplet ploče za razbijanje sata u stvarnom vremenu: na Adafruit.com (izborno)
  5. Taktni prekidač mikroaktivnosti IM206 6x6x6mm: na Amazon.com
  6. Vero ploča: na Amazon.com
  7. IC upravljačkog programa motora L293D: na Fasttech.com
  8. 3 x 10kOhm otpornici
  9. Arduino projektuje plastično kućište: na Amazon.com
  10. 12v AC/DC adapter s 2,1 mm utičnicom: na Amazon.com
  11. Ražnjići od bambusa
  12. Gazni sloj i malo supercementnog ljepila
  13. Super mekane gumene cijevi od lateksa 1/8 "ID, 3/16" OD, 1/32 "zid, poluprozirni jantar, 10 stopa. Duljina: na McMaster.com
  14. Izdržljivi najlonski brtveni cijevni priključak s uskim zatvaračem, T-spoj za 1/8 "ID cijevi, bijeli, pakiranja od 10: na McMaster.com
  15. Izdržljivi najlonski brtveni cijevni držač s brtvama, Wye za 1/8 "ID cijevi, bijeli, pakiranja od 10: na McMaster.com
  16. Kao i obično, žice, alati za lemljenje itd.

SONDA VLAŽNOSTI:

  1. Mali komad drveta (1/4 "x 1/4" x 1 ")
  2. 2 x igle za uklanjanje akni od nehrđajućeg čelika: na Amazon.com
  3. Modul senzora za otkrivanje vlažnosti tla: na Fasttech.com

Korak 2: SONDA VLAŽNOSTI TLA V1

SONDA VLAŽNOSTI TLA V1
SONDA VLAŽNOSTI TLA V1
SONDA VLAŽNOSTI TLA V1
SONDA VLAŽNOSTI TLA V1
SONDA VLAŽNOSTI TLA V1
SONDA VLAŽNOSTI TLA V1

Vlažnost tla mjeri se na temelju otpora između dvije metalne sonde umetnute u zemlju (udaljene oko 1 inč). Sheme su prikazane na slici.

Prva sonda koju sam isprobao je ona koju možete kupiti od brojnih internetskih davatelja (poput ove).

Problem s tim je što je razina folije relativno tanka i brzo erodira (u roku od jednog ili dva tjedna), pa sam brzo napustio ovaj već proizvedeni za čvršći senzor, na temelju pocinčanog čavla (pls. Pogledajte sljedeći korak).

Korak 3: SONDA VLAŽNOSTI TLA V2

SONDA VLAŽNOSTI TLA V2
SONDA VLAŽNOSTI TLA V2
SONDA VLAŽNOSTI TLA V2
SONDA VLAŽNOSTI TLA V2

Sonda "sljedeće generacije" bila je domaća izrađena od dva pocinčana čavla, drvene ploče i nekoliko žica.

Budući da sam već imao istrošenu proizvedenu sondu, ponovno sam koristio priključni komad i elektronički modul iz njega, u osnovi samo zamjenjujući komponentu tla.

Pocinčani nokti, na moje iznenađenje, također su nagrizli (iako sporije od tanke folije), ali ipak brže nego što bih želio.

Još jedna sonda dizajnirana je na temelju igala za uklanjanje prištića od nehrđajućeg čelika. (vidi sljedeći korak).

Korak 4: SONDA VLAŽNOSTI TLA V3 "Katana"

SONDA VLAŽNOSTI TLA V3
SONDA VLAŽNOSTI TLA V3
SONDA VLAŽNOSTI TLA V3
SONDA VLAŽNOSTI TLA V3

Sonda od nehrđajućeg čelika (koja nalikuje samurajskom maču, otuda i naziv) jedna je od trenutno korištenih.

Vjerujem da bi se brza erozija mogla pripisati činjenici da je sonda uvijek bila pod električnim naponom (24x7) bez obzira na to koliko često se stvarno mjerenje odvijalo.

Kako bih to ublažio, promijenio sam mjerne intervale na jednom u 1 sat (uostalom, ovo NIJE sustav u stvarnom vremenu) i spojio sondu na jedan od digitalnih pinova umjesto stalnih 5V. Trenutno se sonda napaja samo ~ 16 minuta dnevno umjesto 24 sata, što bi joj dramatično produžilo životni vijek.

Korak 5: OSNOVNA FUNKCIONALNOST

OSNOVNA FUNKCIONALNOST
OSNOVNA FUNKCIONALNOST
OSNOVNA FUNKCIONALNOST
OSNOVNA FUNKCIONALNOST

APIS se temelji na Arduino UNO ploči.

APIS mjeri vlažnost tla jednom na sat, a ako padne ispod unaprijed definiranog praga, uključuje crpku na unaprijed definirani vremenski period unaprijed definirani broj puta odvojenih intervalima "zasićenja".

Nakon što se dostigne ciljni prag vlažnosti, proces se vraća u način mjerenja jednom u satu.

Ako se ne može postići ciljna vlažnost, ali je dosegnuta donja granica, to je također u redu (barem je bilo zalijevanja). Razlog bi mogao biti nesretni položaj sonde, gdje je previše udaljena od vlažnog tla.

Međutim, ako se ni donja granica vlažnosti ne može doseći, proglašava se stanje pogreške. (Najvjerojatnije je došlo do problema sa sondom ili je u kanti za opskrbu ponestalo vode itd.). Pod uvjetom pogreške, jedinica će spavati 24 sata bez ičega, a zatim će pokušati ponovno.

Korak 6: 7 ZASLON SEGMENTA

7 ZASLON SEGMENTA
7 ZASLON SEGMENTA
7 ZASLON SEGMENTA
7 ZASLON SEGMENTA

716 SEGMENTNI ZASLON TM1650:

U početku APIS nije imao nikakve mogućnosti prikaza. Bilo je nemoguće odrediti trenutnu razinu vlažnosti tla bez povezivanja putem USB -a.

Da bih to ispravio, sustavu sam dodao četveroznamenkasti 7 -segmentni zaslon: na Fasttech.com

Nigdje nisam mogao pronaći biblioteku koja bi radila s ovim modulom (niti podatkovni list za njega), pa sam nakon nekoliko sati ispitivanja I²C portova i eksperimentiranja odlučio sam napisati biblioteku upravljačkih programa.

Podržava zaslone do 16 znamenki (pri čemu su 4 zadane), može prikazati osnovne ASCII znakove (imajte na umu da se svi znakovi ne mogu sastaviti sa 7 segmenata, pa slova poput W, M itd. Nisu implementirana)., Podržava decimalne znakove prikaz točaka na modulu, niz znakova (za prikaz više od 4 slova) i podržava 16 stupnjeva svjetline.

Knjižnica je dostupna na igralištu arduino.cc ovdje. Biblioteka upravljačkih programa TM1650

Uzorak videozapisa dostupan je ovdje

ANIMACIJA:

Malo animacije od 7 segmenata provodi se tijekom vodenog trčanja.

  • Dok je crpka uključena, digitalne točke na zaslonu prikazuju se slijeva nadesno, što simbolizira protok vode: animacijski video zalijevanja
  • Tijekom razdoblja "zasićenja", točkice teku od središta zaslona prema van, što simbolizira zasićenje: video sa animacijom zasićenja

Nepotreban, ali lijep dodir.

Korak 7: PUMPA i UPRAVLJANJE PUMPOM

PUMPA i UPRAVLJANJE PUMPOM
PUMPA i UPRAVLJANJE PUMPOM
PUMPA i UPRAVLJANJE PUMPOM
PUMPA i UPRAVLJANJE PUMPOM

PUMPA

Koristio sam 12v Peristaltičku pumpu za tekućinu (dostupna ovdje) za zalijevanje biljaka. Crpka osigurava oko 100 mL/min (što je oko 1/2 čaše - dobro je zapamtiti prilikom konfiguriranja vremena protoka vode kako bi se izbjeglo prelijevanje, a to se ipak dogodilo 8-))

UPRAVLJANJE PUMPOM - L293D

Crpkom se upravlja pomoću upravljačkog čipa motora L293D. Budući da je smjer rotacije unaprijed postavljen, za kontrolu morate koristiti samo pin za omogućavanje čipa. Igle za smjer mogu se trajno spojiti izravno na +5v i GND.

Ako (poput mene) niste bili sigurni u kojem će smjeru pumpa ići, još uvijek možete spojiti sva tri pina na Arduino i programski kontrolirati smjer. Manje ponovnog lemljenja.

Korak 8: KONFIGURACIJA i GUMBI

KONFIGURACIJA i GUMBI
KONFIGURACIJA i GUMBI
KONFIGURACIJA i GUMBI
KONFIGURACIJA i GUMBI

GUMBI:

Koristio sam tri gumba za konfiguriranje i kontrolu APIS -a.

Svi pritisci gumba obrađuju se na temelju prekida pinova (knjižnica PinChangeInt).

  • Crvena (krajnja desna) tipka je SELECT. Time APIS ulazi u konfiguracijski način, a također potvrđuje vrijednosti.
  • Crni krajnji lijevi i srednji gumbi (PLUS i MINUS) koriste se za povećanje/smanjenje konfiguriranih vrijednosti (u konfiguracijskom načinu) ili za prikaz trenutnog datuma/vremena i podataka o zadnjem tekućem zalijevanju (u normalnom načinu rada).

Budući da je zaslon većinom vremena isključen, svi gumbi će prvo "probuditi" APIS, a tek onda, pri drugom pritisku, izvršiti svoju funkciju.

Zaslon se isključuje nakon 30 sekundi neaktivnosti (osim ako nije u tijeku zalijevanje).

APIS prilikom pokretanja pregledava konfiguracijske parametre za pregled: video

KONFIGURACIJA:

APIS ima četiri načina konfiguracije:

  1. Konfigurirajte parametre zalijevanja
  2. Postavljanje sata u stvarnom vremenu
  3. "Prisilno" zalijevanje
  4. Pregledajte dnevnik zalijevanja

PARAMETRI ZALIVANJA:

  1. Prag niske vlažnosti tla (zalijevanje)
  2. Prag visoke vlažnosti tla (prestati zalijevati)
  3. Trajanje jednog zalijevanja (u sekundama)
  4. Broj zalijevanja u jednoj seriji
  5. Trajanje razdoblja zasićenja tla između ciklusa unutar jedne serije (u minutama)
  6. Vrijeme aktiviranja noćnog načina rada (vojno vrijeme, samo sati)
  7. Vrijeme završetka noćnog načina rada (vojno vrijeme, samo sati)
  8. Podešavanje vikenda za vrijeme završetka noćnog načina rada (u satima)

POSTAVKA SATNIKA U REALNOM VREMENU:

  1. Stoljeća (tj. 20 za 2015.)
  2. Godina (tj. 15 za 2015.)
  3. Mjesec
  4. Dan
  5. Sat
  6. Minuta

Sat se podešava s sekundama postavljenim na 00 nakon potvrde minuta.

Postavke imaju vremensko razdoblje od 15 sekundi, nakon čega se sve promjene poništavaju.

Nakon spremanja, parametri se spremaju u memoriju EEPROM -a.

PRISILJIVANJE ZALIVANJA:

Još uvijek nisam siguran zašto sam to implementirao, ali postoji. Nakon aktiviranja, APIS ulazi u način zalijevanja. Način zalijevanja, međutim, i dalje podliježe pragovima. To znači da će, ako prisilite zalijevanje, ali je vlažnost tla iznad oznake HIGH, zalijevanje odmah završiti. U osnovi ovo funkcionira samo ako je vlažnost tla između NISKOG i VISOKOG praga.

PREGLED DNEVNIKA ZALIVANJA:

APIS vodi evidenciju zadnjih 10 zalijevanja u memoriji EEPROM -a, koju korisnik može pregledati. Pohranjuje se samo datum/vrijeme zalijevanja. Pragovi (u to vrijeme) i broj pokretanja koji su potrebni za dosezanje visokog praga se ne pohranjuju (iako bi u sljedećoj verziji to mogli biti).

Korak 9: RTC: SAT REALNOG VREMENA

RTC: SAT U REALNOM VREMENU
RTC: SAT U REALNOM VREMENU

NOĆNI NAČIN

Jednom kad me APIS probudio noću, pala mi je na pamet ideja o implementaciji "noćnog načina rada".

Noćni način rada je kada se ne vrše mjerenja, zaslon je isključen i nema zalijevanja.

Uobičajenim radnim danom APIS se "budi" u 7 ujutro (može se konfigurirati), a u noćni način rada ulazi u 22 sata (može se konfigurirati). Za vikend APIS koristi postavku "podešavanje vikenda" za odgađanje buđenja (na primjer, do 9 sati ujutro), ako je podešavanje vikenda 2 sata).

RTC BROJNA PLOČA u odnosu na "SOFTVER" RTC:

Koristio sam hardverski RTC (dostupan ovdje) za praćenje datuma/vremena i ulazak/izlazak iz noćnih načina rada.

Opcija je za korištenje jer se skice mogu sastaviti za upotrebu takozvanog "softverskog" RTC -a (pomoću funkcije millis () arduina).

Nedostatak korištenja softvera RTC je što morate postaviti vrijeme svaki put kada se APIS uključi.

Izmijenio sam standardnu RTC knjižnicu tako da se točno podudara s API -jem, a također i da zaobiđem problem milis prevrtanja. (Za skidanje pogledajte korak skica).

Korak 10: UKLJUČITE SVE ZAJEDNO

SKLOPITI SVE ZAJEDNO
SKLOPITI SVE ZAJEDNO
SKLOPITI SVE ZAJEDNO
SKLOPITI SVE ZAJEDNO
SKLOPITI SVE ZAJEDNO
SKLOPITI SVE ZAJEDNO
SKLOPITI SVE ZAJEDNO
SKLOPITI SVE ZAJEDNO

Cijeli sustav (osim sonde) uključujući pumpu stane u malu kutiju za Arduino Uno.

  1. Zaslon TM1650 koristi TWI sučelje, pa SDA i SDC žice idu na Arduino pinove A4 i A5. Druge dvije žice su +5v i GND.
  2. RTC ploča koristi TWI sučelje, dakle isto kao gore. (TM1650 i RTC koriste različite priključke pa mirno koegzistiraju). RTC +5v pin je spojen na arduino pin 12 (napaja se putem digitalnog pina umjesto +5v). Ne sjećaš se zašto sam to učinio, ne moraš.
  3. Pinovi L293D spojeni su na sljedeći način: omogućite (pin 1) na D5, a kontrolni pinovi 2 i 7 na arduino pinove D6 i D7.
  4. TIPKE su spojene na pinove D2, D8 i D9 za SELECT, PLUS i MINUS. (Gumbi su implementirani s padajućim 10K otpornicima-u konfiguraciji "aktivno-visoko").
  5. Napajanje modula sonde +5v spojeno je na arduino pin 10 (radi periodičnih mjerenja), a sonda je spojena na analogni pin A1.

NAPOMENA: Datoteka sa shemama prevrtanja dodana je u spremište github.

Korak 11: SKETKE i više

SKETKE i više
SKETKE i više

Ažuriranje za ožujak 2015.:

  1. Dodana funkcionalnost za isušivanje cijevi nakon zalijevanja kako bi se spriječilo stvaranje plijesni (Dječače! Sretan sam što nisam usmjerio smjer rotacije pumpe na L293D!)
  2. Opsežnija sječa uključuje datum/vrijeme početka i završetka zalijevanja, vlažnost početka i završetka te koliko je puta pumpa bila uključena tijekom zalijevanja
  3. Ažurirana rutina pogrešaka: uređaj će se teško resetirati nakon 24 sata od ulaska u stanje pogreške
  4. Ponovno kompajlirano s TaskScheduler 2.1.0
  5. Razni drugi ispravci grešaka

Od 18. studenog 2015. APIS je nadograđen sljedećim dodatnim značajkama:

  1. Korištenje DirectIO knjižnice za bržu i lakšu promjenu pinova
  2. Korištenje knjižnice vremenske zone za ispravno prebacivanje između EST i EDT
  3. Dodana logika poništavanja odskakivanja gumba samo pomoću TaskScheduler-a
  4. Dodana funkcija ponavljanja gumba (vrijednosti ciklusa ako se gumb pritisne i zadrži, pri čemu se brzina ciklusa povećava nakon 5 ciklusa)
  5. Ponovno kompajlirano s IDE 1.6.6 AVR 1.6.9 u odnosu na TaskScheduler 1.8.4
  6. Premješteno u Github

KNJIŽNICE:

APIS se temelji na sljedećim knjižnicama:

  • EEPROM - dio Arduino IDE -a
  • Žica - dio Arduino IDE -a
  • EnableInterrupt - dostupno na Githubu
  • Vremenska zona - dostupno na Githubu
  • DirectIO - dostupno na Githubu

Ja sam izmijenio (račvao):

  • Vrijeme - dostupno na Githubu
  • RTClib - dostupno na Githubu

Ja sam ih razvio:

  • TM1650 - dostupno na Githubu
  • TaskScheduler - dostupno na Githubu
  • AvgFilter - dostupno na Githubu

SKICA:

Najnovija verzija skice APIS -a, uključujući datoteku sa shemama prevrtanja, dostupna je na Githubu

LISTE PODATAKA:

  • L293D: ovdje
  • RTC ploča za razbijanje: ovdje

Korak 12: *** POBJEDILI SMO !!! ***

*** POBIJEDILI SMO !!! ***
*** POBIJEDILI SMO !!! ***

Ovaj je projekt osvojio drugu nagradu na natječaju za kućnu automatizaciju koji sponzorira Dexter Industries.

Provjerite! WOO-HOO !!!

Kućna automatizacija
Kućna automatizacija
Kućna automatizacija
Kućna automatizacija

Druga nagrada u kućnoj automatizaciji

Preporučeni: