Măsurarea temperaturii folosind ntc avr termistorului microcontroler

Click aici pentru a citi acest articol în limba engleză.

O opțiune este de a utiliza termistorul de măsurare a temperaturii. Printre avantajele termistorul poate sublinia importanța coeficientului de temperatură, adică o modificare semnificativă rezistență în funcție de temperatura (de ordinul a 2-10% pe Kelvin). Termistoare poate fi de două tipuri: un coeficient de temperatură pozitiv (PTC, pozitiv Coeficient de temperatură), adică, creșterea rezistenței sale cu creșterea temperaturii și cu un negativ (NTC, coeficient negativ de temperatură) - reducerea rezistenței cu creșterea temperaturii. Se merge în acest articol despre al doilea, precum și cu privire la utilizarea lor pentru măsurarea temperaturii în combinație cu microcontrolere AVR

Caracteristicile termistor NTC

Termistoare sunt caracterizate printr-un număr de parametri, cum ar fi curentului maxim admisibil, precizia rezistenței la o anumită temperatură (în mod tipic la 25 ° C). Unul dintre parametrii care caracterizează gradul de rezistență la modificări în funcție de temperatura este coeficientul de temperatură al sensibilității. B. denotat Acest raport se calculează pe baza valorilor de impedanță la două temperaturi specifice. In multe cazuri, aceste temperaturi selectate 25 ° C și 100 ° C, In general, temperaturile utilizate la calcularea coeficientului indicat după literă, cum ar fi B25 / 100. Coeficientul B este măsurată în grade Kelvin, și se calculează cu următoarea formulă:

unde R1 și R2 - valorile rezistenței la temperaturi respectiv T1 și T2. exprimată în grade Kelvin.

Din această formulă rezultă conversa:

Calculul temperaturii

Termistoare au un grad ridicat de parametri neliniaritate și termistoare modele diferite, chiar și cu valori identice de B25 / 100 poate modifica în mod diferit rezistența în funcție de temperatură. Prin urmare, formula [3] poate fi estimată temperatură aproximativ numai. În plus, această formulă implică calcule complexe, care necesită o mulțime de timp CPU, care este adesea considerată inacceptabilă. O abordare mai simplă și eficientă este de a stoca un tabel în care se înregistrează valorile calculate anterior returnate de ADC sau alte temperaturi. Pentru a conserva memoria poate stoca valori doar pentru unele puncte, pentru a căuta în tabelul de căutare binare, și de a obține valori intermediare prin interpolare liniară. Pentru măsurarea temperaturii mediului ambiant la termen de 0,3 ° C, suficient pentru a stoca valori în trepte de 5 ° C În cazul în care valorile sunt în termen de 16 biți (și ocupă 2 octeți), pentru stocarea unui astfel de tabel pentru intervalul de temperatură măsurată de la -30 la 70 de grade necesita doar 40 de octeți. precizia de măsurare poate fi îmbunătățită prin reducerea terenului mesei. Astfel, la etapa 2 ° C se poate obține o precizie de 0,1 ° C pe o gamă largă de măsurători.

Producătorii termistoare determină în mod obișnuit tabele arată modificarea rezistenței în funcție de temperatură. Valorile din aceste tabele sunt de asemenea asociate cu temperatura grila cu un anumit pas (de exemplu, 5 ° C). Folosind formulele [1] și [2] pot fi interpolate cu valori tabelare suficientă precizie.

Scheme electrice

conexiune termistor

Măsurarea temperaturii folosind ntc avr termistorului microcontroler

Cea mai simplă variantă este o diagrama de conectare a denominare A. La selectarea rezistor RA aproximativ egală cu rezistența termistorului în zona de măsurare a temperaturii, va varia valoarea U este mai aproape liniară, care va oferi o mai mare precizie în valorile din tabel de interpolare.

Alegerea valorile nominale și RA termistor, trebuie remarcat faptul că curentul care curge prin termistorului cauzează încălzire și, în consecință, indicația de distorsiune. Este de dorit ca puterea termistor mai puțin de 1 mW. Aceasta înseamnă că, la o tensiune U0 = 5V, RA ar trebui să fie de cel puțin 10 kohmi. rezistența la Termistorul în intervalul măsurat trebuie să fie aproximativ aceeași ordine.

Schema B este proiectat pentru a limita puterea disipată de termistor.

Schemele C și D sunt inverse A și B. Utilizarea lor are sens, dacă doriți să măsoare temperatura scăzută, atunci când valoarea de referință ADC (Uref) de mai jos U0.

Conectarea la ADC de microcontroler ATmega

Măsurarea temperaturii folosind ntc avr termistorului microcontroler

Conectează-te ADC Microcontroler ATmega

În ATmega controlere pentru a reduce zgomotul utilizând o linie de alimentare separată pentru ADC. Ghidul recomandă să conectați aceste intrări printr-un filtru: Inductanță L = 10mkGn, și un condensator C2 = 0,1mkF.

Microcontrolerul poate folosi fie tensiunea de referință pentru ADC extern sau intern (2,56V sau 1.1v) sau ca atare, pentru a utiliza tensiunea de alimentare ADC: AVCC. Atunci când se utilizează un stres extern, acesta trebuie să fie aplicat la Aref de intrare. Când utilizați AVCC sau tensiune 2,56V internă între această intrare și la sol trebuie plasate condensator (C1 pe diagrama). Instrucțiunea nu oferă o indicație clară pentru a selecta capacitatea condensatorului, am recomandăm să utilizați un condensator 0,1mkF ceramică și mai mult.

Pentru a reduce zgomotul de măsurare, am recomanda un termistor și conectați la tensiune paralel filtrată la AVCC și configurat pentru a utiliza această tensiune ca referință.

Mai mult, pentru a suprima zgomotul generate la liniile pot fi setate în condensator intervalul C3 1-100nF.

Rețineți că, în plus față de modulul ADC, de intrare AVCC feed-uri ca unele dintre porturile de intrare / ieșire (de obicei, aceleași constatări ca cea a ADC). Folosind aceste porturi la ieșire și conectarea la sarcina poate crea zgomot suplimentar în ADC.

Pentru a neutraliza zgomotul generat în ADC, aș recomanda să efectueze măsurători de mai multe ori și suma valorilor obținute. Microcontrolerele ATmega ADC - 10 biți. Rezumând 64 se extind rând de măsurători, rezultatul rămâne în întreg fără semn pe 16 biți, care nu necesită memorie suplimentară pentru stocarea unui tabel de valori. Pentru un număr mare de măsurători pot sta, de asemenea, în 16 biți, mutând corespunzător sau împărțirea rezultat.

Calcularea unui tabel de valori

atenția dumneavoastră este invitat la script pentru calcularea on-line a valorilor ADC din tabel.

Calcularea valorilor se realizează fie pe cele două valori ale temperaturii și a rezistenței, sau lista introdusă sau folosind una dintre performanțele R / T preîncărcat. În prezent, încărcate R Caracteristici / T Siemens / EPCOS termistori companiei. Selectați lista corespunzătoare.

Caracteristicile încărcate date în trepte de 5 ° C, alegerea o dimensiune a ochiurilor mai mică, valorile obținute prin interpolare din formulele [1] și [2] cele mai apropiate două valori în tabel.

La construirea tabel este actualizat în mod automat în consecință, un exemplu de cod sursă sub ea.

Atenție! Deoarece parametrii rezistorului în mare parte neliniar, calculul celor două valori ale rezistențelor sau prin valoarea și coeficientul este foarte aproximative. Valoarea temperaturii calculată în măsurarea temperaturilor ridicate sau scăzute poate apoi semnificativ (zece grade) diferite de real.

Pentru a găsi tipul adecvat de caracteristici R / T pentru termistor, descărcați documentația dată de către producător.

Tabel recapitulativ pentru unele modele termistoarele Siemens / Epcos enumerate mai jos. Dați clic pe caracteristicile R / T ale codului pentru a încărca parametrii din formularul de mai jos:

Rezistență la 25 ° C, ohmi

Măsurarea temperaturii folosind ntc avr termistorului microcontroler

tabel de date

* Din cauza neliniaritate de calcul a temperaturii parametrilor termistor pe baza tabelului construit din cele două puncte vor fi dur iar valoarea rezultată poate varia de zeci de grade ale temperaturilor efective ridicate și scăzute în măsurarea. Pentru măsurători precise pe o gamă largă pentru a selecta una dintre caracteristicile R / T preîncărcate corespunzătoare termistor, sau o listă a listelor R valorile / R1 manual.

R1, Impedanță la T1

R2, rezistență la T2

Datele din tabel: R / R1
deoarece T2, dimensiunea ochiului selectat.
Valori - Separator virgulă.

Valoarea rezistor RA

Valoarea RB rezistor

ADC rezultat Modificator

U0. tensiune de intrare

UREF. tensiunea de referință a ADC

Note la Tabelul:

Valorile îngroșate R / R1 și R, derivată din tabel. font Regular denota valorile obținute prin interpolare sau extrapolare formule.

ADC - valoarea rotunjită la ieșire ADC, ținând seama de multiplicare. Valorile care depășesc limita măsurătorile ADC nu sunt afișate.

I, uA - curent în circuit.

P, MW - putere disipată în termistori.

E - Evaluarea euristică posibilă a temperaturii erorilor calculată cauzată prin interpolare liniară a valorilor de masă, iar precizia limitată a ADC. Acesta permite selectarea parametrilor și pentru a permite circuitului, astfel încât eroarea are o valoare minimă în zona măsurată. Această estimare nu ia în considerare posibila zgomot datorită ADC, precum și eroarea cauzată de încălzirea termistorului datorită curenților scurgeri. Eroarea poate fi redusă cu un tabel de pas mai mică folosind ADC capacitate mai mare sau prin calcularea mediei numărului mare de măsurători, și selectarea valorilor nominale ale rezistenței în circuit.

tabelul corespunzător Cod

exemplu de utilizare

Următorul exemplu este utilizat pentru indicatorul de ieșire semisigmentny.

Cum de a lucra cu indicatorul, se referă la alte articolul meu.

Măsurarea temperaturii folosind ntc avr termistorului microcontroler