- Potreben material
- Shema vezja
- Rele:
- Izračun temperature s pomočjo termistorja:
- Koda Arduino
- Delovanje sistema za avtomatizacijo z nadzorom temperature:
Recimo, da sedite v sobi in vas zebe in želite, da se grelec samodejno vklopi in nato po določenem času, ko se sobna temperatura zviša, izklopi, potem vam ta projekt pomaga pri samodejnem krmiljenju gospodinjskih aparatov glede na temperaturo. Tu nadzorujemo gospodinjske AC naprave z Arduino glede na temperaturo. Tu smo za odčitavanje temperature uporabili termistor. Termistor smo že povezali z Arduinom in na LCD-ju prikazali temperaturo.
V tej vadnici bomo na Arduino priklopili aparat za izmenični tok in izdelali sistem za avtomatizacijo domovanja s temperaturo. Prav tako prikazuje temperaturo in stanje naprave na 16 * 2 LCD zaslonu, priključenem na vezje.
Potreben material
- Arduino UNO
- Rele (5v)
- 16 * 2 LCD zaslon
- Žarnica (CFL)
- NTC termistor 10k
- Priključne žice
- Upori (1k in 10k ohmov)
- Potenciometer (10k)
Shema vezja
Ta sistem za avtomatizacijo na osnovi temperature temelji na različnih komponentah, kot so plošča Arduino, LCD zaslon, rele in termistor. Delovanje je v glavnem odvisno od releja in termistorja, saj se je temperatura zvišala, rele se vklopi in če se temperatura zniža pod prednastavljeno vrednost, se rele izklopi. Tudi gospodinjski aparat, povezan z relejem, se bo ustrezno vklopil in izklopil. Tu smo uporabili žarnico CFL kot aparat za izmenični tok. Celoten postopek sprožitve in nastavitev vrednosti temperature izvaja programirana plošča Arduino. Prav tako nam daje podrobnosti o spremembi temperature v vsaki pol sekunde in stanju naprave na LCD zaslonu.
Rele:
Rele je elektromagnetno stikalo, ki ga krmili majhen tok in se uporablja za vklop in izklop sorazmerno večjega toka. Z uporabo majhnega toka lahko vklopimo rele, ki omogoča pretok veliko večjega toka. Rele je dober primer krmiljenja naprav izmeničnega (izmeničnega toka) z veliko manjšim enosmernim tokom. Pogosto uporabljeni Rele je enotni Pole Double Throw (SPDT) Rele, da ima pet terminalov, kot spodaj:
Ko na tuljavi ni napetosti, je COM (skupni) povezan z NC (običajno zaprt kontakt). Ko je na tuljavi nekaj napetosti, nastane elektromagnetno polje, ki privlači armaturo (vzvod je povezan z vzmetjo), in COM in NO (običajno odprt kontakt) se priključita, kar omogoča pretok večjega toka. Releji so na voljo v številnih ocenah, tu smo uporabili 5V rele napetosti, ki omogoča pretok toka 7A-250VAC.
Rele je konfiguriran z uporabo majhnega vezja gonilnika, ki je sestavljen iz tranzistorja, diode in upora. Tranzistor se uporablja za ojačanje toka, tako da lahko poln tok (iz enosmernega vira - 9v baterija) teče skozi tuljavo, da ga popolnoma energizira. Upor se uporablja za pristranskost tranzistorja. Dioda se uporablja za preprečevanje povratnega toka, ko je tranzistor izklopljen. Vsaka tuljava induktorja pri enakomernem izklopu proizvaja enak in nasproten EMF, kar lahko povzroči trajne poškodbe komponent, zato je treba za preprečevanje povratnega toka uporabiti diodo. Rele modul je lahko na voljo na trgu, z vso svojo Driver vezje na krovu, ali jo lahko ustvarite z uporabo zgoraj komponent. Tu smo uporabili 5V relejni modul
Izračun temperature s pomočjo termistorja:
Iz vezja delilnika napetosti vemo, da:
V izhod = (V v * Rt) / (R + Rt)
Vrednost Rt bo torej:
Rt = R (Vin / Vout) - 1
Tu bo Rt upor termistorja (Rt), R pa 10k ohmski upor.
Ta enačba se uporablja za izračun upornosti termistorja iz izmerjene vrednosti izhodne napetosti Vo. Vrednost Voltage Vout lahko dobimo iz vrednosti ADC na zatiču A0 Arduina, kot je prikazano v spodnji Arduino kodi.
Izračun temperature glede na upor termistorja
Matematično je mogoče upor termistorja izračunati le s pomočjo Stein-Hartove enačbe.
T = 1 / (A + B * ln (Rt) + C * ln (Rt) 3)
Kjer so A, B in C konstante, Rt je upor termistorja in ln predstavlja log.
Konstantna vrednost termistorja, uporabljenega v projektu, je A = 1.009249522 × 10 −3, B = 2.378405444 × 10 −4, C = 2.019202697 × 10 −7. Te konstantne vrednosti lahko dobimo iz kalkulatorja tukaj, tako da vnesemo tri vrednosti upora termistorja pri treh različnih temperaturah. Te konstantne vrednosti lahko dobite neposredno iz podatkovnega lista termistorja ali pa dobite tri vrednosti upora pri različnih temperaturah in dobite vrednosti konstant s pomočjo danega kalkulatorja.
Torej, za izračun temperature potrebujemo samo vrednost upornosti termistorja. Ko dobimo vrednost Rt iz zgoraj navedenega izračuna, vstavimo vrednosti v Stein-Hartovo enačbo in dobili bomo vrednost temperature v enoti Kelvin. Ker pride do manjše spremembe izhodne napetosti, povzroči spremembo temperature.
Koda Arduino
Popolna koda Arduino za te gospodinjske aparate z nadzorovano temperaturo je podana na koncu tega članka. Tu smo razložili nekaj njegovih delov.
Za izvajanje matematične operacije uporabljamo datoteko z glavo »#include
#include
Za nastavitev releja (kot izhod) in LCD-ja ob zagonu moramo v del za praznino vnesti kodo
Nastavitev praznine () {lcd.begin (16,2); lcd.clear (); pinMode (RELAY, OUTPUT); }
Za izračun temperature po Stein-Hartovi enačbi z uporabo električnega upora termistorja izvedemo nekaj preprostih matematičnih enačb v kodi, kot je pojasnjeno v zgornjem izračunu:
float a = 1.009249522e-03, b = 2.378405444e-04, c = 2.019202697e-07; float T, logRt, Tf, Tc; plavajoči termistor (int Vo) {logRt = log (10000,0 * ((1024,0 / Vo-1))); T = (1,0 / (a + b * logRt + c * logRt * logRt * logRt)); // Vrednost temperature v Kelvinu dobimo iz te Stein-Hartove enačbe Tc = T - 273,15; // Pretvorba Kelvina v Celzija Tf = (Tc * 1,8) + 32,0; // Pretvorba Kelvina v Fahrenheitov povratni T; }
V spodnji kodi funkcijski termistor bere vrednost z analognega zatiča Arduino in z matematično operacijo natisne vrednost temperature
lcd.print ((termistor (analogRead (0))));
In to vrednost prevzame funkcija termistorja, nato pa izračun začne tiskati
plavajoči termistor (int Vo)
Kodo pogoja vklopa in izklopa luči moramo napisati glede na temperaturo, saj nastavimo vrednost temperature, na primer, če temperatura naraste za več kot 28 stopinj Celzija, se lučke vklopijo, če ostane manj lučk ugasnjenih. Torej, kadar temperatura preseže 28 stopinj, moramo RELAY Pin (PIN 8) postaviti visoko, da vklopimo relejni modul. In ko temperatura pade pod 28 stopinj, moramo zatič RELAY spraviti nizko, da izklopimo relejni modul.
if (Tc> 28) digitalWrite (RELAY, HIGH), lcd.setCursor (0,1), lcd.print ("Status lučke: ON"), delay (500); sicer če (Tc <28) digitalWrite (RELAY, LOW), lcd.setCursor (0,1), lcd.print ("Status lučke: OFF"), zamuda (500);
Delovanje sistema za avtomatizacijo z nadzorom temperature:
Za oskrbo z Arduinom ga lahko prek USB-ja napajate v prenosnik ali priključite 12v adapter. LCD je povezan z Arduino za prikaz temperaturnih vrednosti, termistor in rele sta priključena na diagram vezja. Analogni zatič (A0) se uporablja za preverjanje napetosti termistorskega zatiča v vsakem trenutku in po izračunu z uporabo Stein-Hartove enačbe skozi kodo Arduino lahko dobimo temperaturo in jo prikažemo na LCD-ju v Celziju in Fahrenheitu.
Ko se temperatura zviša za več kot 28 stopinj Celzija, Arduino vklopi relejski modul, tako da zatič 8 VISOKO (kjer je priključen relejski modul), ko temperatura pade pod 28 stopinj, Arduino izklopi relejski modul tako, da zapiše NIZKO CFL žarnica se bo vklopila in izklopila tudi v skladu z modulom Rele.
Ta sistem je lahko zelo koristen pri projektu Temperaturno krmiljenega ventilatorja in samodejnega regulatorja temperature AC.
Preverite tudi naše številne vrste projektov avtomatizacije doma z uporabo različnih tehnologij in mikrokrmilnikov, kot so: