Sadržaj:
- Pribor
- Korak 1: Konstrukcija uređaja
- Korak 2: DOL Starter veze
- Korak 3: Stvorite račun s Adafruit IO -om (io.adafruit.com)
- Korak 4: Izgradite i instalirajte softver
- Korak 5: Instalirajte i konfigurirajte aplikaciju MQTT Dash na svom mobilnom telefonu
- Korak 6: Posljednji korak:-) Testiranje i fino podešavanje
Video: DOL Starter kontroler temeljen na IOT -u za pumpnu pumpu za navodnjavanje: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Pozdrav prijatelji
Ovo uputstvo govori o tome kako daljinski nadzirati i kontrolirati pumpu za navodnjavanje preko interneta.
Story: Na mojoj farmi dobivam napajanje iz lokalne mreže samo oko 6 sati dnevno. Termini nisu redovni, dostupnost struje može biti rano ujutro ili kasno navečer ili čak ponoć. Svaki put odlazak na mjesto bušotine radi provjere dostupnosti energije, pokretanje ili zaustavljanje motora bio je vrlo bolan proces. Također sam morao osigurati rad motora najmanje 2-3 sata svaki dan za opskrbu odgovarajućom vodom za sustav kapanja. Prilično sam dugo istraživao mogućnosti rješavanja ovog problema daljinskim upravljanjem motorom i također znao status. Na tržištu su dostupni uređaji koji će pokrenuti motor čim se pojavi napajanje, ali nemaju mogućnost zaustavljanja motora kad god želimo. Osim toga, ne postoji način da se u bilo kojem trenutku sazna status ON/OFF motora. To obično dovodi do prekomjernog navodnjavanja, što dovodi do gubitka plodnosti tla i gubitka električne energije. Konačno sam sam izgradio rješenje gdje mogu pokrenuti i zaustaviti motor na daljinu s mobitela/tableta/računala BILO KADA BILO GDJE … !!. Također mogu cijelo vrijeme pratiti dostupnost napajanja iz pojasa, kao i stanje motora (UKLJ./ISKLJ.). Nadam se da će to pomoći vlasnicima farmi na selu da upravljaju svojim sustavima za navodnjavanje bez potrebe da stalno idu na početno mjesto.
Pribor
Preduvjeti:
Mjesto na koje želite instalirati ovaj uređaj mora imati dostupnost interneta (širokopojasni pristup s WiFi/mobilnim internetom)
Stvari koje su vam potrebne:
- NodeMCU /ESP12
- Dvokanalni relej
- WCS1700 - Senzor struje
- Modul za punjenje baterije TP4056
- LD313, Kondenzator - 1000uF registar - Dva registra od 5k ohma
- Bilo koji (stari) pametni telefon s hotspotom /internetom.
Kako radi:
Jednostavno IOT rješenje temeljeno na oblaku pomoću NodeMCU/ESP12 i udaljenog posrednika MQTT. NodeMCU radi kao IOT pristupnik, također kontrolira DOL pokretač. Povezuje se s udaljenim MQTT posrednikom putem interneta. Aplikacija koja radi na Android mobitelu povezuje se s posrednikom preko kojeg možemo cijelo vrijeme nadzirati i kontrolirati naš set pumpi za navodnjavanje. Koristio sam besplatni dostupan posrednik MQTT iz Adafruit IO -a. Dostupni su mnogi besplatni posrednici poput mosquitto, cloudmqtt itd. Možete izabrati bilo kojeg brokera pod uvjetom da promijenite poslužitelj i broj porta u kodu. NodeMCU se povezuje s internetom putem WiFi -a s mobilne pristupne točke. Yon može koristiti bilo koji stari ili jeftini mobitel za pružanje WiFi pristupa putem žarišne točke ili bilo koji drugi način pružanja interneta putem WiFi -ja. Mobitel bi trebao biti spojen na punjač kao što bi trebao biti na 24X7.
NodeMCU je povezan s dva releja za upravljanje pokretanjem i zaustavljanjem rada motora. Za osjet struje u motoru koristio sam WCS1700 senzor struje. Analogni izlaz senzora koristi se za provjeru je li motor UKLJUČEN ili ISKLJUČEN. On također osjeća dostupnost energije iz mreže i objavljuje je posredniku kako bismo u svakom trenutku mogli znati status mreže. Uređaj se pretplaćuje na dva feeda kako bi primio zahtjev za UKLJUČENI motor i isključen motor. Slanjem određenih vrijednosti na ove izvore možemo kontrolirati motor na START ili STOP.
Na kraju sam instalirao aplikaciju MQTT Dash na svoj android telefon i konfigurirao je za povezivanje s posrednikom MQTT i korištenje feedova na njezinoj nadzornoj ploči/gui. Aplikacija ima vrlo dobre ikone s gumbima, mjeračem, prekidačem itd. Za stvaranje atraktivne nadzorne ploče. Međutim, možete koristiti bilo koju mobilnu aplikaciju IOT za kućnu automatizaciju koja podržava mqtt protokol.
Kako WCS1700 radi:
WCS1700 je u osnovi senzor Hall efekta koji će proizvoditi izlazni napon razmjeran magnetskom polju koje nastaje dok struja teče kroz zavojnicu. Zavojnica ovdje predstavlja vod za napajanje koji će biti spojen na motor. Može mjeriti izmjeničnu struju do 70 ampera. Radni napon je između 3,3 do 12 V. Više pojedinosti potražite u njegovoj podatkovnoj tablici. Budući da koristim ESP12, koristio sam isto napajanje od 3,3 V kao radni napon za WCS1700. Kako je navedeno u podatkovnom listu pri 3.3 V, uređaj bi trebao proizvoditi diferencijalni napon od oko 32 do 38 mV po pojačalu struje kroz zavojnicu. No, može se razlikovati ovisno o veličini zavojnice / zračnom razmaku i varijacijama u uređaju. Stoga sam ga morao kalibrirati testirajući ga s ampermetrom. Nisam zadovoljan točnošću uređaja, ali je dovoljno dobar da odluči o statusu motora kao ON/OFF. Izlazni pin WCS1700 spojen je na A0 ESP12. Kad nema struje, ESP12 bi trebao očitati vrijednost oko 556. Kako se struja povećava u zavojnici, napon može biti s obje strane, ovisno o tome kako kabel prolazi kroz senzor. U kodu sam uzeo razliku vrijednosti kao apsolutnu vrijednost (x - 556). Dijeljenjem rezultata s 15 dobio sam približnu struju koja teče kroz senzor. Morat ćete ovo eksperimentirati da biste dobili pravi broj za sebe. Svako mjerenje struje pomoću uređaja iznad 5 ampera smatram uključenim motorom i ispod 5 ampera jer je motor isključen. Eksperimentiranjem možete koristiti pravi broj za svoj uređaj. U skladu s tim morate promijeniti kôd WCS1700_CONST i MIN_CURRENT.
Korak 1: Konstrukcija uređaja
Gornji dijagram daje potpune detalje o tome kako spojiti sve komponente.
Napajanje: Koristio sam TP4056 za punjenje baterija i LM313 za regulaciju 3,7 V - 4,2 V izlaza baterije na 3,3 V za napajanje NodeMCU -a. Upotrijebljen 1000mF kondenzator između Vin i mase LM313 za stabilno napajanje od 3.3V. Za napajanje TP4056 možete koristiti obični USB mobilni punjač. Ima zaštitni krug baterije koji štiti bateriju od prekomjernog punjenja.
Mreža Prepoznavanje napajanja: Razdjelnik napona od 5 k ohma smanjit će 5 V na 2,5 V. Pin D5 NodeMCU -a će osjetiti napon.
Izlazni pin WCS1700 spojen je na A0 za očitavanje analognog napona sa senzora. Mrežni vod mora proći kroz rupu za mjerenje struje. Koristio sam 0,01 uF kondenzator da dobije stabilno očitanje WCS1700.
D1 i D2 NodeMCU -a spojiti na IN0 i IN1 ulaznih pinova releja.
Korak 2: DOL Starter veze
Ja sam dotjerao upravljački krug DOL pokretača kako bih predstavio još jedan set prekidača START i STOP. Ova promjena neće utjecati na rad ručnog pokretanja/zaustavljanja i oni nastavljaju raditi kako jesu.
Oprez !!!! Budući da je DOL starter visokonaponski uređaj, prije otvaranja kutije provjerite je li glavni prekidač isključen. Izravni kontakt sa žicom pod naponom mogao bi biti opasan. Ako niste sigurni, povežite se s električarom
Koristio sam 2 -kanalni 5 V relejni modul kao prekidač START i STOP. Tim relejima upravlja ESP12.
Relej - 0 će raditi kao START prekidač - ožičen kao NO (normalno otvoren).
Relej -1 će raditi kao STOP prekidač - ožičen kao NC (normalno zatvoren). Starter će već imati žicu povezanu s gornjeg kontaktora na NVC. Morat ćete ga ukloniti i zamijeniti žicom releja -1 kao što je prikazano.
Uvjerite se da su veze između startera i relejnih modula potpuno izolirane radi sigurnosti. Programirao sam ESP da zadrži oba releja 2 sekunde kako bi oponašao pritiskanje tipke START/STOP.
Korak 3: Stvorite račun s Adafruit IO -om (io.adafruit.com)
Koristio sam posrednika Adafruit io mqtt koji je besplatan za korištenje s nekoliko ograničenja, ali je u redu za našu upotrebu. To mi se više sviđa jer sam ga koristio i u drugim projektima i našao se prilično pouzdanim, a ima i mnoge druge značajke poput nadzorne ploče s lijepim grafičkim sučeljem, pa čak i mi možemo koristiti okidače. Da biste koristili Adafruit io, morate stvoriti račun i zabilježiti korisničko ime i aktivni ključ.
Korak 4: Izgradite i instalirajte softver
Cjeloviti kôd dostupan je na skici. Ovo morate otvoriti u Arduino IDE -u i unijeti nekoliko izmjena prije sastavljanja i učitavanja firmvera. Odaberite vrstu ploče kao NodeMCU 1.0. Instalacija IDE -a i srodnih knjižnica nisu u opsegu ove dokumentacije.
Izmijenite sljedeće retke u kodu kao ulage.
#define WLAN_SSID "xxx" // Vaš SSID za mobilnu pristupnu točku
#define WLAN_PASS "……" //
/************************* Adafruit.io postavljanje ******************** *************/
#define AIO_SERVER "io.adafruit.com"
#define AIO_SERVERPORT 1883 // koristite 8883 za SSL
#define AIO_USERNAME "xyz" // Korisničko ime vašeg adafruit računa
#define AIO_KEY "abcd ……" // vaš aktivni ključ …
O MQTT Feeds: Uređaj i klijent (mobilna aplikacija) razmjenjuju informacije putem feedova poruka koristeći pod -model pub putem MQTT posrednika. Bilo koji klijent ili uređaj da bi primio poruku, mora se pretplatiti na unaprijed definirani feed i mora koristiti metodu objavljivanja za slanje poruke u feed. Za naš projekt potrebno nam je oko 5 feedova. Dolje je objašnjenje za svaki feed kako vidite u kodu i kako oni rade.
Status mreže: Dostupnost napajanja iz mreže objavljena je na feedu /feeds/grid. Adafruit_MQTT_Publish grid_stat = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME "/feeds/grid");
0 označava da napajanje nije dostupno, a 1 za napajanje je dostupno.
Status motora: Uređaj će objaviti status motora na uvlačenju …/izvori/mreža.
Adafruit_MQTT_Publish motor_status = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME "/feeds/motor")
Vrijednost 0 za OFF i 1 za ON
Gumb za uključivanje motora: Ovaj feed se koristi za primanje zahtjeva za pokretanje motora. Uređaj će se pretplatiti na feed kako bi primio zahtjev za pokretanje motora s vrijednošću = 1 i koristiti isti feed za objavljivanje potvrdne poruke kao 0. Na taj način možemo potvrditi da je poruka zahtjeva za pokretanje zaista primljena od strane uređaja.
Adafruit_MQTT_Subscribe motoronbutton = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME "/feeds/motor_on");
Gumb za isključenje motora:
Slično zahtjevu za pokretanje, ovaj feed se koristi za primanje zahtjeva za zaustavljanjem motora. Uređaj će se pretplatiti na feed kako bi primio zahtjev za zaustavljanje s vrijednošću = 1 i upotrijebiti isti feed za objavljivanje potvrdne poruke kao 0.
Adafruit_MQTT_Subscribe motoroffbutton = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME "/feeds/motor_off");
Priključak:
Ovo je poseban feed s omogućenom opcijom "zadnja volja". Kad uređaj radi dobro u svakom fiksnom intervalu, objavit će vezu = 1 kako bi korisniku rekao da je sve u redu. U slučaju pada sustava ili prekida veze, uređaj neće moći komunicirati s posrednikom. U takvim će slučajevima MQTT posrednik sam objaviti u feedu kao veza = 0 kako bi korisniku dao do znanja da je nešto pošlo po zlu i da uređaj nije dostupan putem interneta. Moramo fizički otići provjeriti uređaj. Kôd je vrlo jednostavan. Pogledajte dokumentaciju MQTT -a za više detalja o tome kako funkcionira “Last Will”.
ako (itr <= 0)
{
mqtt.publish (AIO_USERNAME "/feeds/connection", "1", 1);
itr = CON_LIVE_ITR;
}
Ostatak koda je sam po sebi razumljiv i nisu potrebne nikakve izmjene. Slobodno komentirajte u slučaju da trebate više informacija.
Korak 5: Instalirajte i konfigurirajte aplikaciju MQTT Dash na svom mobilnom telefonu
- Instalirajte MQTT Dash na svoj Android telefon i otvorite aplikaciju
- Kliknite ikonu + u gornjem desnom kutu da biste dodali uređaj.
- Kao što je prikazano na prvoj gornjoj slici, dajte svom uređaju neki naziv, recimo "MyFarm-IPSet". Adresno polje kao io.adafruit.com i port kao 1883, korisničko ime treba biti vaše korisničko ime adafruit, a lozinka vaš aktivni ključ iz adafruit -a. Ostala polja ostavite kako jesu. Na kraju kliknite Spremi.
- Vaš uređaj je napravljen. Sada kliknite na nju da biste joj dodali nadzornu ploču.
- Pritisnite + i odaberite vrstu kao prekidač/gumb. Kao što je prikazano gore, u polje sys unesite sys. i unesite naziv sažetka u polje teme. svaki feed treba započeti korisničkim imenom/feeds/. za to mi /feedovi /veza. Uvjerite se da je Enable Publish onemogućeno. Klikom na ikonu za prikaz možete odabrati vrstu ikone koju želite da izgleda na nadzornoj ploči. Za vrijednost 1 odaberite jednu od boja (recimo zelenu), a za vrijednost 0 odaberite boju kao sivu ili crvenu. Na kraju kliknite Spremi u gornjem desnom kutu. Slično izradite još dvije ikone jednu za Grid s korisničkim imenom/feedovima/mrežom kao temom i Motor s korisničkim imenom/feedovima/motorom. Uvjerite se da je Enable Publish onemogućeno.
- Na kraju stvorite gumb za uključivanje motora. Opet je isti tip kao prekidač/gumb. Tema bi trebala biti /feeds /motor_on i osigurati da je ovaj put omogućeno Enable Publish i QOS = 1. Slično stvorite drugi gumb za isključeni motor. Tema bi trebala biti /feeeds /motor_off.
Korak 6: Posljednji korak:-) Testiranje i fino podešavanje
- Kako biste bili sigurni, prije nego što spojite releje na DOL starter, morate prvo testirati uređaj na njegove START i STOP operacije. Omogućite hotspot na mobilnom uređaju s omogućenim internetom. Spojite prijenosno računalo koje ima razvojno okruženje izravno na NodeMCU USB priključak s drugim punjačem spojenim na TP4056 u isto vrijeme. Ako je uređaj uspješno povezan s internetom, trebali biste vidjeti 1 uređaj spojen na hotspot na pametnom telefonu.
- Na drugom pametnom telefonu na kojem ste instalirali MQTT Dash otvorite nadzornu ploču aplikacije. Trebali biste vidjeti da je ikona NET u zelenoj boji i ikona mreže u zelenoj boji s vrijednostima kao 1. Ikona motora trebala bi se prikazati kao motor isključen s vrijednošću 0.
- Dok pritisnete gumb za uključivanje motora, relej za pokretanje trebao bi ispustiti dva zvuka klika u razmaku od dvije sekunde. Slično je i tipka Motor OFF.
- Zbog sigurnosti sada isključite glavno napajanje DOL startera i spojite releje na DOL starter kao što je prikazano iznad u koraku 2. Uvjerite se da je motor isključen. Pritisnite gumb za resetiranje na NodeMCU. Iz izlaza serijskog monitora možete vidjeti debug naredbe koje ispisuju vrijednosti sa WC1700 senzora, deltu i izračunatu struju u zavojnici. S isključenim motorom i "#define WCS1700_CONST 15" maxCur bi trebao biti dosljedno manji od 2. Ako pokazuje više od 2, pokušajte s većim vrijednostima WCS1700_CONST. Svaki put ćete morati ponovno kompajlirati kôd i učitati firmver.
- Sada uključite motor i ponovno potražite trenutna očitanja. Ostavite motor uključen oko 10 -15 minuta i zabilježite stabilno očitanje struje. Struja može varirati između 10 i 20 Ampera otprilike i ne mora biti točna.
- Vratite se kodu i postavite "#define MIN_CURRENT X. Gdje je X 40 posto maksimalne struje aproksimirane na numeričku vrijednost. U mom slučaju postavio sam MIN_CURRENT na 5. Sastavite i ponovno učitajte firmver na NodeMCU.
- Uklonite USB kabel iz NodeMCU -a. ISKLJUČITE i UKLJUČITE uređaj s USB punjačem spojenim na TP4056. Klikom na gumb Motor ON na mobilnoj aplikaciji motor bi se trebao pokrenuti. Nakon što je motor uključen, status motora bi se trebao prikazati na nadzornoj ploči aplikacije kao UKLJUČEN. Klik na gumb za zaustavljanje trebao bi zaustaviti motor.
Uživati !!!!
Preporučeni:
IoT APIS V2 - Automatski sustav za navodnjavanje biljaka s omogućenim IoT -om: 17 koraka (sa slikama)
IoT APIS V2 - Autonomni automatizirani sustav za navodnjavanje biljaka s omogućenim IoT -om: Ovaj projekt je evolucija mojih prethodnih instrukcija: APIS - Automatizirani sustav za navodnjavanje biljakaKoristim APIS već skoro godinu dana i želio sam poboljšati prethodni dizajn: Sposobnost daljinski nadzirati biljku. Ovo je kako
Glazbeni generator temeljen na vremenu (Midi generator temeljen na ESP8266): 4 koraka (sa slikama)
Glazbeni generator temeljen na vremenu (Midi Generator temeljen na ESP8266): Bok, danas ću vam objasniti kako napraviti vlastiti mali glazbeni generator temeljen na vremenu. Baziran je na ESP8266, koji je poput Arduina, a reagira na temperaturu, kišu i intenzitet svjetla. Ne očekujte da će to učiniti cijele pjesme ili akorde
Uradi sam - Automatsko navodnjavanje vrta - (Arduino / IOT): 9 koraka (sa slikama)
Uradi sam - Automatsko navodnjavanje vrta - (Arduino / IOT): Ovaj će vam projekt pokazati kako izgraditi kontroler za navodnjavanje za kućni vrt. Sposoban je mjeriti očitanja vlažnosti tla i aktivirati navodnjavanje iz vrtne slavine ako se tlo previše osuši. Regulator također uključuje temperaturu i h
PAMETNI SUSTAV ZA NAVODNJAVANJE Korištenjem IoT -a # "Izgrađen na BOLT -u": 6 koraka (sa slikama)
SUSTAV PAMETNOG NAVODNJAVANJA Korištenje IoT -a # "Izgrađeno na BOLT -u": Pametni sustav navodnjavanja je uređaj temeljen na IoT -u koji je sposoban automatizirati proces navodnjavanja analizirajući vlažnost tla i klimatske uvjete (poput kiše). Također će podaci senzora biti prikazan u grafičkom obliku na BOLT -u
Pretvaranje kompresora hladnjaka u vakuumsku pumpu: 5 koraka
Pretvaranje kompresora za hladnjak u vakuumsku pumpu: Već neko vrijeme želim vakuumsku pumpu, ali odbijam platiti cijenu za novu koja izgleda dovoljno čvrstoće i snage za koju smatram da mi treba. Čitao sam na različitim forumima o izradi vakuumske pumpe iz kompresora u hladnjaku, ali