- Nødvendig materiale
- Kretsdiagram
- Stafett:
- Beregning av temperatur ved bruk av termistor:
- Arduino-kode
- Arbeid med temperaturstyrt hjemmeautomatiseringssystem:
Anta at du sitter i et rom og føler deg kald, og at du vil at varmeapparatet skal slås på automatisk, og deretter slukkes etter en stund når romtemperaturen økes, så hjelper dette prosjektet deg med å kontrollere husholdningsapparater automatisk i henhold til temperaturen. Her kontrollerer vi hjemmeapparat med Arduino basert på temperaturen. Her har vi brukt Thermistor for å lese temperaturen. Vi koblet allerede Thermistor til Arduino og viste temperaturen på LCD-skjermen.
I denne opplæringen vil vi feste et AC-apparat med Relay og lage et temperaturstyrt hjemmeautomatiseringssystem ved hjelp av Arduino. Den viser også temperatur og apparatstatus på 16 * 2 LCD-skjermen som er koblet til kretsen.
Nødvendig materiale
- Arduino UNO
- Relé (5v)
- 16 * 2 LCD-skjerm
- Lyspære (CFL)
- NTC termistor 10k
- Koble ledninger
- Motstander (1k og 10k ohm)
- Potensiometer (10k)
Kretsdiagram
Dette temperaturbaserte hjemmeautomatiseringssystemet består av forskjellige komponenter som Arduino-kort, LCD-skjerm, Relé og termistor. Arbeidet avhenger hovedsakelig av relé og termistor når temperaturen øker, vil reléet slås på, og hvis temperaturen synker under den forhåndsinnstilte verdien, vil reléet bli slått av. Husholdningsapparatet som er koblet til reléet, slås også av og på tilsvarende. Her har vi brukt en CFL-pære som AC-apparat. Hele utløsingsprosessen og innstillingen av temperaturverdien utføres av det programmerte Arduino-kortet. Det gir oss også detaljer om temperaturendringen i hvert halve sekund og apparatets status på LCD-skjermen.
Stafett:
Relé er en elektromagnetisk bryter, som styres av liten strøm, og brukes til å slå PÅ og AV relativt mye større strøm. Betyr ved å bruke liten strøm kan vi slå på reléet som gjør at mye større strøm kan strømme. Et relé er et godt eksempel på å kontrollere vekselstrømsenhetene (vekselstrøm) ved å bruke en mye mindre likestrøm. Vanlig relé er Single Pole Double Throw (SPDT) Relay, det har fem terminaler som nedenfor:
Når det ikke er spenning på spolen, er COM (vanlig) koblet til NC (normalt lukket kontakt). Når det er noe spenning på spolen, blir det produserte elektromagnetiske feltet som tiltrekker seg ankeret (spaken koblet til fjæren), og COM og NO (normalt åpen kontakt) blir koblet til, slik at en større strøm kan strømme. Reléer er tilgjengelige i mange rangeringer, her brukte vi 5V driftsspenningsrelé, som gjør at 7A-250VAC strøm kan strømme.
Reléet er konfigurert ved hjelp av en liten driverkrets som består av en transistor, diode og en motstand. Transistor brukes til å forsterke strømmen slik at full strøm (fra likestrømskilden - 9v batteri) kan strømme gjennom en spole for å få den til full energi. Motstanden brukes til å gi forspenning til transistoren. Og diode brukes til å forhindre omvendt strøm, når transistoren er slått AV. Hver induktorspole produserer lik og motsatt EMF når den plutselig slås AV, dette kan forårsake permanent skade på komponenter, så diode må brukes for å forhindre reversstrøm. En relémodul er lett tilgjengelig i markedet med hele driverkretsen på kortet, eller du kan lage den ved å bruke komponentene ovenfor. Her har vi brukt 5V Relé-modul
Beregning av temperatur ved bruk av termistor:
Vi vet fra spenningsdelerkretsen at:
V ut = (V inn * Rt) / (R + Rt)
Så verdien av Rt vil være:
Rt = R (Vin / Vout) - 1
Her vil Rt være motstanden til termistoren (Rt) og R vil være 10k ohm motstand.
Denne ligningen brukes til beregning av termistormotstand fra den målte verdien av utgangsspenningen Vo. Vi kan få verdien av Voltage Vout fra ADC-verdien på pin A0 av Arduino som vist i Arduino-koden gitt nedenfor.
Beregning av temperatur fra termistormotstanden
Matematisk kan termistormotstanden bare beregnes ved hjelp av Stein-Hart-ligningen.
T = 1 / (A + B * ln (Rt) + C * ln (Rt) 3)
Hvor, A, B og C er konstantene, er Rt termistormotstanden og ln representerer logg.
Den konstante verdien for termistoren som brukes i prosjektet er A = 1.009249522 × 10 −3, B = 2.378405444 × 10 −4, C = 2.019202697 × 10 −7. Disse konstante verdiene kan fås fra kalkulatoren her ved å legge inn de tre motstandsverdiene til termistoren ved tre forskjellige temperaturer. Du kan enten få disse konstante verdiene direkte fra databladet til termistoren, eller du kan få tre motstandsverdier ved forskjellige temperaturer og få konstantverdiene ved hjelp av den gitte kalkulatoren.
Så for å beregne temperaturen trenger vi bare verdien av termistormotstand. Etter å ha fått verdien av Rt fra beregningen gitt ovenfor, legg verdiene i Stein-hart-ligningen, og vi vil få verdien av temperaturen i enheten Kelvin. Siden det er en liten endring i utgangsspenningen, kan temperaturen endres.
Arduino-kode
Komplett Arduino-kode for denne temperaturstyrte hvitevarer er gitt på slutten av denne artikkelen. Her har vi forklart noen deler av det.
For å utføre matematisk operasjon bruker vi Overskriftsfil “#include
#inkludere
For oppsett av Relay (som en utgang) og LCD på tidspunktet for start må vi skrive kode i tomrommet oppsett delen
Ugyldig oppsett () {lcd.begin (16,2); lcd.clear (); pinMode (RELAY, OUTPUT); }
For beregning av temperatur ved hjelp av Stein-Hart-ligningen ved bruk av termistorens elektriske motstand, utfører vi noen enkle matematiske ligninger i kode som forklart i beregningen ovenfor:
flottør a = 1.009249522e-03, b = 2.378405444e-04, c = 2.019202697e-07; flyte T, logRt, Tf, Tc; float Thermistor (int Vo) {logRt = log (10000.0 * ((1024.0 / Vo-1))); T = (1.0 / (a + b * logRt + c * logRt * logRt * logRt)); // Vi får temperaturverdien i Kelvin fra denne Stein-Hart-ligningen Tc = T - 273,15; // Konverter Kelvin til Celsius Tf = (Tc * 1,8) + 32,0; // Konverter Kelvin til Fahrenheit retur T; }
I koden nedenfor leser funksjonstermistoren verdien fra den analoge pinnen til Arduino, og skriver ut temperaturverdien ved å utføre den matematiske operasjonen
lcd.print ((Thermistor (analogRead (0))));
Og den verdien blir tatt av Thermistor- funksjonen, og deretter er beregningen å starte utskriften
float Thermistor (int Vo)
Vi må skrive koden for tilstanden til å slå lys PÅ og AV i henhold til temperaturen, da vi setter temperaturverdien som om temperaturen øker mer enn 28 grader Celsius, lysene vil slå PÅ hvis mindre lysene forblir av. Så når temperaturen går over 28 grader, må vi gjøre RELAY-pinnen (PIN 8) høy for å gjøre relémodulen PÅ. Og når temperaturen går under 28 grader, må vi gjøre RELAY-pinnen lav for å slå av relémodulen.
hvis (Tc> 28) digitalWrite (RELAY, HIGH), lcd.setCursor (0,1), lcd.print ("Lysstatus: ON"), forsinkelse (500); annet hvis (Tc <28) digitalWrite (RELAY, LOW), lcd.setCursor (0,1), lcd.print ("Lysstatus: OFF"), forsinkelse (500);
Arbeid med temperaturstyrt hjemmeautomatiseringssystem:
For å gi forsyningen til Arduino kan du strømforsyne den via USB til den bærbare datamaskinen eller koble til 12v-adapteren. En LCD er grensesnittet med Arduino for å vise temperaturverdier, Thermistor og Relay er koblet i henhold til kretsskjemaet. Den analoge pinnen (A0) brukes til å kontrollere spenningen til termistorpinnen i hvert øyeblikk, og etter beregningen ved hjelp av Stein-Hart-ligning gjennom Arduino-koden, kan vi få temperaturen og vise den på LCD i Celsius og Fahrenheit.
Når temperaturen øker mer enn 28 grader Celsius Arduino, gjør relémodulen slått på ved å lage pinnen 8 HØY (der relémodulen er koblet til) når temperaturen går under 28 graders Arduino slår av relémodulen ved å lage pinnen LAV. CFL-pære vil også slå seg på og av i henhold til relémodulen.
Dette systemet kan være veldig nyttig i temperaturstyrt vifte og automatisk vekselstrømstemperaturregulatorprosjekt.
Sjekk også våre mange typer hjemmeautomatiseringsprosjekter ved hjelp av forskjellige teknologier og mikrokontrollere som: