- Nødvendigt materiale
- Kredsløbsdiagram
- Relæ:
- Beregning af temperatur ved hjælp af termistor:
- Arduino-kode
- Arbejde med temperaturstyret hjemmeautomationssystem:
Antag at du sidder i et rum og har det koldt, og at du ønsker, at dit varmeapparat skal tændes automatisk og derefter slukkes efter et stykke tid, når stuetemperaturen øges, så hjælper dette projekt dig med at kontrollere dine husholdningsapparater automatisk i henhold til temperaturen. Her styrer vi hjemmeapparater med Arduino baseret på temperaturen. Her har vi brugt Thermistor til at aflæse temperaturen. Vi har allerede interfacet Thermistor med Arduino og vist temperaturen på LCD.
I denne vejledning tilslutter vi et vekselstrømsapparat med Relay og laver et temperaturstyret hjemmeautomatiseringssystem ved hjælp af Arduino. Det viser også temperaturen og apparatets status på 16 * 2 LCD-displayet, der er forbundet med kredsløbet.
Nødvendigt materiale
- Arduino UNO
- Relæ (5v)
- 16 * 2 LCD-skærm
- Pære (CFL)
- NTC termistor 10k
- Tilslutning af ledninger
- Modstande (1k og 10k ohm)
- Potentiometer (10k)
Kredsløbsdiagram
Dette temperaturbaserede hjemmeautomatiseringssystem består af forskellige komponenter som Arduino-kort, LCD-skærm, relæ og termistor. Arbejdet afhænger hovedsageligt af relæet og termistoren, da temperaturen øges, vil relæet blive tændt, og hvis temperaturen falder til under den forudindstillede værdi, vil relæet være slukket. Hjemmeapparatet, der er forbundet med relæet, tændes og slukkes også i overensstemmelse hermed. Her har vi brugt en CFL-pære som AC-apparat. Hele udløsningsprocessen og temperaturværdien indstilles af det programmerede Arduino-kort. Det giver os også detaljer om temperaturændringen i hvert halve sekund og apparatets status på LCD-skærmen.
Relæ:
Relæ er en elektromagnetisk switch, der styres af lille strøm og bruges til at tænde og slukke relativt meget større strøm. Midler ved at anvende lille strøm kan vi tænde relæet, som tillader meget større strøm at strømme. Et relæ er et godt eksempel på at styre vekselstrømsenhederne (vekselstrøm) ved hjælp af en meget mindre jævnstrøm. Almindeligt anvendt relæ er Single Pole Double Throw (SPDT) Relay, det har fem terminaler som nedenfor:
Når der ikke er spænding på spolen, er COM (fælles) forbundet til NC (normalt lukket kontakt). Når der er spænding på spolen, dannes det producerede elektromagnetiske felt, der tiltrækker armaturet (armen forbundet til fjederen), og COM og NO (normalt åben kontakt) tilsluttes, hvilket tillader en større strøm at strømme. Relæer er tilgængelige i mange klassifikationer, her brugte vi 5V driftsspændingsrelæ, som gør det muligt at strømme 7A-250VAC strøm.
Relæet er konfigureret ved hjælp af et lille driverkredsløb, der består af en transistor, diode og en modstand. Transistor bruges til at forstærke strømmen, så fuld strøm (fra jævnstrømskilden - 9v batteri) kan strømme gennem en spole for at give fuld energi til den. Modstanden bruges til at tilvejebringe forspænding til transistoren. Og diode bruges til at forhindre omvendt strømflow, når transistoren er slukket. Hver induktorspole producerer lige og modsat EMF, når den pludselig slukkes, dette kan forårsage permanent skade på komponenter, så diode skal bruges til at forhindre omvendt strøm. Et relæmodul er let tilgængeligt på markedet med hele dets Driver-kredsløb på tavlen, eller du kan oprette det ved hjælp af ovenstående komponenter. Her har vi brugt 5V relæmodul
Beregning af temperatur ved hjælp af termistor:
Vi ved fra spændingsdelerkredsløbet, at:
V ud = (V i * Rt) / (R + Rt)
Så værdien af Rt vil være:
Rt = R (Vin / Vout) - 1
Her vil Rt være modstanden af termistoren (Rt), og R vil være 10k ohm modstand.
Denne ligning bruges til beregning af termistormodstand fra den målte værdi af udgangsspændingen Vo. Vi kan få værdien af Voltage Vout fra ADC-værdien ved pin A0 i Arduino som vist i Arduino-koden angivet nedenfor.
Beregning af temperatur fra termistormodstanden
Matematisk kan termistormodstanden kun beregnes ved hjælp af Stein-Hart-ligningen.
T = 1 / (A + B * ln (Rt) + C * ln (Rt) 3)
Hvor, A, B og C er konstanterne, er Rt termistormodstanden og ln repræsenterer log.
Den konstante værdi for den anvendte termistor i projektet er A = 1.009249522 × 10 −3, B = 2.378405444 × 10 −4, C = 2.019202697 × 10 −7. Disse konstante værdier kan opnås fra lommeregneren her ved at indtaste termistorens tre modstandsværdier ved tre forskellige temperaturer. Du kan enten få disse konstante værdier direkte fra databladet til Thermistor, eller du kan få tre modstandsværdier ved forskellige temperaturer og få konstantværdierne ved hjælp af den givne lommeregner.
Så til beregning af temperaturen har vi kun brug for værdien af termistormodstand. Efter at have fået værdien af Rt fra ovenstående beregning, anbring værdierne i Stein-hart ligningen, og vi får værdien af temperaturen i enheden Kelvin. Da der er en mindre ændring i udgangsspændingen, forårsager temperaturændring.
Arduino-kode
Komplet Arduino-kode til denne temperaturstyrede husholdningsapparater findes i slutningen af denne artikel. Her har vi forklaret nogle få dele af det.
Til udførelse af matematisk operation bruger vi header-fil “#include
#omfatte
Til opsætning af relæ (som et output) og LCD på tidspunktet for starter vi nødt til at skrive kode i tomrum setup del
Ugyldig opsætning () {lcd.begin (16,2); lcd.clear (); pinMode (RELAY, OUTPUT); }
Til beregning af temperatur ved hjælp af Stein-Hart-ligning ved hjælp af termistorens elektriske modstand udfører vi nogle enkle matematiske ligninger i kode som forklaret i beregningen ovenfor:
flyde a = 1.009249522e-03, b = 2.378405444e-04, c = 2.019202697e-07; flyde T, logRt, Tf, Tc; float-termistor (int Vo) {logRt = log (10000.0 * ((1024.0 / Vo-1))); T = (1.0 / (a + b * logRt + c * logRt * logRt * logRt)); // Vi får temperaturværdien i Kelvin fra denne Stein-Hart-ligning Tc = T - 273,15; // Konverter Kelvin til Celsius Tf = (Tc * 1,8) + 32,0; // Konverter Kelvin til Fahrenheit retur T; }
I nedenstående kode læser funktionstermistoren værdien fra den analoge pin på Arduino og udskriver temperaturværdien ved at udføre den matematiske operation
lcd.print ((Thermistor (analogRead (0))));
Og den værdi tages af Thermistor- funktionen, og derefter starter beregningen udskrivningen
float Thermistor (int Vo)
Vi er nødt til at skrive koden for tilstanden til at tænde og slukke lys i henhold til temperaturen, da vi indstiller temperaturværdien, som hvis temperaturen stiger mere end 28 grader Celsius, lysene tænder, hvis mindre lysene forbliver slukket. Så når temperaturen går over 28 grader, er vi nødt til at gøre RELAY Pin (PIN 8) høj for at gøre relæmodulet ON. Og når temperaturen går under 28 grader, skal vi gøre RELAY-stiften lav for at slukke for relæmodulet.
hvis (Tc> 28) digitalWrite (RELAY, HIGH), lcd.setCursor (0,1), lcd.print ("Lysstatus: ON"), forsinkelse (500); ellers hvis (Tc <28) digitalWrite (RELAY, LOW), lcd.setCursor (0,1), lcd.print ("Lysstatus: OFF"), forsinkelse (500);
Arbejde med temperaturstyret hjemmeautomationssystem:
For at give forsyningen til Arduino kan du tænde den via USB til din bærbare computer eller tilslutte 12v-adapter. En LCD er grænseflade med Arduino for at vise temperaturværdier, termistor og relæ er forbundet som i kredsløbsdiagram. Den analoge stift (A0) bruges til at kontrollere spændingen på termistorstiften i hvert øjeblik, og efter beregningen ved hjælp af Stein-Hart-ligning gennem Arduino-koden er vi i stand til at få temperaturen og vise den på LCD i Celsius og Fahrenheit.
Da temperaturen stiger mere end 28 grader Celsius Arduino gør relæmodulet tændt ved at gøre stiften 8 HØJ (hvor relæmodulet er tilsluttet) når temperaturen går under 28 graders Arduino slukker relæmodulet ved at gøre stiften LAV. CFL-pære tændes og slukkes også i henhold til relæmodulet.
Dette system kan være meget nyttigt i temperaturstyret blæser og automatisk vekselstrømsregulator projekt.
Tjek også vores mange typer hjemmeautomationsprojekter ved hjælp af forskellige teknologier og mikrocontrollere som: