Sisällysluettelo:

IOT -pohjainen DOL -käynnistyssäädin kastelupumpulle: 6 vaihetta
IOT -pohjainen DOL -käynnistyssäädin kastelupumpulle: 6 vaihetta

Video: IOT -pohjainen DOL -käynnistyssäädin kastelupumpulle: 6 vaihetta

Video: IOT -pohjainen DOL -käynnistyssäädin kastelupumpulle: 6 vaihetta
Video: The Courteeners - You Overdid It Doll 2024, Marraskuu
Anonim
IOT -pohjainen DOL -käynnistyssäädin kastelupumpulle
IOT -pohjainen DOL -käynnistyssäädin kastelupumpulle
IOT -pohjainen DOL -käynnistyssäädin kastelupumpulle
IOT -pohjainen DOL -käynnistyssäädin kastelupumpulle

Hei ystävät

Tässä ohjeessa kerrotaan, miten kastelupumppuyksikköä voidaan etävalvoa ja ohjata Internetin kautta.

Tarina: Tilallani saan virtalähteen paikallisverkosta vain noin 6 tunniksi päivässä. Ajoitukset eivät ole säännöllisiä, sähköä voi olla varhain aamulla tai myöhään illalla tai jopa keskiyöllä. Joka kerta, kun porauskaivon paikalle mentiin tarkistamaan tehon saatavuus, käynnistä tai pysäytä moottori, oli erittäin kivulias prosessi. Lisäksi minun piti varmistaa, että moottori käy vähintään 2-3 tuntia joka päivä, jotta tiputusjärjestelmään saadaan riittävästi vettä. Jo jonkin aikaa etsin vaihtoehtoja tämän ongelman ratkaisemiseksi käyttämällä moottoria etäkäytöllä ja tiedän myös tilan. Markkinoilla on laitteita, jotka käynnistävät moottorin heti, kun virtalähde on, mutta niillä ei ole ominaisuutta pysäyttää moottoria milloin tahansa. Ja myöskään ei ole mitään keinoa tietää moottorin ON/OFF -tilaa milloin tahansa. Tämä johtaa yleensä liialliseen kasteluun, mikä johtaa maaperän hedelmällisyyden heikkenemiseen ja myös sähkön tuhlaukseen. Lopulta rakensin itse ratkaisun, jossa voin käynnistää ja pysäyttää moottorin etänä matkapuhelimesta/tabletista/PC: stä milloin tahansa missä tahansa … !!. Lisäksi voin seurata jatkuvasti virtalähteen saatavuutta vyöstä ja moottorin tilaa (ON/OFF) koko ajan. Toivottavasti se auttaa maatilan omistajia hallitsemaan kastelujärjestelmiään ilman tarvetta mennä aloituspaikkaan koko ajan.

Tarvikkeet

Edellytykset:

Paikan, johon haluat asentaa tämän laitteen, on oltava käytettävissä Internetissä (laajakaista ja wifi/mobiili -internet)

Tarvitsemasi asiat:

  1. NodeMCU /ESP12
  2. Kahden kanavan rele
  3. WCS1700 - Virta -anturi
  4. TP4056 -akun latausmoduuli
  5. LD313, kondensaattori - 1000uF -rekisteri - kaksi 5 k ohmin rekisteriä
  6. Mikä tahansa (vanha) älypuhelin, jossa on hotspot /internet.

Kuinka se toimii:

Se on yksinkertainen pilvipohjainen IOT -ratkaisu, joka käyttää NodeMCU/ESP12: ta ja etäkäyttöistä MQTT -välittäjää. NodeMCU toimii IOT -yhdyskäytävänä, ohjaa myös DOL -käynnistintä. Se muodostaa yhteyden MQTT -etävälittäjään Internetin kautta. Android -mobiililaitteella toimiva sovellus muodostaa yhteyden välittäjään, jonka kautta voimme valvoa ja hallita kastelupumppusarjaa koko ajan. Saatavilla on monia ilmaisia välittäjiä, kuten mosquitto, cloudmqtt jne. Voit valita minkä tahansa välittäjän, jos muutat palvelinta ja portin numeroa koodissa. NodeMCU muodostaa yhteyden Internetiin langattoman hotspotin WiFi -yhteyden kautta. Yon voi käyttää mitä tahansa vanhaa tai halpaa matkapuhelinta tarjotakseen Wi -Fi -yhteyden hotspotin kautta tai millä tahansa muulla tavalla Internetin tarjoamiseksi wifi -yhteyden kautta. Mobiililaitteen tulee olla kytkettynä laturiin 24X7 -laitteessa.

NodeMCU on liitetty kahteen releeseen moottorin käynnistyksen ja pysäytyksen ohjaamiseksi. Moottorin virran havaitsemiseksi käytin WCS1700 -virta -anturia. Anturin analogista lähtöä käytetään tietämään, että moottori on päällä tai pois päältä. Se tunnistaa myös sähkön saatavuuden verkosta ja julkaisee sen välittäjälle, jotta voimme tietää verkon tilan milloin tahansa. Laite tilaa kaksi syötettä saadakseen pyynnön moottorin kytkemiseksi päälle ja pois päältä. Lähettämällä tiettyjä arvoja näihin syötteisiin voimme ohjata moottorin START tai STOP.

Lopuksi asensin MQTT Dash -sovelluksen Android -puhelimeeni ja määritin sen muodostamaan yhteyden MQTT -välittäjään ja käyttämään sen kojelaudan/gui -syötteitä. Sovelluksessa on erittäin hyvät kuvakkeet, joissa on painikkeet, mittari, kytkin jne. Luo houkutteleva kojelauta. Voit kuitenkin käyttää mitä tahansa IOT -kotiautomaatio -mobiilisovellusta, joka tukee mqtt -protokollaa.

Kuinka WCS1700 toimii:

WCS1700 on pohjimmiltaan Hall -tehosteanturi, joka tuottaa lähtöjännitteen verrannollisesti magneettikenttään, joka syntyy, kun virta kulkee kelan läpi. Tässä kela on virtalähde, joka liitetään moottoriin. Se voi mitata AC -virran jopa 70 ampeeriin. Käyttöjännite on 3,3 - 12 V. Katso lisätietoja sen tiedotteesta. Koska käytän ESP12: ta, käytin samaa 3,3 V: n virtalähdettä kuin WCS1700: n käyttöjännite. Kuten tietolomakkeessa on ilmoitettu 3,3 V: n jännitteellä, laitteen pitäisi tuottaa noin 32-38 mV jännite -ero jännitettä kohti kelan läpi. Mutta se voi vaihdella kelan koon / ilmaraon ja laitteen vaihteluiden mukaan. Siksi minun piti kalibroida se testaamalla se Ampere Meterillä. En ole tyytyväinen laitteen tarkkuuteen, mutta se on tarpeeksi hyvä päättämään moottorin tilasta ON/OFF. WCS1700: n ulostulonappi on kytketty ESP12: n A0 -liittimeen. Kun virtaa ei ole, ESP12: n pitäisi lukea arvo noin 556. Koska kelan nykyinen nousu jännite voi vaihdella kummaltakin puolelta sen mukaan, miten kaapeli kulkee anturin läpi. Koodissa otin arvojen eron absoluuttiseksi arvoksi (x - 556). Jakamalla tulos 15: llä sain likimääräisen virran, joka virtaa anturin läpi. Sinun on kokeiltava tätä saadaksesi oikean numeron sinulle. Kaikki laitteen mittaamat virrat yli 5 ampeeria pidän moottorina PÄÄLLÄ ja alle 5 ampeeria, koska moottori on POIS PÄÄLTÄ. Voit käyttää laitteellesi sopivaa numeroa kokeilemalla. Sinun on muutettava koodissa WCS1700_CONST ja MIN_CURRENT vastaavasti.

Vaihe 1: Laitteen rakentaminen

Laitteen rakentaminen
Laitteen rakentaminen
Laitteen rakentaminen
Laitteen rakentaminen

Yllä oleva kaavio antaa täydelliset tiedot kaikkien komponenttien johtamisesta.

Virtalähde: Käytin TP4056: ta akkujen lataamiseen ja LM313: ta säätelemään 3,7 V - 4,2 V: n akun ulostuloa 3,3 V: ksi NodeMCU: n virtalähteeksi. Käytettiin 1000 mF: n kondensaattoria Vinin ja LM313: n maan välillä saadakseen vakaan 3,3 V: n syötön. Voit käyttää tavallista USB -matkapuhelinlaturia TP4056: n virtalähteeksi. Siinä on akun suojapiiri, joka suojaa akkua ylikuormitukselta.

Grid Virtalähteen tunnistus: 5k ohmin jännitteenjakaja vähentää 5 V: sta 2,5 V: iin. NodeMCU: n nasta D5 tunnistaa jännitteen.

WCS1700: n ulostulonappi on kytketty A0: een analogisen jännitteen lukemiseksi anturista. Grid Power -johdon täytyy kulkea reiän läpi virran mittaamiseksi. Käytin 0,01 uF: n kondensaattoria saadakseni vakaan lukulomakkeen WCS1700.

NodeMCU: n D1 ja D2 liitetään releen tulonappien IN0 ja IN1.

Vaihe 2: DOL -käynnistysliitännät

DOL -käynnistysliitännät
DOL -käynnistysliitännät
DOL -käynnistysliitännät
DOL -käynnistysliitännät

Säädin DOL -käynnistimen ohjauspiiriä esittelemään toisen START- ja STOP -kytkimen sarjan. Tämä muutos ei vaikuta manuaaliseen käynnistys-/pysäytystoimintoon ja ne toimivat edelleen entisellään.

Varoitus !!!! Koska DOL -käynnistin on suurjännitelaite, varmista, että pääkytkin on pois päältä ennen laatikon avaamista. Suora kosketus jännitteiseen johtoon voi olla vaarallinen. Jos et ole varma, ota yhteyttä sähköasentajaan liitosten tekemiseksi

Käytin 2 -kanavaista 5 V: n relemoduulia START- ja STOP -kytkimenä. Näitä releitä ohjaa ESP12.

Rele - 0 toimii START -kytkimenä - langallinen NO (normaalisti auki).

Rele -1 toimii STOP -kytkimenä - langallinen NC (normaalisti kiinni). Käynnistimessä on johto, joka yhdistää yläkontaktorin NVC: hen. Sinun on poistettava se ja vaihdettava rele -1 -johtoihin kuvan mukaisesti.

Varmista käynnistyksen ja relemoduulien väliset liitännät turvallisuuden vuoksi. Ohjelmoin ESP: n pitämään molempia releitä 2 sekuntia jäljittelemään START/STOP -painikkeen painallusta.

Vaihe 3: Luo tili Adafruit IO: lla (io.adafruit.com)

Käytin Adafruit io mqtt -välittäjää, joka on vapaasti käytettävissä muutamilla rajoituksilla, mutta se on OK meidän käyttöön. Pidän parempana tätä, koska käytin sitä myös muissa projekteissa ja löysin melko luotettavan ja siinä on myös monia muita ominaisuuksia, kuten kojelauta, jossa on mukava käyttöliittymä ja jopa voimme käyttää laukaisimia. Jos haluat käyttää Adafruit io -palvelua, sinun on luotava tili ja muistettava käyttäjänimi ja aktiivinen avain.

Vaihe 4: Rakenna ja asenna ohjelmisto

Täydellinen koodi löytyy luonnoksesta. Sinun on avattava tämä Arduino IDE: ssä ja tehtävä muutamia muutoksia ennen kuin voit kääntää ja ladata laiteohjelmiston. Valitse korttityypiksi NodeMCU 1.0. IDE: n ja siihen liittyvien kirjastojen asennus ei kuulu tämän dokumentaation piiriin.

Muokkaa koodin seuraavia rivejä kesannoiksi.

#define WLAN_SSID "xxx" // Mobiilitukiaseman WiFi SSID

#define WLAN_PASS "……" //

/************************* Adafruit.io Setup ******************** *************/

#define AIO_SERVER "io.adafruit.com"

#define AIO_SERVERPORT 1883 // käytä SSL -salausta varten 8883

#define AIO_USERNAME "xyz" // Adafruit -tilisi käyttäjänimi

#define AIO_KEY "abcd ……" // aktiivinen avaimesi…

Tietoja MQTT -syötteistä: Laite ja asiakas (mobiilisovellus) vaihtavat tietoja viestisyötteiden avulla käyttäen pubimallia MQTT -välittäjän kautta. Jokaisen asiakkaan tai laitteen voidakseen vastaanottaa viestin, sen on tilattava ennalta määritetty syöte ja lähetettävä viesti syötteeseen julkaisutavan avulla. Projektimme edellyttää noin 5 syötettä. Alla on selitys jokaisesta syötteestä, kuten näet koodissa, ja miten ne toimivat.

Ruudukon tila: Virtalähteen saatavuus verkosta julkaistaan syötteessä /feeds/grid. Adafruit_MQTT_Publish grid_stat = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME "/feeds/grid");

0 osoittaa, että virtalähde ei ole käytettävissä ja 1 virtalähteelle on käytettävissä.

Moottorin tila: Laite julkaisee moottorin tilan syötteessä…/feeds/grid.

Adafruit_MQTT_Publish motor_status = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME "/feeds/motor")

Arvo 0 OFF ja 1 ON

Moottorin ON -painike: Tätä syötettä käytetään vastaanottamaan moottorin käynnistyspyyntö. Laite tilaa syötteen, joka vastaanottaa moottorin käynnistyspyynnön arvolla = 1, ja käyttää samaa syötettä kuittausviestin julkaisemiseen 0. Näin voimme vahvistaa, että laite on todella vastaanottanut aloituspyyntöviestin.

Adafruit_MQTT_Subscribe motoronbutton = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME "/feeds/motor_on");

Moottorin sammutuspainike:

Samanlainen kuin käynnistyspyyntö, tätä syötettä käytetään vastaanottamaan moottorin pysäytyspyyntö. Laite tilaa syötteen vastaanottamaan pysäytyspyynnön, jonka arvo on = 1, ja julkaisee kuittausviestin samalla syötteellä kuin 0.

Adafruit_MQTT_Subscribe motoroffbutton = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME "/feeds/motor_off");

Liitäntä:

Tämä on erityinen syöte, jossa "viimeinen tahto" -vaihtoehto on käytössä. Kun laite toimii hyvin jokaisella kiinteällä aikavälillä, se julkaisee yhteyden = 1 kertoakseen käyttäjälle, että kaikki on kunnossa. Jos järjestelmä katkeaa tai yhteys katkeaa, laite ei voi kommunikoida välittäjän kanssa. Tällaisissa tapauksissa MQTT -välittäjä julkaisee syötteessä yhteys = 0 ilmoittaakseen käyttäjälle, että jotain meni pieleen ja laite ei ole tavoitettavissa Internetin kautta. Meidän on lähdettävä fyysisesti tarkistamaan laite. Koodi on hyvin yksinkertainen. Katso MQTT: n dokumentaatiosta lisätietoja siitä, miten”Viimeinen tahto” toimii.

jos (itr <= 0)

{

mqtt.publish (AIO_USERNAME "/feeds/connection", "1", 1);

itr = CON_LIVE_ITR;

}

Loput koodista ovat itsestään selviä, eikä niitä tarvitse muuttaa. Kommentoi vapaasti, jos tarvitset lisätietoja.

Vaihe 5: Asenna ja määritä MQTT Dash -sovellus matkapuhelimeesi

Asenna ja määritä MQTT Dash -sovellus matkapuhelimeesi
Asenna ja määritä MQTT Dash -sovellus matkapuhelimeesi
Asenna ja määritä MQTT Dash -sovellus matkapuhelimeesi
Asenna ja määritä MQTT Dash -sovellus matkapuhelimeesi
Asenna ja määritä MQTT Dash -sovellus matkapuhelimeesi
Asenna ja määritä MQTT Dash -sovellus matkapuhelimeesi
  1. Asenna MQTT Dash Android -puhelimeesi ja avaa sovellus
  2. Lisää laite napsauttamalla oikeassa yläkulmassa olevaa + -kuvaketta.
  3. Kuten yllä olevassa ensimmäisessä kuvassa näkyy, anna laitteellesi jokin nimi sanomalla "MyFarm-IPSet". Osoitekenttä on io.adafruit.com ja portti 1883, käyttäjänimen tulee olla adafruit -käyttäjätunnuksesi ja salasanasi. Jätä muut kentät ennalleen. Napsauta lopuksi tallenna.
  4. Laitteesi on luotu. Napsauta sitä nyt lisätäksesi kojelaudan siihen.
  5. Napsauta + ja valitse tyyppi kytkimeksi/painikkeeksi. Kirjoita sys nimikenttään, kuten yllä on esitetty. ja kirjoita syötteen nimi aihekenttään. jokaisen syötteen tulee alkaa käyttäjätunnuksella/syötteet/. tätä varten me /syötteet /yhteys. Varmista, että Ota julkaisu käyttöön on poistettu käytöstä. Napsauttamalla näytettävää kuvaketta voit valita, minkä tyyppisen kuvakkeen haluat kojelaudalta näyttää. Valitse arvolle 1 jokin väreistä (esimerkiksi vihreä) ja arvolle 0 valitse väri harmaaksi tai punaiseksi. Napsauta lopuksi Tallenna oikeassa yläkulmassa. Luo samalla tavalla kaksi muuta kuvaketta, joista yksi on ruudukko, jonka aiheena on käyttäjätunnus/syötteet/ruudukko ja moottori käyttäjätunnuksella/syötteet/moottori. Varmista, että Ota julkaisu käyttöön on poistettu käytöstä.
  6. Luo lopuksi Motor ON -painike. Se on jälleen sama kuin kytkin/painike. Aiheen pitäisi olla /feeds /motor_on ja varmistaa, että Ota julkaisu käyttöön on tällä kertaa käytössä ja QOS = 1. Luo samalla tavalla toinen painike moottorille OFF. Aiheen tulisi olla /feeeds /motor_off.

Vaihe 6: Viimeinen vaihe:-) Testaus ja viimeistely

  1. Turvallisuuden vuoksi sinun on testattava ensin laitteen START- ja STOP -toiminnot ennen releiden kytkemistä DOL -käynnistimeen. Ota Hotspot käyttöön mobiililaitteessa, kun internet on käytössä. Kytke kannettava tietokone, jossa on kehitysympäristö, suoraan NodeMCU -USB -porttiin toisella laturilla, joka on kytketty samaan aikaan TP4056: een. Jos laite on muodostanut yhteyden Internetiin onnistuneesti, sinun pitäisi nähdä 1 laite, joka on yhdistetty älypuhelimen hotspotiin.
  2. Avaa toisella älypuhelimella, johon olet asentanut MQTT Dash, sovelluksen hallintapaneeli. Sinun pitäisi nähdä, että NET -kuvake vihreänä ja Ruudukon kuvake myös vihreänä, ja niiden arvot ovat 1. Moottorikuvakkeen pitäisi näkyä moottorina sammutettuna ja arvo 0.
  3. Kun napsautat Motor ON -painiketta, käynnistysreleen pitäisi antaa kaksi napsahdusääntä kahden sekunnin välein. Samoin myös moottorin sammutuspainike.
  4. Katkaise nyt turvallisuussyistä DOL-käynnistimen päävirta ja kytke releet DOL-käynnistimeen edellä olevan vaiheen 2 mukaisesti. Varmista, että moottori on pois päältä. Paina NodeMCU: n nollauspainiketta. Sarjamonitorin ulostulosta näet virheenkorjauslausunnot, jotka tulostavat arvot WC1700 -anturista, kolmiosta ja kelan lasketusta virrasta. Kun moottori on pois päältä ja "#define WCS1700_CONST 15", maxCur -arvon tulee olla jatkuvasti alle 2. Jos se on suurempi kuin 2, kokeile korkeampia WCS1700_CONST -arvoja. Joka kerta sinun täytyy kääntää koodi uudelleen ja ladata laiteohjelmisto.
  5. Kytke nyt moottori päälle ja etsi nykyiset lukemat uudelleen. Anna moottorin olla käynnissä noin 10-15 minuuttia ja merkitse muistiin vakaa virtalukema. Virta voi vaihdella karkeasti 10–20 ampeerin välillä, eikä sen tarvitse olla tarkka.
  6. Palaa koodiin ja aseta "#define MIN_CURRENT X. Missä X on 40 prosenttia enimmäisvirrasta, joka on lähellä numeerista arvoa. Minun tapauksessani asetin MIN_CURRENT arvoksi 5. Käännä ja lataa laiteohjelmisto uudelleen NodeMCU: hon.
  7. Irrota USB -kaapeli NodeMCU -laitteesta. Sammuta ja kytke laite päälle, kun TP4056 -laitteeseen on kytketty USB -laturi. Moottorin käynnistämisen pitäisi käynnistää mobiilisovelluksen Motor ON -painike. Kun moottori on käynnissä, moottorin tilan pitäisi heijastua sovelluksen kojelautaan PÄÄLLÄ. Pysäytyspainikkeen napsauttaminen pysäyttää moottorin.

Nauttia !!!!

Suositeltava: