- Potřebný materiál
- Kruhový diagram
- Relé:
- Výpočet teploty pomocí termistoru:
- Arduino kód
- Fungování systému domácí automatizace s řízenou teplotou:
Předpokládejme, že sedíte v místnosti a je vám zima a chcete, aby se váš ohřívač automaticky zapínal a poté po určité době, kdy se zvýší pokojová teplota, vypnul, pak vám tento projekt pomůže automaticky ovládat vaše domácí spotřebiče podle teploty. Zde ovládáme domácí AC spotřebiče pomocí Arduina na základě teploty. Zde jsme použili termistor ke čtení teploty. Již jsme propojili termistor s Arduinem a zobrazili jsme teplotu na LCD.
V tomto tutoriálu připojíme střídavé zařízení s relé a vyrobíme systém domácí automatizace s řízenou teplotou pomocí Arduina. Zobrazuje také teplotu a stav spotřebiče na 16 * 2 LCD displeji připojeném k okruhu.
Potřebný materiál
- Arduino UNO
- Relé (5v)
- 16 * 2 LCD displej
- Žárovka (CFL)
- NTC termistor 10k
- Připojovací vodiče
- Rezistory (1k a 10k ohmů)
- Potenciometr (10k)
Kruhový diagram
Tento systém domácí automatizace založený na teplotě se skládá z různých komponent, jako je deska Arduino, LCD displej, relé a termistor. Práce závisí hlavně na relé a termistoru, jak se teplota zvýšila, relé se zapne a pokud teplota klesne pod přednastavenou hodnotu, relé se vypne. Domácí spotřebič připojený k relé se také odpovídajícím způsobem zapne a vypne. Zde jsme použili žárovku CFL jako střídavé zařízení. Celý proces spouštění a nastavení hodnoty teploty se provádí naprogramovanou deskou Arduino. Poskytuje nám také podrobnosti o změně teploty každou půl sekundu a stavu zařízení na obrazovce LCD.
Relé:
Relé je elektromagnetický spínač, který je řízen malým proudem a slouží k zapnutí a vypnutí relativně většího proudu. Znamená to, že použitím malého proudu můžeme zapnout relé, které umožňuje protékání mnohem většího proudu. Relé je dobrým příkladem ovládání zařízení na střídavý proud (střídavý proud) pomocí mnohem menšího stejnosměrného proudu. Běžně používané Relay je Single Pole Double Throw (SPDT) Relay, že má pět terminálů jak je uvedeno níže:
Pokud na cívku není přivedeno žádné napětí, je COM (společný) připojen k NC (normálně sepnutý kontakt). Když je na cívku přivedeno určité napětí, vytváří se elektromagnetické pole, které přitahuje armaturu (páka připojená k pružině), a připojí se COM a NO (normálně otevřený kontakt), což umožňuje průtok většího proudu. Relé jsou k dispozici v mnoha hodnoceních, zde jsme použili 5V relé provozního napětí, které umožňuje protékat proud 7A-250VAC.
Relé je konfigurováno pomocí malého obvodu budiče, který se skládá z tranzistoru, diody a rezistoru. Tranzistor se používá k zesílení proudu tak, aby plný proud (ze stejnosměrného zdroje - 9V baterie) mohl protékat cívkou a plně jej napájet. Rezistor se používá k zajištění předpětí tranzistoru. A dioda se používá k zabránění toku zpětného proudu, když je tranzistor vypnutý. Každá cívka induktoru při náhlém vypnutí produkuje stejný a opačný EMF, což může způsobit trvalé poškození komponent, proto je nutné použít diodu, aby se zabránilo zpětnému proudu. Relay modul je snadno dostupné na trhu, se všemi jeho napájení na desce, nebo si můžete vytvořit pomocí výše komponent. Zde jsme použili modul 5V relé
Výpočet teploty pomocí termistoru:
Z obvodu děliče napětí víme, že:
V out = (V in * Rt) / (R + Rt)
Hodnota Rt tedy bude:
Rt = R (Vin / Vout) - 1
Zde Rt bude odpor termistoru (Rt) a R bude 10k ohmový odpor.
Tato rovnice se používá pro výpočet odporu termistoru z naměřené hodnoty výstupního napětí Vo. Můžeme získat hodnotu Voltage Vout z hodnoty ADC na pinu A0 Arduina, jak je uvedeno v Arduino kódu uvedeném níže.
Výpočet teploty z odporu termistoru
Matematicky lze odpor termistoru vypočítat pouze pomocí Stein-Hartovy rovnice.
T = 1 / (A + B * ln (Rt) + C * ln (Rt) 3)
Kde A, B a C jsou konstanty, Rt je odpor termistoru a ln představuje log.
Konstantní hodnota pro termistor použitý v projektu je A = 1,009249522 × 10 −3, B = 2,378405444 × 10 −4, C = 2,019202697 × 10 −7. Tyto konstantní hodnoty lze zde získat z kalkulačky zadáním tří hodnot odporu termistoru při třech různých teplotách. Tyto konstantní hodnoty můžete získat přímo z datového listu termistoru, nebo můžete získat tři hodnoty odporu při různé teplotě a získat hodnoty konstant pomocí dané kalkulačky.
Pro výpočet teploty tedy potřebujeme pouze hodnotu odporu termistoru. Po získání hodnoty Rt z výše uvedeného výpočtu vložte hodnoty do Stein-hartovy rovnice a dostaneme hodnotu teploty v jednotce Kelvin. Jelikož dochází k malé změně výstupního napětí, může dojít ke změně teploty.
Arduino kód
Kompletní Arduino kód pro toto zařízení s řízenou teplotou je uveden na konci tohoto článku. Zde jsme vysvětlili několik jeho částí.
Pro provedení matematické operace používáme hlavičkový soubor „#include
#zahrnout
Pro nastavení časové relé (jako výstup) a LCD v okamžiku spuštění musíme psát kód v neplatné setup části
Void setup () {lcd.begin (16,2); lcd.clear (); pinMode (RELÉ, VÝSTUP); }
Pro výpočet teploty pomocí Stein-Hartovy rovnice pomocí elektrického odporu termistoru provedeme jednoduchou matematickou rovnici v kódu, jak je vysvětleno ve výpočtu výše:
float a = 1,009249522e-03, b = 2,378405444e-04, c = 2,019202697e-07; float T, logRt, Tf, Tc; plovoucí 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 Kelvinech získáme z této Stein-Hartovy rovnice Tc = T - 273,15; // Převést Kelvin na Celsius Tf = (Tc * 1,8) + 32,0; // Převést Kelvin na Fahrenheita, návrat T; }
V níže uvedeném kódu čte funkční termistor hodnotu z analogového pinu Arduina a vytiskne hodnotu teploty provedením matematické operace
lcd.print ((Termistor (analogRead (0))));
A tato hodnota je převzata funkcí termistoru a poté je zahájen tisk výpočtu
plovoucí termistor (int Vo)
Musíme napsat kód pro podmínku zapnutí a vypnutí světla podle teploty, protože nastavujeme hodnotu teploty, jako když se teplota zvýší o více než 28 stupňů Celsia, světla se rozsvítí, pokud zůstane méně světla. Takže kdykoli teplota překročí 28 stupňů, musíme nastavit RELAY Pin (PIN 8) vysoko, aby byl reléový modul ZAPNUTÝ. A když teplota klesne pod 28 stupňů, musíme vypnout reléový kolík tak, aby byl reléový modul nízký.
if (Tc> 28) digitalWrite (RELAY, HIGH), lcd.setCursor (0,1), lcd.print ("Stav světla: ZAPNUTO"), zpoždění (500); jinak if (Tc <28) digitalWrite (RELAY, LOW), lcd.setCursor (0,1), lcd.print ("Stav světla: VYPNUTO"), zpoždění (500);
Fungování systému domácí automatizace s řízenou teplotou:
Chcete-li dodávat Arduino, můžete jej napájet přes USB do vašeho notebooku nebo připojit 12v adaptér. Displej LCD je propojen s Arduino pro zobrazení hodnot teploty, termistor a relé jsou připojeny podle schématu zapojení. Analogový kolík (A0) slouží ke kontrole napětí kolíku termistoru v každém okamžiku a po výpočtu pomocí Stein-Hartovy rovnice pomocí kódu Arduino jsme schopni získat teplotu a zobrazit ji na LCD ve stupních Celsia a Fahrenheita.
Jak teplota stoupá o více než 28 stupňů Celsia, Arduino způsobí zapnutí reléového modulu tím, že Pin 8 HIGH (kde je připojený reléový modul), když teplota klesne pod 28 stupňů Arduino, vypne reléový modul tím, že Pin LOW. Žárovka CFL se také zapne a vypne podle reléového modulu.
Tento systém může být velmi užitečný v projektu Teplotně řízený ventilátor a Automatický střídač teploty.
Zkontrolujte také naše mnoho typů projektů domácí automatizace pomocí různých technologií a mikrokontrolérů, jako jsou: