|
Sistem de achizitie a temperaturii cu microcontroller Atmel AVR Atmega8
1.Tema
Sa se proiecteze un subsistem de masura a temperaturii cu urmatoarele caracteristici:
-domeniul temperaturilor masurate ;
-rezolutie 8 biti;
-precizie bit (eroarea de cuantizare LSB);
-domeniul temperaturilor de functionare;
-rezultatul va fi afisat pe un grup de leduri BCD cu 7 segmente;
Pentru realizarea acestui subsistem se vor utiliza:
-termocuplu de tip K cu senzitivitatea -microcontroler Atmel AVR Atmega8;
2. Schema bloc a subsistemului de masura
O schema bloc tipica pentru masurarea temperaturii cu ajutorul termocuplului este:
Componentele unui altfel de subsistem sunt:
3.Termocuplul tip K
Acesta este un termocuplu format din Cromel/Alumel si ofera o tensiune proportionala cu diferenta de temperatura dintre jonctiunea de masura si jonctiunea rece. S-a ales un termocuplu produs de Pyromation care are urmatoarea caracteristica tensiune-temperatura.
Se observa ca aceasta caracteristica este foarte apropiata de una liniara dar nu este perfect liniara:
Eroarea relativa avand urmatoarea distributie:
4. Compensarea efectului jonctiunii reci
Deoarece prin cerintele de proiectare se impune functionarea sistemului de masura la temperaturi in domeniul [0-40 grade C] efectul introdus de jontiunea rece va fi aparitia unei tensiuni de deplasare fata de caracteristica de catalog.
Aceasta tensiune de decalaj poate fi compensata printr-o alta tensiune de semn opus care sa varieze asemanator. Cea mai simpla metoda este conectarea in serie cu termocuplul a unei punti dezechilibrate cu un termistor NTC.
5. Amplificarea si liniarizarea caracteristicii tensiune-temperatura
Tensiunea preluata de la termocuplu si proportionala cu temperatura trebuie sa fie amplificata pentru ca apoi sa poata fi prelucata de blocul digital.
Am vazut ca termocuplul nu are o caracteristica tensiune-temperatura perfect liniara iar erorile nu se incadreaza in limita impusa de cerintele de proiectare. De aceea, este nevoie ca acest inconvenient sa fie inlaturat.
Exista doua posibilitati de a scade erorile introduse de caracteristica neliniara a termocuplului:
5.1. Liniariziarea analogica a caracteristicii
In etapa de amplificare a tensiunii se poate corecta neliniaritatea caracteristicii prin aproximarea acesteia cu 2-3 segmente de dreapta.
Aceasta metoda presupune gasirea punctelor de pe caracteristica pentru care eroarea relativa este maxima si aproximarea caracteristicii cu niste segmente de dreapta care trec prin aceste puncte. Matematic, se poate reduce eroarea relativa de la 5-6% la sub 1%.
Din punct de vedere electronic aceasta presupune amplificarea diferentiata pe diverse portiuni a tensiunii data de termocuplu. Acest lucru se face prin folosirea unor detectoare monoalternanta care de la un anumit prag sa inceapa sa adauge la amplificarea circuitului printr-un sumator inversor.
O astfel de schema realizeza amplificarea diferentiata pe portiuni, necesara liniarizarii caracteristicii termocuplului.
Dezavantejele unei astfel de scheme sunt:
1.numarul mare de rezistemte, care induc erori prin tolerantele lor;
2.numarul mare de amplificatoare operationale care sunt scumpe si aunevoie de compensarea efectului tensiunii de offset si al curentilor de polarizare;
3.numarul mare de referinte de tensiune precise pentru alegerea punctelor din care se schimba amplificarea;
4.calibrare foarte greu de realizat a sistemului de masura;
5.evaluare foarte imprecisa e erorilor pe care le introduc componentele;
Aceste lucruri recomanda cautarea unui alt mod de a compensa neliniaritatea caracteristicii termistorului.
5.2. Compensarea caracteristicii neliniare prin prelucrarea numerica
Pentru a evita dezavantajele compensarii analogice a caracteristicii neliniare, aceasta se poate face la prelucrarea numerica a datelor. Astfel, se poate memora in microcontroler tabelul de echivalenta temperatura-tensiune pentru termocuplul. Avand acest tabel si o tensiune de intrare se poate determina temperatura cu o eroare minima.
In acest caz eroarea se datoreaza mai mult efectului cuantizarii pe un numar finit de biti decat identificarii punctului pe caracteristica temperatura-tensiune.
Se observa ca in acest caz ne incadram in cerintele proiectului de a avea erori mai mici de 1bit+1% deoarece eroarea este data in principal de pasul de cuantizare (erorile de neliniaritate sunt minimizate prin memorarea tabelului de variatie in memoria microcontrolerului).
Acest lucru ne ajuta foarte mult deoarece nu mai avem nevoie nici sa facem operatii pentru a determina temperatura din valoarea esantionata a tensiunii. In plus, un alt avantaj il constituie posibilitatea de a memora tabela temperatura-tensiune direct BCD (zecimal codat binar). Vom avea nevoie de 256 * 4 nibles = 512 octeti. Acestia se pot mentine in doua pagini (prima pagina va cuprinde primele doua cifre ale temperaturii in zecimal codat binar iar a doua celalalte doua cifre), fapt ce permite un acces rapid la aceste valori prin adresare relativa la bazele tabelelor.
5.3. Amplificarea tensiunii
Avem nevoie sa aducem tensiunea in plaja de 0 - 5 V. Pentru aceasta vom folosi un amplificator de instrumentatie care sa ne dea o amplificare A=121.
O astfel de schema este:
6. Convertorul A/D
Tensiunea amplificata provenind de la termocuplu am vazut ca trebuie convertita intr-un numar. Deoarece avem o plaja de tensiune de 0 - 5 V, pentru a avea rezultatele cele mai bune avem nevoie de un convertor cu o tensiune de referinta de 5 V.
Un astfel de convertor este ADC0820 care se alimenteaza la 5V si poate converti pe 8 biti tensiuni intre 0 si 5V intr-un timp de . Eroare totala este si se preteaza la interfatarea cu un microcontroler.
Acest convertor are un circuit propriu de esantionare/memorare, putand converti tensiuni cu rata de variatie de pana la . Puterea disipata este foarte mica (75mW) si tot ceea ce trebuie sa punem la dispozitie este:
1.tensiune de alimentare 5V;
2.tensiune de referinta 5V(de precizia acesteia depind erorile introduse in circuit);
3.comanda de conversie.
7. Microcontrollerul
Pentru controlul intregului subsistem si pentru prelucrarea numerica a datelor se utilizeaza un microprocesor ATMEGA8 produs de ATMEL. Acesta are ca principale caracteristici:
1.tensiune de alimentare 2,7 - 6V;
2.frecventa de ceas maxima 24Mhz;
3.128 de octeti de memorie RAM interna;
4.doi kiloocteti de memorie FLASH (programabila/reprogramabila electric);
5.15 linii de intrare/iesire a datelor (din care una rezervata pentru comparatorul analogic intern);
Programul si tabelele de conversie tensiune-temperatura se incarca in memoria flash interna la programarea microcontrolerului. Tablele se scriu la sfarsitul memoriei flash, ele ocupand 2*256*8 biti = 512 octeti si continand codurile BCD ale temperaturilor date in tabel. Programul se incarca de la adresa zero a memoriei flash.
Functiile microcontrolerului sunt:
1.sa comande conversia tensiunii intr-o valoare numerica;
2.sa preia rezultatul conversiei (pe 8 biti);
3.sa trimita la sistemul de afisaj codul corespunzator tensiunii ce va fi afisata ( teoretic pe 16 biti dar tinand cont ca avem codare BCD a patru cifre din care una nu poate fi decat zero sau unu sunt suficienti 13 biti - se face astfel economie de linii de iesire ).
Pinii microcontrolerului sunt dispusi in modul urmator:
Pentru semnalul de tact avem nevoie si de un oscilator cu cuartz (de 12 MHz) care se va lega pe pinii corespunzatori.
8. Sistemul de afisaj
Sitemul de afisaj este are nevoie de 3 si ½ digiti. El poate primi direct codul BCD al numarului ce urmeaza sa fie afisat si decodarea si afisarea se face prin logica interna.
La acest tip de sistem de afisaj este disponibil un control al stralucirii.
9. Alimentarea circuitului si tensiunile de referinta
Pentru alimentarea intregului sistem avem novie de urmatoarele tensiuni:
a. 5V pentru alimentarea convertorului A/D, a microcontrolerului, a sistemului de decodare si afisaj si a referintei de tensiune;
b. -10 .. +10V alimentare diferentiala pentru amplificatoarele operationale;
Este suficient deci sa avem o sursa de alimentare capabila sa ofere o tensiune diferentiala de -10 .. +10V, tensiunea de +5V putanduse obtine printr-o divizare a tensiunii de alimentare.
Pentru tensiunile de referinta (din circuitul de compensare a efectului jonctiunii reci si de la convertorul A/D) se utilizeaza o referinta de tensiune de tip REF02 produsa de BURR-BROWN. Aceasta se alimenteaza la 10V si prezinta la iesire o tensiune de 5V stabilizata, insensibila la variatiile de temperatura sau de sarcina. Precizia acestei referinte este iar modalitatea de conectare este:
BIBLIOGRAFIE
Aparate Electronice de Masura si Control - M.Bodea, I.Mihut, L.Turic, V.Tiponut, Ed. Did. si Ped., Bucuresti - 1985
Specificatii de catalog:
ATMEL pentru ATMEGA8
NATIONAL SEMICONDUCTORS pentru ADC0820 si LM725
BURR-BROWN pentru REF02
Cataloage de vanzare:
DIGIKEY pentru componentele pasive, cuartz si sistemul de afisaj
Internet: http://micro.referate.bubble.ro/achizitie_temp_atmel/