Satura rādītājs:

IOT balstīts DOL startera kontrolieris apūdeņošanas sūkņu komplektam: 6 soļi
IOT balstīts DOL startera kontrolieris apūdeņošanas sūkņu komplektam: 6 soļi

Video: IOT balstīts DOL startera kontrolieris apūdeņošanas sūkņu komplektam: 6 soļi

Video: IOT balstīts DOL startera kontrolieris apūdeņošanas sūkņu komplektam: 6 soļi
Video: Я жил с местной семьей в Бутане (Настоящая деревенская жизнь 🇧🇹) 2024, Novembris
Anonim
IOT balstīts DOL startera kontrolieris apūdeņošanas sūkņu komplektam
IOT balstīts DOL startera kontrolieris apūdeņošanas sūkņu komplektam
IOT balstīts DOL startera kontrolieris apūdeņošanas sūkņu komplektam
IOT balstīts DOL startera kontrolieris apūdeņošanas sūkņu komplektam

Sveiki draugi

Šī pamācība ir par to, kā attālināti uzraudzīt un kontrolēt apūdeņošanas sūkņa komplektu internetā.

Stāsts: Savā saimniecībā es saņemu strāvas padevi no vietējā tīkla tikai apmēram 6 stundas dienā. Laiki nav regulāri, enerģijas pieejamība var būt agri no rīta vai vēlu vakarā vai pat pusnaktī. Katru reizi, dodoties uz urbuma urbuma vietu, lai pārbaudītu enerģijas pieejamību, motora iedarbināšana vai apturēšana bija ļoti sāpīgs process. Tāpat man bija jānodrošina, lai motors darbotos vismaz 2-3 stundas katru dienu, lai nodrošinātu pilienam pietiekamu daudzumu ūdens. Diezgan ilgu laiku es pētīju iespējas, kā atrisināt šo problēmu, attālināti darbinot motoru, kā arī zinu stāvokli. Tirgū ir pieejamas ierīces, kas iedarbinās motoru, tiklīdz būs barošanas avots, taču tām nav iespējas apturēt motoru, kad vien vēlamies. Un arī nav iespējams uzzināt motora ieslēgšanas/izslēgšanas statusu jebkurā brīdī. Tas parasti noved pie pārmērīgas apūdeņošanas, kā rezultātā samazinās augsnes auglība un tiek zaudēta elektrība. Visbeidzot es pats izveidoju risinājumu, kurā varu jebkurā laikā un jebkurā vietā, kur vien iespējams, iedarbināt un apturēt motoru no mobilā/planšetdatora/datora … !!. Tāpat es varu visu laiku uzraudzīt strāvas padeves pieejamību, kā arī motora stāvokli (IESLĒGTS/IZSLĒGTS). Ceru, ka tas palīdzēs lauku saimniecību īpašniekiem pārvaldīt savas apūdeņošanas sistēmas, nepārtraukti nenokļūstot sākuma vietā.

Piegādes

Priekšnosacījumi:

Atrašanās vietai, kurā vēlaties instalēt šo ierīci, jābūt pieejamai internetam (platjoslai ar wifi/mobilo internetu)

Nepieciešamās lietas:

  1. NodeMCU /ESP12
  2. Divu kanālu relejs
  3. WCS1700 - strāvas sensors
  4. TP4056 akumulatora uzlādes modulis
  5. LD313, kondensators - 1000uF reģistrs - Divi 5k omu reģistri
  6. Jebkurš (vecs) viedtālrunis ar karsto punktu /internetu.

Kā tas strādā:

Tas ir vienkāršs uz mākoņiem balstīts IOT risinājums, izmantojot NodeMCU/ESP12 un attālinātu MQTT brokeri. NodeMCU darbojas kā IOT vārteja, kontrolē arī DOL starteri. Tas savienojas ar attālinātu MQTT brokeri, izmantojot internetu. Lietotne, kas darbojas Android mobilajā ierīcē, izveido savienojumu ar brokeri, caur kuru mēs varam visu laiku uzraudzīt un kontrolēt mūsu apūdeņošanas sūkņa komplektu. Es izmantoju bezmaksas pieejamo MQTT brokeri no Adafruit IO. Ir pieejami daudzi bezmaksas brokeri, piemēram, moskītu, cloudmqtt uc NodeMCU izveido savienojumu ar internetu, izmantojot WiFi no mobilā tīklāja. Yon var izmantot jebkuru vecu vai zemu cenu mobilo tālruni, lai nodrošinātu piekļuvi Wi -Fi, izmantojot karsto punktu vai jebkuru citu veidu, kā nodrošināt internetu, izmantojot Wi -Fi. Mobilā ierīce ir jāpievieno lādētājam tā, kā tam vajadzētu būt 24x7.

NodeMCU ir savienots ar diviem relejiem, lai kontrolētu motora iedarbināšanas un apturēšanas darbību. Lai noteiktu motora strāvu, es izmantoju WCS1700 strāvas sensoru. Analoga izeja no sensora tiek izmantota, lai uzzinātu, vai motors ir ieslēgts vai izslēgts. Tas arī uztver enerģijas pieejamību no tīkla un publicē to brokerim, lai mēs jebkurā laikā varētu uzzināt tīkla stāvokli. Ierīce abonē divas plūsmas, lai saņemtu pieprasījumu pēc motora ieslēgšanas un izslēgšanas. Nosūtot šīm plūsmām īpašas vērtības, mēs varam vadīt motoru uz START vai STOP.

Visbeidzot, es savā Android tālrunī instalēju lietotni MQTT Dash un konfigurēju to, lai izveidotu savienojumu ar MQTT brokeri un izmantotu plūsmas tā informācijas panelī/gui. Lietotnei ir ļoti labas ikonas ar pogām, mērierīci, slēdzi utt., Lai izveidotu pievilcīgu informācijas paneli. Tomēr jūs varat izmantot jebkuru IOT mājas automatizācijas mobilo lietotni, kas atbalsta mqtt protokolu.

Kā darbojas WCS1700:

WCS1700 būtībā ir Halles efekta sensors, kas radīs izejas spriegumu, kas ir proporcionāls magnētiskajam laukam, kas rodas, strāvai plūstot caur spoli. Spole šeit ir barošanas līnija, kas tiks savienota ar motoru. Tas var izmērīt maiņstrāvu līdz 70 ampēriem. Darba spriegums ir no 3,3 līdz 12 V. Sīkāku informāciju skatiet tās datu lapā. Tā kā es izmantoju ESP12, es izmantoju to pašu 3.3V barošanas avotu kā WCS1700 darba spriegumu. Kā norādīts datu lapā pie 3,3 V, ierīcei jārada diferenciālais spriegums no 32 līdz 38 mV uz strāvas ampēriem caur spoli. Bet tas var atšķirties atkarībā no spoles izmēra / gaisa spraugas un ierīces variācijām. Tāpēc man tas bija jākalibrē, pārbaudot to ar Ampere Meter. Es neesmu priecīgs par ierīces precizitāti, bet tā ir pietiekami laba, lai izlemtu par motora statusu ON/OFF. WCS1700 izejas tapa ir savienota ar ESP12 A0. Ja nav strāvas, ESP12 vajadzētu nolasīt vērtību ap 556. Tā kā pašreizējais spoles pieaugums spriegums var būt ļoti abas, atkarībā no tā, kā kabelis iet caur sensoru. Kodā vērtību starpību ņēmu kā (x - 556) absolūto vērtību. Sadalot rezultātu ar 15, es saņēmu aptuvenu strāvu, kas plūst caur sensoru. Jums būs jāeksperimentē, lai iegūtu pareizo numuru. Jebkuru ierīces strāvas mērījumu, kas pārsniedz 5 ampērus, es uzskatu par motoru ieslēgtu un zemāku par 5 ampēriem, jo motors ir izslēgts. Eksperimentējot, varat izmantot savai ierīcei pareizo numuru. Atbilstoši kodam ir jāmaina WCS1700_CONST un MIN_CURRENT.

1. darbība: ierīces uzbūve

Ierīces konstrukcija
Ierīces konstrukcija
Ierīces konstrukcija
Ierīces konstrukcija

Iepriekš redzamajā diagrammā ir sniegta pilnīga informācija par visu komponentu vadu pievienošanu.

Barošanas avots: Es izmantoju TP4056, lai uzlādētu baterijas, un LM313, lai regulētu akumulatora izejas 3,7–4,2 V līdz 3,3 V, lai darbinātu NodeMCU. Izmantots 1000mF kondensators starp Vin un LM313 zemi, lai iegūtu stabilu 3.3V barošanu. TP4056 barošanai varat izmantot parasto USB mobilo lādētāju. Tam ir akumulatora aizsardzības ķēde, lai pasargātu akumulatoru no pārmērīgas uzlādes.

Tīkla barošanas avota noteikšana: 5k omu sprieguma dalītājs samazinās 5 V līdz 2,5 V. NodeMCU tapa D5 uztvers spriegumu.

WCS1700 izejas tapa ir pievienota A0, lai nolasītu sensora analogo spriegumu. Grid Power līnijai ir jāiziet caur caurumu, lai izmērītu strāvu. Es izmantoju 0,01 uF kondensatoru, lai iegūtu stabilu lasīšanas formu WCS1700.

NodeMCU D1 un D2 jāpievieno releja ievades tapu IN0 un IN1.

2. darbība: DOL startera savienojumi

DOL startera savienojumi
DOL startera savienojumi
DOL startera savienojumi
DOL startera savienojumi

Es pielāgoju DOL startera vadības ķēdi, lai ieviestu citu START un STOP slēdžu komplektu. Šīs izmaiņas neietekmēs manuālo iedarbināšanas/apturēšanas darbību, un tās turpina darboties.

Uzmanību !!!! Tā kā DOL starteris ir augstsprieguma ierīce, pirms kastes atvēršanas pārliecinieties, ka galvenais slēdzis ir izslēgts. Tiešs kontakts ar strāvas vadu var būt bīstams. Ja neesat pārliecināts, pieslēdzieties elektriķa palīdzībai

Es izmantoju 2 kanālu 5 V releja moduli kā START un STOP slēdzi. Šos relejus kontrolēs ESP12.

Relejs - 0 darbosies kā START slēdzis - vads kā NO (parasti atvērts).

1. relejs darbosies kā STOP slēdzis - vads kā NC (parasti slēgts). Starterim jau būs vads, kas savieno augšējo kontaktoru ar NVC. Jums tas būs jānoņem un jāaizstāj ar releja -1 vadiem, kā parādīts attēlā.

Drošības nolūkos pārliecinieties, ka savienojumi starp starteri un releja moduļiem ir pilnībā izolēti. Es ieprogrammēju ESP turēt abus relejus 2 sekundes, lai līdzinātos START/STOP pogas nospiešanai.

3. darbība: izveidojiet kontu, izmantojot Adafruit IO (io.adafruit.com)

Es izmantoju Adafruit io mqtt brokeri, kuru var brīvi izmantot ar dažiem ierobežojumiem, taču tas ir piemērots mūsu lietošanai. Es dodu priekšroku tam, jo es to izmantoju arī citos projektos un atradu to diezgan uzticamu, un tam ir arī daudzas citas funkcijas, piemēram, informācijas panelis ar jauku GUI un pat mēs varam izmantot aktivizētājus. Lai izmantotu Adafruit io, jums jāizveido konts un jāatzīmē lietotājvārds un aktīvā atslēga.

4. solis: izveidojiet un instalējiet programmatūru

Pilns kods ir pieejams skicē. Tas ir jāatver Arduino IDE un jāveic dažas izmaiņas pirms programmaparatūras apkopošanas un augšupielādes. Izvēlieties tāfeles veidu kā NodeMCU 1.0. IDE un saistīto bibliotēku instalēšana nav iekļauta šajā dokumentācijā.

Modificējiet tālāk norādītās koda rindas kā papilomas.

#define WLAN_SSID "xxx" // Jūsu mobilā tīklāja WiFi SSID

#define WLAN_PASS "……" //

/************************* Adafruit.io iestatīšana ******************** *************/

#define AIO_SERVER "io.adafruit.com"

#define AIO_SERVERPORT 1883 // SSL izmanto 8883

#define AIO_USERNAME "xyz" // Jūsu adafruit konta lietotājvārds

#define AIO_KEY "abcd ……" // jūsu aktīvā atslēga…

Par MQTT plūsmām: ierīce un klients (mobilā lietotne) apmainās ar informāciju, izmantojot ziņojumu plūsmas, izmantojot kroga apakšmodeli, izmantojot MQTT brokeri. Jebkuram klientam vai ierīcei, lai saņemtu ziņojumu, tai ir jāabonē iepriekš noteikta plūsma un jāizmanto publicēšanas metode, lai nosūtītu ziņojumu plūsmai. Mūsu projektam mums ir vajadzīgas apmēram 5 plūsmas. Tālāk ir sniegts katras plūsmas skaidrojums, kā redzams kodā, un to darbība.

Režģa statuss: barošanas avota pieejamība no tīkla tiek publicēta plūsmā /feeds/grid. Adafruit_MQTT_Publish grid_stat = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME "/feeds/grid");

0 norāda, ka barošanas avots nav pieejams, un 1 - barošanai.

Motora statuss: ierīce publicēs motora statusu plūsmā…/feeds/grid.

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

Vērtība 0 - izslēgta un 1 - ieslēgta

Motora ieslēgšanas poga: šo plūsmu izmanto, lai saņemtu motora palaišanas pieprasījumu. Ierīce abonēs plūsmu, lai saņemtu motora palaišanas pieprasījumu ar vērtību = 1, un izmantos to pašu plūsmu, lai publicētu apstiprinājuma ziņojumu kā 0. Tādā veidā mēs varam apstiprināt, ka ierīce patiešām saņēma sākuma pieprasījuma ziņojumu.

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

Motora izslēgšanas poga:

Līdzīgi kā sākuma pieprasījums, šī plūsma tiek izmantota, lai saņemtu motora apstāšanās pieprasījumu. Ierīce abonēs plūsmu, lai saņemtu apturēšanas pieprasījumu ar vērtību = 1, un izmantos to pašu plūsmu, lai publicētu apstiprinājuma ziņojumu kā 0.

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

Savienojums:

Šī ir īpaša plūsma, kurā ir iespējota opcija “pēdējā griba”. Kad ierīce darbojas labi ik pēc noteikta laika, tā publicēs savienojumu = 1, lai informētu lietotāju, ka viss ir kārtībā. Gadījumā, ja sistēma nedarbojas vai savienojums tiek pārtraukts, ierīce nevarēs sazināties ar brokeri. Šādos gadījumos pats MQTT brokeris publicēs plūsmā kā savienojums = 0, lai informētu lietotāju, ka kaut kas nav kārtībā un ierīce nav sasniedzama internetā. Mums fiziski jāiet un jāpārbauda ierīce. Kods ir ļoti vienkāršs. Plašāku informāciju par “Pēdējās gribas” darbību skatiet MQTT dokumentācijā.

ja (itr <= 0)

{

mqtt.publish (AIO_USERNAME "/plūsmas/savienojums", "1", 1);

itr = CON_LIVE_ITR;

}

Pārējais kods ir pašsaprotams un nav jāveic nekādas izmaiņas. Droši komentējiet, ja jums nepieciešama papildu informācija.

5. darbība: instalējiet un konfigurējiet lietotni MQTT Dash savā mobilajā ierīcē

Instalējiet un konfigurējiet lietotni MQTT Dash savā mobilajā ierīcē
Instalējiet un konfigurējiet lietotni MQTT Dash savā mobilajā ierīcē
Instalējiet un konfigurējiet lietotni MQTT Dash savā mobilajā ierīcē
Instalējiet un konfigurējiet lietotni MQTT Dash savā mobilajā ierīcē
Instalējiet un konfigurējiet lietotni MQTT Dash savā mobilajā ierīcē
Instalējiet un konfigurējiet lietotni MQTT Dash savā mobilajā ierīcē
  1. Instalējiet MQTT Dash savā Android tālrunī un atveriet lietotni
  2. Lai pievienotu ierīci, augšējā labajā stūrī noklikšķiniet uz ikonas +.
  3. Kā parādīts pirmajā attēlā, piešķiriet savai ierīcei vārdu “MyFarm-IPSet”. Adreses laukā kā io.adafruit.com un portā 1883, lietotājvārdam ir jābūt jūsu adafruit lietotājvārdam un parolei jābūt jūsu aktīvajai atslēgai no adafruit. Pārējos laukus atstājiet tādus, kādi tie ir. Visbeidzot noklikšķiniet uz Saglabāt.
  4. Jūs izveidojāt savu ierīci. Tagad noklikšķiniet uz tā, lai tam pievienotu informācijas paneli.
  5. Noklikšķiniet uz + un izvēlieties veidu kā slēdzi/pogu. Kā parādīts iepriekš, nosaukuma laukā ievadiet sys. un tēmas laukā ievadiet plūsmas nosaukumu. katrai plūsmai jāsākas ar lietotājvārdu/plūsmām/. šim mēs /plūsmas /savienojums. Pārliecinieties, vai iespējot publicēšanu ir atspējota. Noklikšķinot uz parādāmās ikonas, jūs varat izvēlēties, kāda veida ikonu informācijas panelī vēlaties izskatīties. 1. vērtībai izvēlieties vienu no krāsām (teiksim zaļo) un 0 vērtībai atlasiet krāsu kā pelēku vai sarkanu. Visbeidzot augšējā labajā stūrī noklikšķiniet uz Saglabāt. Līdzīgi izveidojiet vēl divas ikonas režģim ar lietotājvārdu/plūsmām/režģi kā tēmu un Motors ar lietotājvārdu/plūsmas/motoru. Pārliecinieties, vai iespējot publicēšanu ir atspējota.
  6. Visbeidzot izveidojiet pogu Motora ieslēgšana. Tas atkal ir tāds pats kā slēdzis/poga. Tēmai jābūt /feeds /motor_on un jānodrošina, lai šoreiz būtu iespējota iespējot publicēšanu un QOS = 1. Līdzīgi izveidojiet citu pogu, lai izslēgtu motoru. Tēmai jābūt /feeeds /motor_off.

6. solis: pēdējais solis:-) Testēšana un precizēšana

  1. Lai būtu drošībā, pirms releju pievienošanas DOL starterim vispirms jāpārbauda ierīce START un STOP. Iespējojiet tīklāju mobilajā ierīcē, ja ir iespējots internets. Pievienojiet klēpjdatoru ar izstrādes vidi tieši NodeMCU USB portam ar citu lādētāju, kas vienlaikus pievienots TP4056. Ja ierīce ir veiksmīgi savienota ar internetu, viedtālrunī vajadzētu redzēt 1 ierīci, kas savienota ar tīklāju.
  2. Otrā viedtālrunī, kurā esat instalējis MQTT Dash, atveriet lietotnes informācijas paneli. Jums vajadzētu redzēt, ka NET ikona zaļā krāsā un režģa ikona arī zaļā krāsā ar vērtībām 1. Motora ikonai ir jāparādās kā izslēgtam motoram ar vērtību 0.
  3. Noklikšķinot uz pogas Motors ieslēgts, starta relejam vajadzētu izdot divas klikšķu skaņas ar divu sekunžu intervālu. Līdzīgi arī motora izslēgšanas poga.
  4. Drošības nolūkos tagad izslēdziet galveno barošanu DOL starterim un pievienojiet relejus DOL starterim, kā parādīts iepriekš 2. solī. Pārliecinieties, vai motors ir izslēgts. Nospiediet NodeMCU atiestatīšanas pogu. Sērijas monitora izejā var redzēt atkļūdošanas paziņojumus, kas drukā vērtības no WC1700 sensora, delta un aprēķināto strāvu spolē. Ja motors ir izslēgts un "#define WCS1700_CONST 15", maxCur vienmēr jābūt mazākam par 2. Ja tas ir lielāks par 2, mēģiniet izmantot augstākas WCS1700_CONST vērtības. Katru reizi, kad jums būs jāpārkompilē kods un jāielādē programmaparatūra.
  5. Tagad ieslēdziet motoru un atkal meklējiet pašreizējos rādījumus. Atstājiet motoru ieslēgtu apmēram 10-15 minūtes un pierakstiet stabilo strāvas rādījumu. Strāva var mainīties no 10 līdz 20 ampēriem, un tai nav jābūt precīzai.
  6. Atgriezieties pie koda un iestatiet "#define MIN_CURRENT X. Kur X ir 40 procenti no maksimālās strāvas, kas ir tuvināta skaitliskajai vērtībai. Manā gadījumā es iestatīju MIN_CURRENT uz 5. Apkopojiet un atkārtoti ielādējiet programmaparatūru NodeMCU.
  7. Izņemiet USB kabeli no NodeMCU. Izslēdziet un ieslēdziet ierīci ar USB lādētāju, kas pievienots TP4056. Noklikšķinot uz pogas Motora ieslēgšana mobilajā lietotnē, vajadzētu iedarbināt motoru. Kad motors ir ieslēgts, motora statusam jāatspoguļo lietotnes informācijas panelī kā IESLĒGTS. Noklikšķinot uz apturēšanas pogas, motors jāaptur.

Izbaudi !!!!

Ieteicams: