- Material necesar
- Diagrama circuitului
- Releu:
- Calculul temperaturii folosind termistor:
- Cod Arduino
- Funcționarea sistemului de automatizare a locuinței cu temperatură controlată:
Să presupunem că stați într-o cameră și vă simțiți frig și doriți ca încălzitorul dvs. să fie pornit automat și apoi oprit după un timp când temperatura camerei crește, atunci acest proiect vă ajută să vă controlați automat aparatele de uz casnic în funcție de temperatură. Aici controlăm electrocasnice cu Arduino în funcție de temperatură. Aici am folosit Thermistor pentru a citi temperatura. Am interfațat deja Termistorul cu Arduino și am afișat temperatura pe ecranul LCD.
În acest tutorial, vom atașa un aparat de curent alternativ cu releu și vom realiza un sistem de automatizare a locuinței cu temperatură controlată folosind Arduino. De asemenea, arată temperatura și starea aparatului pe afișajul LCD 16 * 2 conectat la circuit.
Material necesar
- Arduino UNO
- Releu (5v)
- Afisaj LCD 16 * 2
- Bec (CFL)
- Termistor NTC 10k
- Conectarea firelor
- Rezistoare (1k și 10k ohmi)
- Potențiometru (10k)
Diagrama circuitului
Acest sistem de automatizare la domiciliu bazat pe temperatură constă din diverse componente, cum ar fi placa Arduino, afișaj LCD, releu și termistor. Funcționarea depinde în principal de releu și termistor, deoarece temperatura a crescut, releu va fi pornit și dacă temperatura scade sub valoarea presetată, atunci releul va fi oprit. Aparatul electrocasnic conectat la releu se va porni și opri corespunzător. Aici am folosit un bec CFL ca aparat de curent alternativ. Întregul proces de declanșare și setarea valorii temperaturii sunt realizate de placa Arduino programată. De asemenea, ne oferă detalii despre schimbarea temperaturii în fiecare jumătate de secundă și starea aparatului pe ecranul LCD.
Releu:
Releul este un comutator electromagnetic, care este controlat de un curent mic și este utilizat pentru a porni ON și OFF curent relativ mult mai mare. Înseamnă prin aplicarea unui curent mic, putem porni releul care permite curgerea unui curent mult mai mare. Un releu este un bun exemplu de control al dispozitivelor AC (curent alternativ), folosind un curent continuu mult mai mic. Releul utilizat în mod obișnuit este releul cu un singur dublu aruncare (SPDT), are cinci terminale după cum urmează:
Când nu există tensiune aplicată bobinei, COM (comun) este conectat la NC (contact normal închis). Când există o anumită tensiune aplicată bobinei, câmpul electromagnetic produs, care atrage Armatura (pârghia conectată la arc), și COM și NO (contact normal deschis) se conectează, ceea ce permite curgerea unui curent mai mare. Releele sunt disponibile în mai multe calificări, aici am folosit un releu de tensiune de funcționare de 5V, care permite curentului de 7A-250VAC.
Releul este configurat utilizând un mic circuit Driver care constă dintr-un tranzistor, diodă și un rezistor. Tranzistorul este utilizat pentru a amplifica curentul astfel încât curentul complet (de la sursa de curent continuu - baterie de 9v) să poată circula printr-o bobină pentru a-l alimenta complet. Rezistorul este utilizat pentru a asigura polarizarea tranzistorului. Iar dioda este utilizată pentru a preveni fluxul invers de curent, atunci când tranzistorul este oprit. Fiecare bobină inductivă produce EMF egală și opusă atunci când este oprită brusc, acest lucru poate provoca deteriorarea permanentă a componentelor, astfel încât dioda trebuie utilizată pentru a preveni curentul invers. Un modul de releu este ușor disponibil pe piață cu tot circuitul său de driver pe placă sau îl puteți crea utilizând componentele de mai sus. Aici am folosit modulul de releu 5V
Calculul temperaturii folosind termistor:
Din circuitul divizor de tensiune știm că:
V out = (V în * Rt) / (R + Rt)
Deci valoarea lui Rt va fi:
Rt = R (Vin / Vout) - 1
Aici Rt va fi rezistența termistorului (Rt) și R va fi rezistor de 10k ohm.
Această ecuație este utilizată pentru calcularea rezistenței termistorului din valoarea măsurată a tensiunii de ieșire Vo. Putem obține valoarea Voltage Vout din valoarea ADC de la pinul A0 al Arduino așa cum se arată în Codul Arduino dat mai jos.
Calculul temperaturii din rezistența termistorului
Matematic rezistența termistorului poate fi calculată numai cu ajutorul ecuației Stein-Hart.
T = 1 / (A + B * ln (Rt) + C * ln (Rt) 3)
Unde, A, B și C sunt constantele, Rt este rezistența termistorului și ln reprezintă log.
Valoarea constantă pentru termistorul utilizat în proiect este A = 1.009249522 × 10 −3, B = 2.378405444 × 10 −4, C = 2.019202697 × 10 −7. Aceste valori constante pot fi obținute de la calculator aici prin introducerea celor trei valori de rezistență ale termistorului la trei temperaturi diferite. Puteți obține aceste valori constante direct din foaia de date a termistorului sau puteți obține trei valori de rezistență la temperatură diferită și puteți obține valorile constantelor folosind calculatorul dat.
Deci, pentru calcularea temperaturii avem nevoie doar de valoarea rezistenței termistorului. După obținerea valorii Rt din calculul dat mai sus, puneți valorile în ecuația Stein-hart și vom obține valoarea temperaturii în unitatea Kelvin. Deoarece există o schimbare minoră a tensiunii de ieșire, cauza modificării temperaturii.
Cod Arduino
Codul Arduino complet pentru aceste electrocasnice cu temperatură controlată este dat la sfârșitul acestui articol. Aici am explicat câteva părți ale acestuia.
Pentru efectuarea operațiunilor matematice folosim fișierul Header „#include
#include
Pentru configurare Relay (ca o ieșire) și LCD de la momentul începe trebuie să scrie cod în configurare vid partea
Void setup () {lcd.begin (16,2); lcd.clear (); pinMode (RELAY, OUTPUT); }
Pentru calcularea temperaturii prin ecuația Stein-Hart folosind rezistența electrică a termistorului efectuăm o ecuație matematică simplă în cod, așa cum se explică în calculul de mai sus:
plutitor a = 1.009249522e-03, b = 2.378405444e-04, c = 2.019202697e-07; plutitor T, logRt, Tf, Tc; termistor plutitor (int Vo) {logRt = log (10000.0 * ((1024.0 / Vo-1))); T = (1.0 / (a + b * logRt + c * logRt * logRt * logRt)); // Obținem valoarea temperaturii în Kelvin din această ecuație Stein-Hart Tc = T - 273,15; // Conversia Kelvin în Celsius Tf = (Tc * 1,8) + 32,0; // Conversia Kelvin în Fahrenheit returnează T; }
În codul de mai jos funcția termistor citește valoarea de la pinul analogic al Arduino și imprimă valoarea temperaturii efectuând operația matematică
lcd.print ((Termistor (analogRead (0))));
Iar această valoare este luată de funcția Termistor și apoi calculul începe să se tipărească
termistor plutitor (int Vo)
Trebuie să scriem codul pentru starea de pornire și oprire a luminii în funcție de temperatură, deoarece setăm valoarea temperaturii ca și cum temperatura crește cu mai mult de 28 de grade Celsius, luminile se vor aprinde dacă luminile rămân mai puțin stinse. Deci, ori de câte ori temperatura depășește 28 de grade, trebuie să ridicăm PIN-ul RELAY (PIN 8) pentru a activa modulul de releu. Și când temperatura scade sub 28 de grade, trebuie să reducem pinul RELAY pentru a opri modulul de releu.
if (Tc> 28) digitalWrite (RELAY, HIGH), lcd.setCursor (0,1), lcd.print ("Starea luminii: ON"), întârziere (500); altfel dacă (Tc <28) digitalWrite (RELAY, LOW), lcd.setCursor (0,1), lcd.print ("Starea luminii: OFF"), întârziere (500);
Funcționarea sistemului de automatizare a locuinței cu temperatură controlată:
Pentru a furniza sursa de alimentare Arduino, o puteți alimenta prin USB la laptop sau puteți conecta adaptorul de 12v. Un ecran LCD este interfațat cu Arduino pentru a afișa valorile temperaturii, termistorul și releul sunt conectate conform schemei de circuit. Pinul analogic (A0) este utilizat pentru a verifica tensiunea pinului termistorului în fiecare moment și după calculul utilizând ecuația Stein-Hart prin codul Arduino, putem obține temperatura și o afișăm pe LCD în Celsius și Fahrenheit.
Pe măsură ce temperatura crește cu mai mult de 28 de grade Celsius, Arduino face ca modulul de releu să fie pornit, făcând Pinul 8 HIGH (unde este conectat modulul de releu) atunci când temperatura scade sub 28 de grade. Becul CFL se va aprinde și opri conform modulului releu.
Acest sistem poate fi foarte util în proiectarea ventilatorului controlat de temperatură și a controlerului automat de temperatură AC.
Verificați, de asemenea, numeroasele noastre tipuri de proiecte de automatizări casnice folosind diferite tehnologii și microcontrolere, cum ar fi: