- Požadované komponenty:
- Kruhový diagram
- Termistor
- Výpočet teploty pomocí termistoru:
- Kód termistoru Arduino
- Měření teploty pomocí termistoru a Arduina:
Použití termistoru je snadný a levný způsob snímání teploty. A pro měření přesné teploty pomocí termistoru bude zapotřebí mikrokontrolér. Tady tedy používáme Arduino s termistorem ke čtení teploty a LCD k zobrazení teploty. Je užitečný v různých projektech, jako je vzdálená meteorologická stanice, domácí automatizace a ochrana a řízení průmyslových a elektronických zařízení.
V tomto tutoriálu se chystáme propojit Thermistor s Arduinem a zobrazit teplotu na LCD. Pomocí termistoru můžete provádět různé projekty založené na elektronických obvodech, některé z nich jsou uvedeny níže:
- Teplotně řízený stejnosměrný ventilátor pomocí termistoru
- Požární poplach pomocí termistoru
Požadované komponenty:
- NTC termistor 10k
- Arduino (libovolná verze)
- 10k ohmový rezistor
- Připojení vodičů
Kruhový diagram
Termistor poskytuje hodnotu teploty podle změny elektrického odporu v něm. V tomto obvodu je analogový kolík v Arduinu spojen s termistorem a může poskytovat pouze hodnoty ADC, takže elektrický odpor termistoru se nepočítá přímo. Takže obvod je vytvořen jako obvod děliče napětí, jak je znázorněno na obrázku výše, připojením známého odporu 10 kOhm do série s NTC. Pomocí tohoto děliče napětí můžeme dostat napětí přes termistor a s tímto napětím můžeme odvodit odpor termistoru v daném okamžiku. A konečně můžeme získat hodnotu teploty vložením odporu termistoru do Stein-Hartovy rovnice, jak je vysvětleno v následujících částech.
Termistor
Klíčovou součástí v tomto obvodu je termistor, který se používá k detekci nárůstu teploty. Termistor je teplotně citlivý odpor, jehož odpor se mění podle teploty. Existují dva typy termistoru NTC (negativní teplotní koeficient) a PTC (pozitivní teplotní koeficient), používáme termistor typu NTC. NTC termistor je odpor, jehož odpor klesá s nárůstem teploty, zatímco v PTC zvyšuje odpor s nárůstem teploty.
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 a R bude 10k ohmový odpor. Hodnoty můžete také vypočítat z této kalkulačky děliče napětí.
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 + Bln (Rt) + Cln (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. Protože dochází k malé změně výstupního napětí, způsobí to změnu teploty.
Kód termistoru Arduino
Kompletní Arduino kód pro propojení termistoru s Arduino 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
LiquidCrystal lcd (44,46,40,52,50,48);
Pro nastavení LCD v době spuštění musíme napsat kód do části nastavení neplatnosti
Void setup () {lcd.begin (16,2); lcd.clear (); }
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, lcd.print ((Termistor (analogRead (0))));
a tato hodnota je převzata v níže uvedeném kódu a poté je zahájen tisk výpočtu
plovoucí termistor (int Vo)
Měření teploty pomocí termistoru a Arduina:
Chcete-li dodávat Arduino, můžete jej napájet přes USB k notebooku nebo připojením 12v adaptéru. Displej LCD je propojen s Arduino pro zobrazení hodnot teploty a termistor je připojen 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.