V tomto článku sa budeme zaoberať rôznymi typmi teplotných senzorov a ich použitím v konkrétnych prípadoch. Teplota je fyzikálny parameter, ktorý sa meria v stupňoch. Je nevyhnutnou súčasťou každého procesu merania. Medzi oblasti vyžadujúce presné meranie teploty patrí medicína, biologický výskum, elektronika, materiálový výskum a tepelné vlastnosti elektrických výrobkov. Zariadenie používané na meranie množstva tepelnej energie, ktoré nám umožňuje detekovať fyzické zmeny teploty, je známe ako teplotný senzor. Sú digitálne a analógové.
Hlavné typy snímačov
Všeobecne existujú dva spôsoby získavania údajov:
1. Kontakt... Kontaktné snímače teploty sú vo fyzickom kontakte s predmetom alebo látkou. Môžu byť použité na meranie teploty pevných látok, kvapalín alebo plynov.
2. Bezkontaktné... Bezdotykové snímače teploty detekujú teplotu zachytením časti infračervenej energie emitovanej predmetom alebo látkou a snímaním jej intenzity. Môžu sa použiť iba na meranie teploty v pevných látkach a kvapalinách. Nie sú schopní merať teplotu plynov kvôli ich bezfarebnosti (priehľadnosti).
Typy teplotných senzorov
Existuje veľa rôznych typov teplotných senzorov. Od jednoduchého zapínania a vypínania termostatického zariadenia až po zložité riadiace systémy zásobovania vodou s funkciou ohrevu, ktoré sa používajú v procesoch pestovania rastlín. Dva hlavné typy senzorov, kontaktné a bezkontaktné, sa ďalej delia na odporové, napäťové a elektromechanické senzory. Tri najčastejšie používané snímače teploty sú:
- Termistory
- Odporové termočlánky
- Termočlánok
Tieto snímače teploty sa navzájom líšia, čo sa týka prevádzkových parametrov.
TECHNOLÓGIE ROZVOJA ZARIADENIA
Lekcia o pripojení integrovaných teplotných senzorov s analógovým výstupom k radiču Arduino. Je predstavený pracovný návrh teplomeru a je popísané programované spracovanie informácií z teplotných senzorov.
Predchádzajúca hodina Zoznam hodín Ďalšia hodina
Touto publikáciou začínam sériu lekcií o meraní teploty v systéme Arduino. Celkovo sú plánované 4 hodiny pre rôzne typy teplotných senzorov:
- integrované snímače teploty s analógovým výstupom - LM35, TMP35, TMP36, TMP37;
- kremíkové snímače teploty série KTY81;
- integrované snímače s 1-vodičovým digitálnym rozhraním - DS18B20;
- termočlánky (termoelektrické prevodníky).
Na každej lekcii vám poviem:
- stručne o princípe činnosti a parametroch teplotných snímačov;
- o schémach pripojenia teplotných senzorov k mikrokontrolérom;
- Poviem vám o softvérovom spracovaní informácií z teplotných senzorov;
- Dám diagram teplomeru na základe dosky Arduino a k tomu softvér.
Každá lekcia bude brať do úvahy projekt teplomera založený na fungovaní radiča Arduino:
- v samostatnom režime s informačným výstupom na indikátore LED;
- v režime komunikácie s počítačom, ktorý umožňuje nielen zobrazenie aktuálnej teploty, ale aj zaznamenávanie teplotných zmien s výstupom údajov v grafickej podobe.
Integrované snímače teploty s analógovým výstupom napätia.
So všetkou rozmanitosťou týchto zariadení sú v nich obsiahnuté nasledujúce všeobecné vlastnosti:
- výstupné napätie je lineárne úmerné teplote;
- snímače majú kalibrovaný faktor stupnice pre závislosť výstupného napätia od teploty; ďalšia kalibrácia sa nevyžaduje.
Jednoducho povedané, na meranie teploty pomocou snímačov tohto typu je potrebné merať napätie na výstupe a pomocou stupnice ho prevádzať na teplotu.
Existuje veľa tepelných senzorov, ktoré spadajú do tejto kategórie. Vyzdvihol by som nasledujúce typy teplotných senzorov:
- LM35;
- TMP35;
- TMP36;
- TMP37.
Toto sú najbežnejšie, pomerne presné a lacné zariadenia. O týchto senzoroch som napísal články. Môžete sa pozrieť na odkazy LM35 a TMP35, TMP36, TMP37. Sú tu podrobne popísané všetky parametre, technické vlastnosti zariadení, typické schémy zapojenia.
Pripojenie snímačov teploty k mikrokontroléru.
Najvýhodnejšie je používať snímače v balení TO-92.
Schéma zapojenia zariadení v balíku TO-92 vyzerá takto.
Všetky uvedené snímače budú pracovať podľa tejto schémy. Informácie o ďalších schémach zapínania teplotných snímačov nájdete na odkazoch LM35 a TMP35, TMP36, TMP37.
Základné parametre, rozdiely snímačov.
Základné rozdiely medzi uvedenými snímačmi sú navzájom:
- TMP36 je jediný z uvedených teplotných snímačov schopný merať záporné teploty.
- Senzory majú rôzne rozsahy merania teploty.
Hovoríme o teplotných snímačoch pripojených podľa vyššie uvedeného diagramu. Napríklad existuje spínací obvod LM35, ktorý umožňuje merať záporné teploty. Je však náročnejšie na implementáciu a vyžaduje si ďalšiu moc. Pre negatívne teploty je lepšie používať TMP36.
Hlavné parametre teplotných snímačov LM35, TMP35, TMP36, TMP37 pre tento okruh som zhrnul do tabuľky.
Typ | Rozsah merania teploty, ° C | Ofset výstupného napätia, mV | Koeficient stupnice, mV / ° C | Výstupné napätie pri +25 ° C, mV |
LM35, LM35A | 0 … + 150 | 0 | 10 | 250 |
LM35C, LM35CA | 0 … + 110 | 0 | 10 | 250 |
LM35D | 0 … + 100 | 0 | 10 | 250 |
TMP35 | + 10 … + 125 | 0 | 10 | 250 |
TMP36 | — 40 … + 125 | 500 | 10 | 750 |
TMP37 | + 5 … + 100 | 0 | 20 | 500 |
Pre všetky snímače teploty môže byť výstupné napätie iba kladné, ale kvôli predpätiu je TMP36 schopný merať záporné teploty. Nulové napätie na svojom výstupe zodpovedá teplote -40 ° C a pri výstupnom napätí 0,5 V bude teplota 0 ° C. TMP36 považujem za užívateľsky najpríjemnejší analógový snímač teploty I / C a používam ich pomerne široko.
Arduino projekt teplomeru na teplotných senzoroch LM35, TMP35, TMP36, TMP37.
Vyvinieme teplomer, ktorý bude:
- V samostatnom režime zobrazí hodnotu teploty na štvormiestnom sedemsegmentovom svetelnom indikátore (LED).
- Odošlite aktuálnu hodnotu teploty do počítača. Môžete to pozorovať pomocou monitora sériového portu Arduino IDE.
- Pomocou špeciálneho programu najvyššej úrovne (napísal som ho): zobrazte nameranú teplotu na monitore počítača.
- zaregistrujte zmeny teploty a graficky ich zobrazte.
Obvod teplomera založený na doske Arduino UNO R3.
Je potrebné sa pripojiť k doske Arduino:
- štvormiestny sedemsegmentový LED indikátor v multiplexovanom režime;
- teplotný snímač TMP36 alebo podobný.
Zvolil som LED indikátor typu GNQ-3641BUE-21. Je svetlý, veľkosť optimálna pre túto úlohu. Pripojili sme ho k doske Arduino v lekcii 20. V tejto lekcii si môžete pozrieť dokumentáciu k indikátoru, schémy pripojenia. K dispozícii je tiež popis knižnice na ovládanie sedemsegmentových LED indikátorov.
Obvod teplomeru založený na doske Arduino UNO R3 vyzerá takto.
LED indikátor je pripojený k radiču v multiplexovanom režime (lekcia 19, lekcia 20).
Teplotný snímač je pripojený k analógovému vstupu A0. Kondenzátor C1 - blokujúce napájanie snímača, R1 a C2 - najjednoduchší analógový filter. Ak je tepelný senzor nainštalovaný v blízkosti mikrokontroléra, potom môže byť filter vylúčený z okruhu.
TMP35, TMP36, TMP37 umožňujú prácu na záťaži s kapacitou až 10 nF a LM35 - nie viac ako 50 pF.Preto, ak je snímač pripojený k regulátoru dlhým vedením so značnou kapacitou, musí byť na strane snímača nainštalovaný odpor R1 a na strane regulátora kondenzátor C2. Blokovací kondenzátor C1 je vždy nainštalovaný vedľa teplotného snímača.
V každom prípade bude digitálne filtrovanie signálu zo snímača implementované v programe regulátora.
Aby som to otestoval, namontoval som zariadenie na nepájivú dosku.
Výpočet teploty.
Princíp je jednoduchý. Ak chcete vypočítať teplotu snímačov LM35, TMP35, TMP37, musíte:
- Prečítajte si kód ADC.
- Vypočítajte napätie na výstupe snímača ako Uout = N * Uion / 1024, kde
- Uout - napätie na výstupe teplotného snímača;
- N - kód ADC;
- Uion - napätie zdroja referenčného napätia (pre náš obvod 5 V);
- 1024 - maximálny počet gradácií ADC (10 bitov).
Vzorce na výpočet teploty pre rôzne snímače s referenčným napätím 5 V vyzerajú takto.
Typ snímača | Vzorec na výpočet teploty T (° C) s referenčným napätím 5 V z kódu ADC - N. |
LM35, TMP35 | T = (N * 5/1024) / 0,01 |
TMP36 | T = (N * 5/1024 - 0,5) / 0,01 |
TMP37 | T = (N * 5/1024) / 0,02 |
Ak sa používa digitálne filtrovanie, potom je tiež potrebné vziať do úvahy jeho koeficient. Musíte tiež pochopiť, že vzorce sú písané v ľahko zrozumiteľnej forme. V skutočnom programe je lepšie vopred vypočítať konštantnú časť vzorca a použiť ju ako koeficient. Toto je podrobne opísané v lekcii 13. K dispozícii sú tiež informácie o čítaní a digitálnom filtrovaní analógového signálu.
Program teplomera Arduino.
Program by mal vykonávať nasledujúce funkcie:
- načítať hodnoty kódov ADC;
- spriemerujte ich (digitálne filtrovanie), aby ste zvýšili odolnosť proti šumu;
- vypočítať teplotu z kódu ADC;
- zobraziť hodnotu teploty na štvormiestnom LED indikátore vo formáte: značka;
- desiatky;
- Jednotky;
- desatiny ° C
Vývoj programu je založený na obvyklom princípe:
- je implementované prerušenie časovača s periódou 2 ms;
- v ňom nastáva paralelný proces: regenerácia LED indikátora;
- čítanie kódov ADC a spriemerovanie ich hodnôt;
- softvérové časovače.
- synchronizácia z časovača programu 1 s;
Ak si prečítate predchádzajúce lekcie, potom bude všetko jasné.
Knižnice MsTimer2.h a Led4Digits.h musia byť pripojené. Knižnice si môžete stiahnuť z lekcie 10 a 20. K dispozícii je tiež podrobný popis a príklady. V lekcii 13 nájdete informácie o meraní napätia analógových vstupov.
Okamžite uvediem náčrt programu.
// teplomer, senzory LM35, TMP35, TMP36, TMP37 #include #include
#define MEASURE_PERIOD 500 // doba merania, * 2 ms #define ADC_RESOLUTION 4,8828125 // rozlíšenie ADC, mV (5000 mV / 1024) #define OFFSET 500. // offset výstupného napätia, mV (pre TMP36) #define SCALE_FACTOR 10. / / koeficient stupnice, mV (pre TMP36)
int timeCount; // počítadlo času merania long sumA0; // premenná na sčítanie ADC kódov long avarageTemp; // priemerná hodnota teploty (súčet kódov ADC, priemerná hodnota * 500) boolean flagTempReady; // znak pripravenosti merania teploty plavat teplota; // vypočítaná teplota, ° C
// typ indikátora 1; výstupy kategórií 5,4,3,2; kolíky segmentov 6,7,8,9,10,11,12,13 Led4Digits disp (1, 5,4,3,2, 6,7,8,9,10,11,12,13);
void setup () {MsTimer2 :: set (2, timerInterrupt); // nastavenie periódy prerušenia časovača na 2 ms MsTimer2 :: start (); // povoliť prerušenie časovača Serial.begin (9600); // inicializuje port, rýchlosť 9600}
void loop () {
if (flagTempReady == true) {flagTempReady = false; // údaje sú pripravené
// výpočet teploty teploty = (avarageTemp * ADC_RESOLUTION / 500. - OFFSET) / SCALE_FACTOR;
// zobrazenie teploty na ukazovateli if (teplota> = 0) {// pozitivna teplota disp.tisk ((int) (teplota * 10.), 4, 1); } else {// negativna teplota disp.digit [3] = 0x40; // mínus sa zobrazí disp.print ((int) (teplota * -1 * 10), 3, 1); } disp.digit [1] | = 0x80; // rozsvietime bod druhej číslice // prenesieme teplotu do počítača Serial.println (teplota); }}
// ————————————— obsluha prerušenia 2 ms void timerInterrupt () {disp.regen (); // regenerácia LED indikátora
// meranie priemernej teploty timeCount ++; // +1 počítadlo priemerujúcich vzoriek sumA0 + = analogRead (A0); // súčet kódov A0 kanála ADC
// skontroluje počet priemerujúcich vzoriek if (timeCount> = MEASURE_PERIOD) {timeCount = 0; avarageTemp = sumA0; // preťaženie strednej hodnoty sumA0 = 0; flagTempReady = true; // podpísať, že výsledok je pripravený}}
Náčrt si môžete stiahnuť z tohto odkazu:
Zaregistrujte sa a zaplaťte. Iba 40 rubľov. za mesiac pre prístup ku všetkým zdrojom stránky!
Načítava sa, kontroluje sa. Spustíme monitor sériového portu a skontrolujeme údaje v počítači.
Program je určený pre snímače TMP36, ale je ľahké sa prispôsobiť iným typom snímačov. K tomu stačí zmeniť hodnoty faktora mierky a offsetu, určené na začiatku programu príkazmi #define.
Typ snímača | Faktor a zaujatosť |
LM35, TMP35 | #define OFFSET 0. #define SCALE_FACTOR 10. |
TMP36 | #define OFSET 500. #define SCALE_FACTOR 10. |
TMP37 | #define OFFSET 0. #define SCALE_FACTOR 20. |
Rozlíšenie a presnosť teplomeru.
Rozlíšenie ADC v našom obvode je 5 V / 1024 = 4,88 mV.
Rozlíšenie teplomera:
- pri mierke 10 mV / ° C (snímače LM35, TMP35, TMP36) je nižší ako 0,5 ° C;
- pri faktore mierky 20 mV / ° C (sonda TMP37) je menej ako 0,25 ° C.
Celkom slušné parametre.
Čo sa týka chyby merania, tá je o niečo horšia.
Chyba merania samotných senzorov je:
- nie viac ako 0,5 ° C pre LM35;
- nie viac ako 1 ° C pre TMP35, TMP36, TMP37.
Chyba merania ADC dosky Arduino.
V našom prístroji sme použili referenčné napätie 5 V, t.j. napájacie napätie. V doskách Arduino UNO R3 sa napätie 5 V vytvára na lineárnom regulátore NCP1117ST50. Špecifikácie vo formáte PDF si môžete pozrieť na tomto odkaze NCP117.pdf. Stabilita výstupného napätia tohto mikroobvodu je dosť vysoká - 1%.
Tých. celková chyba merania teplomera nie je väčšia ako 2%.
Môže sa mierne zvýšiť meraním napätia 5 V na doske a nastavením rozlíšenia ADC v parametri nie na 5 V, ale na presnejšiu hodnotu. Na mojej doske sa ukázalo napätie 5,01 V. V mojom programe musíte opraviť:
#define ADC_RESOLUTION 4,892578 // rozlíšenie ADC, mV (5010 mV / 1024)
Použitie externej referencie napätia pre dosku Arduino.
Existuje však radikálny spôsob, ako zlepšiť presnosť aj rozlíšenie merania ADC. Toto je použitie externej referenčnej hodnoty napätia.
Najbežnejším zdrojom stabilného napätia je LM431, TL431 atď. Chystám sa napísať článok o tomto mikroobvode. Zatiaľ uvediem odkaz na informácie - LM431.pdf.
Prepínací obvod LM431 dám ako 2,5 V referenčné napätie pre dosku Arduino.
V programe musíte zmeniť riadok, ktorý určuje rozlíšenie ADC:
#define ADC_RESOLUTION 2.44140625 // rozlíšenie ADC, mV (2 500 mV / 1024)
A v setup () pripojte externú referenciu napätia:
analogReference (EXTERNÁ); // externé referenčné napätie
V dôsledku toho sa rozlíšenie zníži dvakrát a stabilita - rádovo. Rovnako je potrebné z dôvodu zvýšenia presnosti zmerať skutočné napätie LM431 pomocou voltmetra a opraviť ho v programe.
Takáto úprava teplomeru je absolútne nevyhnutná, ak je prístroj napájaný z nestabilizovaného zdroja energie s napätím blízkym 5 V, napríklad z galvanických batérií alebo nabíjateľných batérií. V tomto prípade nie je potrebné hovoriť o stabilite napájacieho zdroja a bez stabilizácie zdroja referenčného napätia bude meranie veľmi ľubovoľné.
Program teplomeru najvyššej úrovne.
Pohľad na prebiehajúce rady čísel v okne monitora IDE Arduino sa rýchlo nudí. Chcem iba vidieť hodnotu teploty. Pre praktické použitie teplomeru s počítačom musí byť navyše nainštalovaný softvér Arduino IDE. Nie všetky počítače ho majú. Ľudia sa tiež často zaujímajú o zmeny teploty, proces vykurovania alebo ochladzovania v priebehu času. Chcel by som mať možnosť zaregistrovať zmeny teploty a graficky ich zobraziť.
Za týmto účelom som napísal jednoduchý program najvyššej úrovne, ktorý:
- zobrazuje aktuálnu hodnotu teploty;
- registruje zmenu teploty s diskrétnosťou 1 s;
- zobrazuje informácie o teplotných zmenách v grafickej podobe.
Tento program je možné použiť ako s teplomerom z tohto článku, tak aj s teplomermi nasledujúcich lekcií s inými typmi snímačov.
Program pracuje pod operačnými systémami Windows 95, 98, XP, 7. Zvyšok som neskúšal.
Inštalácia aplikácie.
- Stiahnite si archívny súbor Thermometer.zip:
Zaregistrujte sa a zaplaťte. Iba 40 rubľov. za mesiac pre prístup ku všetkým zdrojom stránky!
- Rozbaľte ho do svojho pracovného priečinka. Priečinok môžete opustiť z archívu Teplomer.
Aplikácia sa skladá z dvoch súborov:
- Thermometer.exe - spustiteľný súbor;
- Conf.txt - konfiguračný súbor.
Nie je potrebné inštalovať program, stačí spustiť súbor Thermometer.exe.
Pripojenie teplomeru k počítaču.
Výmena dát medzi počítačom a radičom sa uskutočňuje cez port COM. Port môže byť skutočný alebo virtuálny.
Najpohodlnejším spôsobom je použitie virtuálneho portu, ktorý vytvára ovládač dosky Arduino. Port sa objaví, keď je doska pripojená k počítaču. Nemusíte spúšťať IDE Arduino. Číslo portu je možné zobraziť: Ovládací panel -> Systém -> Správca zariadení -> Porty (COM a LPT)
Mam COM5.
Počítač môžete pripojiť pomocou určitého typu mosta USB-UART. Používam moduly PL2303 USB UART Board. Ako sa pripojiť je napísané v článku o programe Monitorovať chladničku na prvku Peltier.
Ak má počítač štandardný port COM (rozhranie RS232), nemusíte inštalovať žiadne ovládače. Na pripojenie regulátora je v tomto prípade potrebné použiť prevodník úrovne RS232 - TTL, mikroobvody ADM232, SP232, MAX232 a podobne.
Existuje veľa možností pripojenia. Hlavná vec je, že COM port, virtuálny alebo skutočný, sa vytvorí na počítači.
Prvé spustenie programu.
Pred spustením programu musí byť v počítači už vytvorený virtuálny port COM. A keďže sa port vytvára pri pripájaní ku konektoru dosky Arduino, znamená to, že najskôr musíte dosku pripojiť k počítaču.
Potom spustite program Thermometer.exe. Niektorý port COM je zapísaný v konfiguračnom súbore programu. Program sa ho pokúsi otvoriť pri štarte. Ak to nefunguje, zobrazí správu s číslom chybného portu.
Kliknite na OK a otvorí sa okno programu. Namiesto teploty budú čiarky. Nie sú k dispozícii žiadne údaje.
Z ponuky (hore) vyberte režim výberu portu. Otvorí sa výberové okno.
Nastavte číslo portu pre svoju dosku. Každý port má napísaný svoj stav. Prirodzene, musíte si vybrať z portov označených ako „zadarmo“.
Zavrieť okno. Vybraný port COM sa uloží do konfiguračného súboru a bude sa volať vždy, keď sa program spustí. Nie je potrebné nastavovať port pri každom spustení programu.
Ak je doska zapnutá, program je načítaný, všetko funguje správne, potom by mala za sekundu pred hodnotou teploty blikať raz za sekundu kruhová LED. Bliká, keď prídu nové údaje.
Matrikárka.
V programe je záznamník, ktorý umožňuje sledovať dynamiku teplotných zmien. Rekordér sa automaticky zapne po spustení programu. Zaznamenáva hodnoty teploty v krokoch po 1 sekunde. Maximálny čas registrácie je 30 000 sekúnd alebo 8,3 hodiny.
Ak chcete zobraziť výsledky záznamu, stlačte kartu ponuky „Rekordér“.
Bol som to ja, kto ohrieval senzor spájkovačkou.
Fragment môžete zväčšiť výberom obdĺžnikovej oblasti so stlačeným pravým tlačidlom myši. Oblasť musí byť vybraná zľava doprava, zhora nadol.
Výberom oblasti zľava doprava, zdola nahor sa vráti zobrazenie všetkých grafických informácií. Je to jednoduché.
Tento program bude použitý v nasledujúcich troch lekciách s inými typmi projektov merania teploty.
V nasledujúcej lekcii budeme merať teplotu pomocou kremíkových senzorov série KTY81.
Predchádzajúca hodina Zoznam hodín Ďalšia hodina
Podporte projekt
2
Autor publikácie
offline 5 dní
Edward
139
Komentáre: 1584Publikácie: 161Registrácia: 13-12-2015
Termistor
Termistor je citlivý odpor, ktorý mení svoj fyzický odpor s teplotou. Termistory sú zvyčajne vyrobené z keramického polovodičového materiálu, ako je kobalt, mangán alebo oxid nikelnatý, a sú pokryté sklom. Sú to malé ploché zapečatené disky, ktoré reagujú pomerne rýchlo na každú zmenu teploty.
Vďaka polovodičovým vlastnostiam materiálu majú termistory negatívny teplotný koeficient (NTC), t.j. odpor klesá so zvyšujúcou sa teplotou. Existujú však aj PTC termistory, ktorých odpor rastie so zvyšujúcou sa teplotou.
Harmonogram termistora
Výhody termistorov
- Vysoká rýchlosť reakcie na zmeny teploty, presnosť.
- Nízke náklady.
- Vyšší odpor v rozsahu 2 000 až 10 000 ohmov.
- Oveľa vyššia citlivosť (~ 200 ohm / ° C) v rámci obmedzeného teplotného rozsahu až 300 ° C.
Teplotné závislosti odporu
Závislosť odporu na teplote je vyjadrená nasledujúcou rovnicou:
Kde A, B, C - toto sú konštanty (poskytované podmienkami výpočtu), R - odpor v ohmoch, T - teplota v Kelvinoch. Zmenu teploty môžete ľahko vypočítať zo zmeny odporu alebo naopak.
Ako používať termistor?
Termistory sú dimenzované na svoju odporovú hodnotu pri izbovej teplote (25 ° C). Termistor je pasívne odporové zariadenie, takže vyžaduje výrobu monitorovania výstupného napätia. Spravidla sú zapojené do série s vhodnými stabilizátormi tvoriacimi rozdeľovač sieťového napätia.
Príklad: Zvážte termistor s hodnotou odporu 2,2 K pri 25 ° C a 50 ohmov pri 80 ° C. Termistor je zapojený do série s odporom 1 kΩ cez napájanie 5 V.
Preto je možné jeho výstupné napätie vypočítať takto:
Pri 25 ° C, RNTC = 2200 ohmov;
Pri 80 ° C, RNTC = 50 ohmov;
Je však dôležité poznamenať, že pri izbovej teplote sú štandardné hodnoty odporu pre rôzne termistory odlišné, pretože sú nelineárne. Termistor má exponenciálnu zmenu teploty, a teda beta konštantu, ktorá sa používa na výpočet jeho odporu pre danú teplotu. Výstupné napätie a teplota rezistora sú lineárne spojené.
Pripojenie k doske Arduino
Ako už bolo spomenuté vyššie, teplotný snímač DS18B20 je možné pripojiť k doske Arduino dvoma spôsobmi (priamym a parazitickým). Okrem toho je možné na jeden vstup Arduino zavesiť jeden alebo celú skupinu snímačov. Začnime s najjednoduchšou možnosťou. Na obrázku nižšie je znázornený obvod na priame pripojenie jedného snímača k Arduino Nano.
Obrázok №3 - schéma priameho pripojenia jedného snímača
Všetko je tu dosť jednoduché. Napájame DS18B20 zo samotnej dosky Arduino a dodáva 5 V na pin Vdd snímača. Rovnakým spôsobom navzájom spojíme kolíky GND. Pripojte strednú svorku tepelného snímača napríklad k pinu D2 nášho Arduino Nano. Dátový výstup (DQ) môžete pripojiť k takmer ľubovoľnému vstupu Arduino, keď ste do náčrtu predtým napísali jeho číslo. Jediným a najdôležitejším bodom, ktorý treba venovať pozornosť, je prítomnosť 4,7k rezistora medzi plusom napájacieho zdroja a dátovým vedením teplotného snímača. Tento rezistor slúži na vytiahnutie dátovej linky do logickej jednotky a jeho absencia spôsobí poruchu algoritmu výmeny informácií. Hodnota 4,7k nie je veľmi kritická a dá sa zmeniť v určitých medziach, hlavnou vecou nie je nechať sa uniesť.
Pri priamom pripojení jedného snímača je všetko jasné, teraz budeme uvažovať o priamom pripojení skupiny snímačov k jednému pinu Arduina. Obrázok 4 zobrazuje príklad pripojenia 5 snímačov DS18B20. Tento počet môže byť ľubovoľný a je obmedzený iba časovým rámcom dopytovania každého z nich (750 ms).
Obrázok č. 4 - pripojenie skupiny snímačov DS18B20
Ako je zrejmé z vyššie uvedeného obrázku, absolútne všetky snímače na zbernici sú zapojené paralelne a pre celú skupinu existuje jeden pull-up odpor. Aj keď sú zmeny v obvode logické a minimálne, práca s niekoľkými teplotnými senzormi je z hľadiska zostavenia programu trochu náročnejšia. V takom prípade je potrebné osloviť každého zvlášť pomocou jedinečných adries.O programovaní každého z režimov sa bude diskutovať neskôr.
Režim parazitického napájania sa líši od priameho režimu tým, že senzory prijímajú energiu priamo z dátovej linky bez použitia priameho 5V. V takom prípade sú kolíky Vdd a GNG každého teplotného snímača navzájom spojené. Tento proces je jasnejšie znázornený na obrázku 5.
Obrázok 5 - pripojenie jedného snímača a skupiny snímačov v režime parazitného napájania z dátovej linky.
Rovnako ako v predchádzajúcich schémach, aj tu sa nachádza odpor 4,7 k, ktorý v tomto prípade hrá dvojitú úlohu, a to: vytiahnutie dátovej linky do logiky „1“ a napájanie samotného senzora. Možnosť takého začlenenia poskytuje špeciálny obvod zabudovaný do DS18B20 a vyrovnávací kondenzátor Cpp (obrázok 2). Niekedy to umožňuje uložiť 1 vodič v spoločnej slučke na pripojenie skupiny teplotných senzorov, čo hrá v niektorých projektoch významnú úlohu.
Po zvážení spínacích obvodov je čas prejsť na programovanie a tu môžete ísť tromi spôsobmi:
- Na prácu s modelom DS18B20 používajte pripravené a osvedčené knižnice;
- Komunikujte so senzorom priamo cez zoznam nainštalovaných príkazov;
- Napíšte svoju vlastnú nízkoúrovňovú knižnicu vrátane funkcií na prenos dátových bitov v časových úsekoch, ktoré sú uvedené v technickej dokumentácii.
Tretia možnosť je najťažšia a vyžaduje si štúdium veľkého množstva informácií. V rámci tohto článku sa zvážia prvé dve možnosti.
Odporové snímače teploty
Teplotné odporové snímače (RTD) sú vyrobené zo vzácnych kovov, napríklad z platiny, ktorých elektrický odpor sa mení s teplotou.
Detektory rezistívnej teploty majú kladný teplotný koeficient a na rozdiel od termistorov poskytujú vysokú presnosť merania teploty. Majú však slabú citlivosť. Pt100 je najdostupnejší snímač so štandardnou hodnotou odporu 100 ohmov pri 0 ° C. Hlavnou nevýhodou sú vysoké náklady.
Výhody takýchto senzorov
- Široký teplotný rozsah od -200 do 650 ° C
- Poskytnite vysoký prúdový výstup
- Lineárnejšie v porovnaní s termočlánkami a RTD
Názory
Tepelné senzory sú klasifikované podľa rôznych kritérií. V závislosti od inštalácie sú zabudované a externé.
Pre elektrické podlahy
Mechanické regulátory sa ľahko navrhujú a udržiavajú. Sú vhodné do malých priestorov. Nastavenie sa vykonáva pomocou kolieska alebo kľúča. Niektoré modely sú vybavené funkciou detskej poistky.
Jedinou nevýhodou je chýbajúca presná regulácia teploty.
Na vodné podlahy
Elektronické modely sú ideálne na reguláciu tepla z vodnej podlahy. Môžu regulovať teplotu na úrovni podlahy alebo v interiéri. Ovládanie vybavené displejom sa vykonáva pomocou tlačidiel. Elektronický regulátor umožňuje presnejšie nastaviť teplotu podlahy.
Na infračervené podlahy
Použitie digitálneho termostatu s infračerveným snímačom teploty môže znížiť spotrebu energie o 70%. Ovládanie sa vykonáva pomocou dotykovej obrazovky.
Drahé modely majú programátorskú funkciu. Cena dosahuje až 500 dolárov. Niektoré modely je možné ovládať cez internet.
Infračervené podlahy
Snímač teploty infračerveného podlahového kúrenia je namontovaný na rovnakom princípe ako v elektrických podlahách.
Je umiestnený medzi vykurovacími prvkami, v plastovej trubici. Alebo 15 cm od okraja fólie po grafitový pás pomocou hliníkovej pásky.
Termočlánok
Najčastejšie sa používajú snímače teploty termočlánku, pretože sú presné, pracujú v širokom rozmedzí teplôt od -200 ° C do 2 000 ° C a sú pomerne lacné. Termočlánok s drôtom a zástrčkou na fotografii nižšie:
Prevádzka termočlánku
Termočlánok je vyrobený z dvoch rozdielnych kovov, ktoré sú navzájom zvarené, aby sa vytvoril teplotný rozdiel potenciálov.Z teplotného rozdielu medzi týmito dvoma spojmi sa vytvára napätie, ktoré sa používa na meranie teploty. Rozdiel napätia medzi týmito dvoma spojmi sa nazýva Seebeckov efekt.
Ak majú obe zlúčeniny rovnakú teplotu, potenciál rozdielu v rôznych zlúčeninách je nulový, t.j. V1 = V2. Ak sú však križovatky pri rôznych teplotách, výstupné napätie v pomere k teplotnému rozdielu medzi týmito dvoma križovatkami sa bude rovnať ich rozdielom V1 - V2.