- Potrebný materiál
- Schéma zapojenia
- Relé:
- Výpočet teploty pomocou termistora:
- Arduino kód
- Fungovanie domáceho automatizovaného systému s regulovanou teplotou:
Predpokladajme, že sedíte v miestnosti a je vám chladno a chcete, aby sa váš ohrievač automaticky zapol a potom po určitej dobe, keď sa zvýši teplota v miestnosti, vypol. Potom vám tento projekt pomôže automaticky ovládať domáce spotrebiče podľa teploty. Tu riadime domáce AC spotrebiče s Arduinom na základe teploty. Tu sme použili termistor na čítanie teploty. Už sme prepojili Thermistor s Arduinom a zobrazili sme teplotu na LCD.
V tomto tutoriáli pripojíme AC prístroj s relé a vyrobíme systém domácej automatizácie s riadenou teplotou pomocou Arduina. Zobrazuje tiež teplotu a stav spotrebiča na 16 * 2 LCD displeji pripojenom k okruhu.
Potrebný materiál
- Arduino UNO
- Relé (5v)
- 16 * 2 LCD displej
- Žiarovka (CFL)
- NTC termistor 10k
- Pripojovacie vodiče
- Rezistory (1 k a 10 k ohmov)
- Potenciometer (10k)
Schéma zapojenia
Tento systém domácej automatizácie založený na teplote sa skladá z rôznych komponentov, ako je doska Arduino, LCD displej, relé a termistor. Pracovanie závisí hlavne na relé a termistore, pretože pri zvýšení teploty sa relé zapne a ak teplota klesne pod nastavenú hodnotu, relé sa vypne. Podľa toho sa zapne a vypne aj domáci spotrebič pripojený k relé. Tu sme ako žiarovku použili žiarovku CFL. Celý proces spustenia a nastavenie hodnoty teploty sa vykonáva naprogramovanou doskou Arduino. Poskytuje nám tiež podrobnosti o zmene teploty v každej pol sekunde a stave spotrebiča na obrazovke LCD.
Relé:
Relé je elektromagnetický spínač, ktorý je riadený malým prúdom a slúži na zapínanie a vypínanie relatívne väčšieho prúdu. Znamená to, že aplikovaním malého prúdu môžeme zapnúť relé, ktoré umožňuje prúdenie oveľa väčšieho prúdu. Relé je dobrým príkladom riadenia zariadení na striedavý prúd (striedavý prúd) pomocou oveľa menšieho jednosmerného prúdu. Bežne používané Relay je Single Pole Double Throw (SPDT) Relay, že má päť terminálov ako je uvedené nižšie:
Ak na cievku nie je pripojené napätie, COM (spoločný) je pripojený k NC (normálne zatvorený kontakt). Keď je na cievku privádzané napätie, vytvára sa elektromagnetické pole, ktoré priťahuje armatúru (páka pripojená k pružine), a COM a NO (normálne otvorený kontakt) sa pripájajú, čo umožňuje prietok väčšieho prúdu. Relé sú k dispozícii v mnohých hodnoteniach, tu sme použili relé prevádzkového napätia 5V, ktoré umožňuje prúdenie prúdu 7A-250VAC.
Relé je konfigurované pomocou malého obvodu budiča, ktorý pozostáva z tranzistora, diódy a odporu. Tranzistor sa používa na zosilnenie prúdu tak, aby plný prúd (zo zdroja jednosmerného prúdu - 9V batéria) mohol prúdiť cez cievku a úplne ho tak napájať. Rezistor sa používa na zaistenie predpätia tranzistora. A dióda sa používa na zabránenie spätného toku prúdu, keď je tranzistor vypnutý. Každá cievka induktora vytvára pri náhlom vypnutí rovnaké a opačné EMF, čo môže spôsobiť trvalé poškodenie komponentov, preto je potrebné použiť diódu, aby sa zabránilo spätnému prúdu. Relay modul je ľahko dostupné na trhu, so všetkými jeho napájanie na doske, alebo si môžete vytvoriť pomocou vyššie komponentov. Tu sme použili 5V reléový modul
Výpočet teploty pomocou termistora:
Z obvodu deliča napätia vieme, že:
V out = (V in * Rt) / (R + Rt)
Hodnota Rt bude teda:
Rt = R (Vin / Vout) - 1
Tu Rt bude odpor termistora (Rt) a R bude odpor 10 kOhm.
Táto rovnica sa používa na výpočet odporu termistora z nameranej hodnoty výstupného napätia Vo. Hodnotu Voltage Vout môžeme získať z hodnoty ADC na pin A0 Arduina, ako je uvedené v Arduino kóde uvedenom nižšie.
Výpočet teploty z odporu termistora
Matematicky možno odpor termistora vypočítať iba pomocou Stein-Hartovej rovnice.
T = 1 / (A + B * ln (Rt) + C * ln (Rt) 3)
Kde A, B a C sú konštanty, Rt je odpor termistora a ln predstavuje log.
Konštantná hodnota pre termistor použitý v projekte je A = 1,009249522 × 10 −3, B = 2,378405444 × 10 −4, C = 2,019202697 × 10 −7. Tieto konštantné hodnoty je možné tu získať z kalkulačky zadaním troch hodnôt odporu termistora pri troch rôznych teplotách. Tieto konštantné hodnoty môžete získať priamo z údajového listu termistora, alebo môžete získať tri hodnoty odporu pri rôznej teplote a hodnoty Konstanty získať pomocou danej kalkulačky.
Na výpočet teploty teda potrebujeme iba hodnotu odporu termistora. Po získaní hodnoty Rt z vyššie uvedeného výpočtu vložte hodnoty do Stein-Hartovej rovnice a dostaneme hodnotu teploty v jednotke Kelvin. Pretože je tu malá zmena výstupného napätia, spôsobte zmenu teploty.
Arduino kód
Kompletný Arduino kód pre toto domáce zariadenie s regulovanou teplotou je uvedený na konci tohto článku. Tu sme vysvetlili niekoľko jeho častí.
Na vykonanie matematickej operácie použijeme hlavičkový súbor „#include
#include
Pre nastavenie časovej relé (ako výstup) a LCD v okamihu spustenia musíme písať kód v neplatné setup časti
Void setup () {lcd.begin (16,2); lcd.clear (); pinMode (RELÉ, VÝSTUP); }
Pre výpočet teploty pomocou Stein-Hartovej rovnice pomocou elektrického odporu termistora vykonáme jednoduchú matematickú rovnicu v kóde, ako je vysvetlené pri výpočte vyššie:
float a = 1,009249522e-03, b = 2,378405444e-04, c = 2,019202697e-07; float T, logRt, Tf, Tc; plavákový termistor (int Vo) {logRt = log (10 000,0 * ((1024,0 / Vo-1)))); T = (1,0 / (a + b * logRt + c * logRt * logRt * logRt)); // Hodnotu teploty v Kelvinoch získame z tejto Stein-Hartovej rovnice Tc = T - 273,15; // Prevod Kelvinov na Celzia Tf = (Tc * 1,8) + 32,0; // Prevod Kelvinov na Fahrenheitov návrat T; }
V nasledujúcom kóde funkčný termistor sníma hodnotu z analógového kolíka Arduina a tlačí matematickú hodnotu pomocou matematickej operácie.
lcd.print ((termistor (analogRead (0))));
A túto hodnotu prevezme funkcia termistora a potom sa začne tlačiť výpočet
plavákový termistor (int Vo)
Musíme napísať kód stavu zapnutia a vypnutia svetla podľa teploty, pretože nastavujeme hodnotu teploty, ako keby sa teplota zvýšila o viac ako 28 stupňov Celzia, svetlá sa zapnú, ak zostane menej svetiel. Takže kedykoľvek teplota stúpne nad 28 stupňov, musíme reléový pin (PIN 8) nastaviť vysoko, aby bol reléový modul ZAPNUTÝ. A keď teplota klesne pod 28 stupňov, musíme reléový modul vypnúť tak, aby bol reléový modul nízky.
if (Tc> 28) digitalWrite (RELAY, HIGH), lcd.setCursor (0,1), lcd.print ("Stav svetla: ZAPNUTÝ"), oneskorenie (500); inak if (Tc <28) digitalWrite (RELAY, LOW), lcd.setCursor (0,1), lcd.print ("Stav svetla: VYPNUTÝ"), oneskorenie (500);
Fungovanie domáceho automatizovaného systému s regulovanou teplotou:
Ak chcete napájať Arduino, môžete ho napájať cez USB do vášho notebooku alebo pripojiť 12v adaptér. Displej LCD je prepojený s rozhraním Arduino na zobrazovanie hodnôt teploty, termistor a relé sú pripojené podľa schémy zapojenia. Analógový pin (A0) slúži na kontrolu napätia kolíka termistora v každom okamihu a po výpočte pomocou Stein-Hartovej rovnice prostredníctvom kódu Arduino dokážeme získať teplotu a zobraziť ju na LCD v stupňoch Celzia a Fahrenheita.
Keď sa teplota zvýši o viac ako 28 stupňov Celzia, Arduino spôsobí aktiváciu reléového modulu tak, že Pin 8 HIGH (kde je pripojený reléový modul), keď teplota klesne pod 28 stupňov, Arduino vypne reléový modul nastavením Pin LOW. CFL žiarovka sa tiež zapne a vypne podľa reléového modulu.
Tento systém môže byť veľmi užitočný v projekte Tepelne riadený ventilátor a Automatický regulátor teploty.
Skontrolujte tiež naše množstvo typov projektov domácej automatizácie pomocou rôznych technológií a mikrokontrolérov, ako sú: