- Anyag szükséges
- Kördiagramm
- Relé:
- A hőmérséklet kiszámítása termisztor használatával:
- Arduino kód
- Hőmérséklet-szabályozású otthoni automatizálási rendszer működése:
Tegyük fel, hogy egy szobában ül és fázik, és azt szeretné, hogy a fűtése automatikusan bekapcsoljon, majd egy idő után kikapcsoljon, amikor a szoba hőmérséklete megemelkedik. Ez a projekt segít abban, hogy a háztartási készülékeket a hőmérsékletnek megfelelően automatikusan irányítsa. Itt a hőmérséklet alapján szabályozzuk az otthoni váltóáramú készülékeket az Arduinóval. Itt a Thermistort használtuk a hőmérséklet leolvasására. Már csatlakoztattuk a Thermistort az Arduino-hoz, és megjelenítettük a hőmérsékletet az LCD-n.
Ebben az oktatóanyagban csatlakoztatunk egy váltóáramú készüléket relével, és hőmérséklet-vezérelt otthoni automatizálási rendszert készítünk az Arduino segítségével. A hőmérsékletet és a készülék állapotát az áramkörhöz csatlakoztatott 16 * 2 LCD kijelzőn is megjeleníti.
Anyag szükséges
- Arduino UNO
- Relé (5v)
- 16 * 2 LCD kijelző
- Izzó (CFL)
- NTC termisztor 10k
- Csatlakozó vezetékek
- Ellenállások (1k és 10k ohm)
- Potenciométer (10k)
Kördiagramm
Ez a hőmérséklet-alapú otthoni automatizálási rendszer különféle összetevőkből áll, mint például Arduino tábla, LCD kijelző, relé és termisztor. A működés főleg a relétől és a termisztortól függ, mivel a megemelkedett hőmérséklet bekapcsolja a relét, és ha a hőmérséklet az előre beállított érték alá csökken, akkor a Relé kikapcsol. A reléhez csatlakoztatott háztartási készülék is ennek megfelelően be- és kikapcsol. Itt váltakozó áramú készülékként CFL izzót használtunk. A teljes kiváltási folyamatot és a hőmérséklet érték beállítását a programozott Arduino kártya végzi. Ezenkívül részleteket közöl a hőmérséklet minden fél másodpercben bekövetkező változásával és a készülék állapotával kapcsolatban az LCD képernyőn.
Relé:
A relé egy elektromágneses kapcsoló, amelyet kis áram vezérel, és viszonylag nagyobb áram be- és kikapcsolására szolgál. Azt jelenti, hogy kis áram alkalmazásával bekapcsolhatjuk a relét, amely sokkal nagyobb áram áramlását teszi lehetővé. A relé jó példa az AC (alternatív áramú) eszközök vezérlésére, sokkal kisebb egyenárammal. Általánosan használt relé Single Pole Double (SPDT) relé, akkor öt terminálok az alábbiak szerint:
Ha nincs feszültség a tekercsre, akkor a COM (közös) csatlakozik az NC-hez (általában zárt érintkező). Ha valamilyen feszültség van a tekercsre, akkor létrejön az elektromágneses mező, amely vonzza az armatúrát (a rugóhoz kapcsolt kar), és a COM és NO (általában nyitott érintkező) csatlakozik, amelyek nagyobb áramot engednek áramolni. A relék sokféle kategóriában kaphatók, itt 5V üzemi feszültség relét használtunk, amely lehetővé teszi a 7A-250VAC áram áramlását.
A relé konfigurálása egy kis meghajtó áramkör használatával történik, amely tranzisztort, diódát és ellenállást tartalmaz. A tranzisztort az áram erősítésére használják, hogy a teljes áram (az egyenáramú forrásból - 9 V-os akkumulátor) egy tekercsen keresztül áramolhasson, hogy teljes energiát szolgáltasson. Az ellenállást a tranzisztor előfeszítésének biztosítására használják. A diódát pedig a fordított áram áramlásának megakadályozására használják, amikor a tranzisztort kikapcsolják. Minden induktor tekercs egyenlő és ellentétes EMF-et produkál, ha hirtelen kikapcsol, ez maradandó károsodást okozhat az alkatrészekben, ezért a diódát kell használni a visszirányú áram megakadályozására. A Relé modul könnyen elérhető a piacon, az összes Driver áramkörével a táblán, vagy létrehozhatja a fenti alkatrészek használatával. Itt 5V relé modult használtunk
A hőmérséklet kiszámítása termisztor használatával:
A Feszültségosztó áramkörből tudjuk, hogy:
V kimenet = (V be * Rt) / (R + Rt)
Tehát az Rt értéke:
Rt = R (Vin / Vout) - 1
Itt Rt a termisztor ellenállása (Rt), R pedig 10 k ohmos ellenállás lesz.
Ezt az egyenletet használják a termisztor ellenállásának kiszámítására a Vo kimeneti feszültség mért értéke alapján. Megkapjuk a feszültség Vout értékét az ADU értékből az Arduino A0 lábánál, amint az az alábbiakban megadott Arduino kódban látható.
A hőmérséklet kiszámítása a termisztor ellenállása alapján
Matematikailag a termisztor ellenállását csak a Stein-Hart egyenlet segítségével lehet kiszámítani.
T = 1 / (A + B * ln (Rt) + C * ln (Rt) 3)
Ahol A, B és C az állandók, Rt a termisztor ellenállása és ln log.
A projektben használt termisztor állandó értéke A = 1,009249522 × 10 −3, B = 2,378405444 × 10 −4, C = 2,019202697 × 10 −7. Ezeket az állandó értékeket az itt található számológépből lehet megkapni, ha megadjuk a termisztor három ellenállási értékét három különböző hőmérsékleten. Vagy beszerezheti ezeket az állandó értékeket közvetlenül a termisztor adatlapjából, vagy három ellenállási értéket kaphat különböző hőmérsékleten, és az adott számológép segítségével megkapja a konstans értékeket.
Tehát a hőmérséklet kiszámításához csak a termisztor ellenállásának értékére van szükségünk. Miután megkapta az Rt értékét a fenti számításból, tegye az értékeket a Stein-hart egyenletbe, és megkapjuk a hőmérséklet értékét Kelvin egységben. Mivel a kimeneti feszültség kisebb változásokkal jár, a hőmérséklet megváltozik.
Arduino kód
A hőmérséklet-szabályozású háztartási gépek teljes Arduino-kódja a cikk végén található. Itt néhány részt elmagyaráztunk.
A matematikai műveletek végrehajtásához a „#include
#include
A relé (kimenetként) és az LCD beállításához az induláskor kódot kell írnunk a void setup részbe
Érvénytelen beállítás () {lcd.begin (16,2); lcd.clear (); pinMode (RELAY, OUTPUT); }
A hőmérséklet Stein-Hart egyenlettel történő kiszámításához a termisztor elektromos ellenállását felhasználva néhány egyszerű matematikai egyenletet hajtunk végre kódban, amint azt a fenti számítás elmagyarázta:
úszó a = 1,009249522e-03, b = 2,378405444e-04, c = 2,019202697e-07; úszó T, logRt, Tf, Tc; úszó termisztor (int Vo) {logRt = log (10000,0 * ((1024,0 / Vo-1))); T = (1,0 / (a + b * logRt + c * logRt * logRt * logRt)); // A hőmérsékleti értéket Kelvinben kapjuk meg ebből a Stein-Hart egyenletből Tc = T - 273,15; // Kelvin konvertálása Celsius-fokra Tf = (Tc * 1,8) + 32,0; // Kelvin konvertálása Fahrenheit-re visszatérés T; }
Az alábbi kódban a függvény-termisztor leolvassa az értéket az Arduino analóg tűjéről, és a matematikai művelet végrehajtásával kinyomtatja a hőmérsékleti értéket
lcd.print ((termisztor (analogRead (0))));
Ezt az értéket a Thermistor függvény veszi fel, majd a számítás megkezdi a nyomtatást
úszó termisztor (int Vo)
Ki kell írnunk a fény be- és kikapcsolásának állapotának kódját a hőmérsékletnek megfelelően, amikor beállítjuk a hőmérséklet értékét, például ha a hőmérséklet-emelkedés meghaladja a 28 Celsius-fokot, a lámpák bekapcsolnak, ha kevesebb fény marad ki. Tehát, amikor a hőmérséklet meghaladja a 28 fokot, a RELAY csapot (8. PIN) magasra kell tennünk, hogy a relé modul BE legyen kapcsolva. És amikor a hőmérséklet 28 fok alá süllyed, a relé modul kikapcsolásához alacsonyra kell állítanunk a RELAY csapot.
if (Tc> 28) digitalWrite (RELAY, HIGH), lcd.setCursor (0,1), lcd.print ("Fény állapota: BE"), késleltetés (500); else if (Tc <28) digitalWrite (RELAY, LOW), lcd.setCursor (0,1), lcd.print ("Fény állapota: KI"), késleltetés (500);
Hőmérséklet-szabályozású otthoni automatizálási rendszer működése:
Az Arduino tápellátásának biztosításához áramellátást biztosíthat USB-n keresztül a laptophoz, vagy csatlakoztathat 12 V-os adaptert. Az Arduino-val egy LCD van összekapcsolva a hőmérsékleti értékek megjelenítéséhez, a termisztor és a relé az áramköri ábra szerint vannak csatlakoztatva. Az analóg csapot (A0) arra használjuk, hogy minden pillanatban ellenőrizzük a termisztoros feszültség feszültségét, és a Stein-Hart egyenlet felhasználásával végzett számítás után az Arduino kód segítségével képesek vagyunk megkapni a hőmérsékletet, és a Celsiusban és Fahrenheitben megjeleníteni az LCD-n.
Amikor a hőmérséklet több mint 28 Celsius-fokot emelkedik, az Arduino bekapcsolja a relé modult azáltal, hogy a 8-as csapot HIGH (ahol a relé modul van csatlakoztatva) bekapcsolva, ha a hőmérséklet 28 fok alá csökken, az Arduino kikapcsolja a relé modult azáltal, hogy a csapot LOW-ra állítja. A CFL izzó a Relé modulnak megfelelően be- és kikapcsol.
Ez a rendszer nagyon hasznos lehet a hőmérséklet-szabályozású ventilátor és az automatikus váltóáramú hőmérséklet-szabályozó projektekben.
Ellenőrizze sokféle otthoni automatizálási projektünket is, különböző technológiák és mikrovezérlők segítségével, például: