Merenje temperature iz programa mikrokontrolera moguće je preko preciznih digitalnih termometara kao što je DS1820 (DS18B20, DS18S20…), u rasponu od -55ºC do 125ºC.
Jedna od alternativa jeste upotreba NTC otpornika (termistora), čija otpornost opada kako temperatura raste, i obrnuto. Neki od njih mogu se koristiti za merenja u širem rasponu temperatura. Međutim, promena otpora u zavisnosti od temperature kod NTC termistora nije linearna. Na primer, dva puta niži otpor ne znači da je temperatura porasla dvostruko, nego je porasla u nekoj meri koja zavisi od svojstava konkretnog termistora.
Koristi se više metoda da se ovo reši generalnim opisivanjem krive zavisnosti R-T. Rezultati su primenjvi i u čisto analognim kolima.
Postoji vrednost ‘beta’ (β ili B), koja se po pravilu navodi u tehničkom listu NTC otpornika. A ako vrednost B nije već dostupna, ona se može dobiti tako što se izmere otpori R0 i R1 pri poznatim temperaturama T0 i T1 (u kelvinima). Na primer, ako je namera da se termistor koristi za merenje temperature neke elektronske komponente u radu, T0 bi mogla biti, recimo, 298ºK (25ºC), a T1 363ºK (90ºC).
β = ln(R1/R0) / (1/T1 – 1/T0)
Ubuduće, nepoznata temperatura T može se izračunati iz izmerenog otpora R:
1/T = 1/T0 + ln(R/R0) / β
Vrednost B (β) i sama donekle zavisi od temperature, pa zbog toga (i drugog) opisani metod nije preterano precizan.
(Mikrokontroleri načelno mere otpore preko delitelja napona na ADC ulazima. Ako postoji samo jedna granična temperatura, moguće je umesto ADC-a upotrebiti analogni komparator. Usput: ATmega328P ima na čipu senzor temperature, ali prilično neprecizan i uopšte nezgodan za primenu.)

Karakteristična kriva R-T, tj. odnos otpora i trenutne temperature termistora, opisuje se znatno preciznije metodom Stejnharta i Harta, kod koga se uzimaju tri izmerene vrednosti otpora pri poznatim temperaturama (obično na krajevima i na sredini ciljnog opsega) i izračunavaju se koeficijenti A, B, i C, karakteristični za dati NTC otpornik. Oni će se posle primenjivati u obrascu kojim će se vrednost bilo kog izmerenog otpora R pretvarati u vrednost temperature T :
http://ew.lens.unifi.it/notes/About_Steinhart-Hart_Equation.pdf
Metod je primenjiv i bez previše ulaženja u matematiku iza njega. Excel tabela sasvim olakšava izračunavanje koeficijenata, proveru itd:
https://edwardmallon.files.wordpress.com/2017/04/ntc-steinhart_and_hart_calculator.xls
Pretraga Interneta po ‘Arduino NTC temperature measurement’ (ili slično) daće više primera za Arduino.
Ili: linearizacija karakteristike paralelnim otporom, samo za pojedine primene, po izvesnoj ceni:
https://circuitcellar.com/resources/quickbits/ntc-thermistor-linearization-2/
Postoje mnoge vrste senzora temperature za koje sve ovo ne važi. Tek jedan primer: poznati KTY… i njihove zamene. Oni imaju pozitivan temperaturni koeficijent otpora, mnogo su više linearni (što je odlično), imaju u principu manje otpore (što ponekad nije dobro), skuplji su itd.
https://www.nxp.com/docs/en/data-sheet/KTY81_SER.pdf
https://docs.rs-online.com/2611/0900766b800910a6.pdf
https://www.mikrocontroller.net/attachment/243481/KTY-Philips.pdf
LM35… itd.





