Referat Fizica. Sistem de achizitie a temperaturii cu microcontroller Atmel AVR Atmega8

Incarcat la data: 12 Mai 2007

Autor: Gabi Dobocan

Pret: 50 credite

Sistem de achizitie a temperaturii cu microcontroller Atmel AVR Atmega8 1. Tema de proiectare 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: -Termocuplul de tip K Asigura transformarea marimii masurate neelectrice (temperatura) intr-o marime electrica (o tensiune) a carei valoare poate fi usor determinata. -Blocul de compensare a efectului jonctiunii reci Deoarece termocuplul asigura o relatie de legatura intre diferenta de temperatura dintre jonctiunea de masura si cea de referinta iar domeniul de lucru este destul de larg, trebuie avut in vedere si compensat efectul pe care il introduce variatia temperaturii jonctiunii reci. -Blocul de amplificare si liniarizare a caracteristicii Teoretic termocuplul are o sensibilitate constanta . Practic, caracteristica sa nu este perfect liniara iar acest lucru trebuie avut in vedere si compensat. -Convertorul A/D Asigura conversia tensiunii intr-un numar care apoi poate fi prelucrat pentru a determina valoarea marimii masurate. -Microcontrolerul Asigura controlul si coordonarea celorlalte componente ale subsistemului si, in plus, face toate prelucrarile numerice necesare determinarii rezultatului. -Sistemul de afisaj Acesta asigura reprezentarea rezultatului masuratorii. 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. Sensibilitate tipica pentru acesta este . S-a ales un termocuplu produs de Pyromation care are urmatoarea caracteristica tensiune-temperatura (pentru o temperatura a jonctiunii reci de ): Se observa ca aceasta caracteristica este foarte apropiata de una liniara dar nu este perfect liniara: eroarea relativa avand urmatoarea distributie: cu valori ce depasesc limitele impuse de cerintele de proiectare. 4. Compensarea efectului jonctiunii reci Deoarece prin cerintele de proiectare se impune functionarea sistemului de masura la temperaturi in domeniul 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. Din conditia ca tensiunea de dezechilibru sa se anuleze cu tensiunea de decalaj a termocuplului rezulta: considerand si alegand un termistor de tip PANASONIC ERT-D2FGL202S cu rezistenta nominala de si un coeficient de variatie cu temperatura de rezulta ca avem nevoie de niste rezistente: de mare precizie (toleranta 1%). 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: -numarul mare de rezistemte, care induc erori prin tolerantele lor -numarul mare de amplificatoare operationale care sunt scumpe si au nevoie de compensarea efectului tensiunii de offset si al curentilor de polarizare -numarul mare de referinte de tensiune precise pentru alegerea punctelor din care se schimba amplificarea -calibrare foarte greu de realizat a sistemului de masura -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. Considerand o tensiune de intrare amplificata astfel incat sa fie adusa in domeniul 0 5V si facand cuantizarea pe 8 biti cu o referinta de 5V, se obtine urmatorul tabel de variatie temperatura-tensiune: Vin [V]T [ ] Vin [V]T [ ] Vin [V]T [ ] Vin [V]T [ ] Vin [V]T [ ] Vin [V]T [ ] Vin [V]T [ ] Vin [V]T [ ] 000.313620.6271250.941891.2532541.5673161.883782.194439 0.0230.333660.6461290.961931.2732581.5863201.93822.213443 0.03970.353700.6661330.9791971.2932621.6063241.9193862.233447 0.059110.372740.6861370.9992011.3122651.6263281.9393902.252451 0.078150.392780.7051411.0182051.3322691.6453321.9593942.272455 0.098190.411820.7251451.0382091.3512731.6653361.9783972.292459 0.118230.431860.7441491.0582141.3712771.6843401.9984012.311462 0.137270.45900.7641531.0772181.3912811.7043442.0174052.331466 0.157310.47930.7831571.0972221.412851.7243472.0374092.35470 0.176350.49970.8031611.1162261.432891.7433512.0574132.37474 0.196390.5091010.8231651.1362301.4492931.7633552.0764172.389478 0.215430.5291050.8421691.1562341.4692971.7823592.0964202.409481 0.235470.5481090.8621731.1752381.4893011.8023632.1154242.429485 0.255510.5681130.8811771.1952421.5083051.8213672.1354282.448489 0.274540.5881170.9011811.2142461.5283091.8413712.1544322.468493 0.294580.6071210.9211851.2342501.5473121.8613742.1744362.487497 Vin [V]T [ ] Vin [V]T [ ] Vin [V]T [ ] Vin [V]T [ ] Vin [V]T [ ] Vin [V]T [ ] Vin [V]T [ ] Vin [V]T [ ] 2.5075002.825613.1346223.4476833.767454.0748084.3878724.701937 2.5275042.845653.1536263.4676873.787494.0938124.4078764.72941 2.5465082.865693.1736303.4866913.87534.1138164.4268804.74945 2.5665122.8795723.1926333.5066953.8197574.1338204.4468844.759949 2.5855162.8995763.2126373.5256993.8397614.1528244.4668884.779953 2.6055192.9185803.2326413.5457033.8587654.1728284.4858924.799957 2.6255232.9385843.2516453.5657063.8787694.1918324.5058964.818961 2.6445272.9575883.2716493.5847103.8987734.2118364.5249004.838965 2.6645312.9775913.296533.6047143.9177774.2318404.5449044.857969 2.6835352.9975953.316563.6237183.9377814.258444.5649084.877975 2.7035383.0165993.336603.6437223.9567844.278484.5839124.896979 2.7225423.0366033.3496643.6637263.9767884.2898524.6039164.916983 2.7425463.0556073.3696683.6827303.9967924.3098564.6229204.936987 2.7625503.0756113.3886723.7027344.0157964.3288604.6429244.955992 2.7815543.0956143.4086763.7217374.0358004.3488644.6619294.975996 2.8015573.1146183.4286793.7417414.0548044.3688684.6819334.9941000 Care reprezentat grafic, fata de caracteristica ideala, liniara: In acest caz eroarea absoluta este de : Iar eroarea relativa are alura: 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: Cu amplificarea reglabila , unde vom folosi urmatoarele componente: - semireglabil,din el se face ajustarea amplificarii la valoarea dorita - cu toleranta de 1% - cu toleranta de 1%. Amplificatorul operational se alege de tip LM725 produs de NATIONAL SEMICONDUCTORS care ofera performante foarte bune si chiar si posibilitatea de compensare a tensiunii de offset si a efectului curentilor de polarizare. 5.4. Exemplu de functionare Pentru o temperatura de Termocuplul ne va da o tensiune de intrare: care amplificata este: dupa conversia analogica va rezulta numarul 141 iar la adresele si vom gasi cifrele corespunzatoare temperaturii indicate de sistem, care in acest caz 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: -tensiune de alimentare: 5V -tensiune de referinta: 5V (de precizia acesteia depind erorile introduse in circuit) -comanda de conversie Conversia incepe numai daca , cand pinul este pus la 0 logic. La sfarsitul conversiei convertorul pune la 0 logic pinul si semnalizeaza pe pinul sfarsitul conversiei. 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: -tensiune de alimentare 2,7 6V -frecventa de ceas maxima 24Mhz -128 de octeti de memorie RAM interna -2 kiloocteti de memorie FLASH (programabila/reprogramabila electric) -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: -sa comande conversia tensiunii intr-o valoare numerica -sa preia rezultatul conversiei (pe 8 biti) -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 1 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: -5V pentru alimentarea convertorului A/D, a microcontrolerului, a sistemului de decodare si afisaj si a referintei de tensiune --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: 10. Bibliografie Cursuri: 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 Anexa 1. Modalitatea de calibrare Calibrarea sistemului de masura se face prin reglarea amplificarii din blocul analogic. Pentru aceasta s-a prevazut amplificatorul de instrumentatie cu semireglabilul . Calibrarea se poate punand la intrarea amplificatorului de instrumentatie o tensiune fixa si urmarind reglarea amplificarii pana la valoarea dorita. Pentru a nu modifica prea mult structura sistemului se poate prevedea un comutator spre o tensiune divizata din referinta pana la capatul de scara al termocuplului (41,276 mV) urmarind ca pe sistemul de afisaj sa se obtina trecerea la valoarea de cap de scara de . Anexa 2. Programarea microcontrolerului start: // achizitia tensiunii achizmovP3.5, # 0// pune bucla:movC, P3.7// citeste RDY si asteapta sa devina 1 jbC, @prelucr nop jmp@bucla // citirea valorii prelucr:movP3.5, # 1// inhiba conversia movA, P1// se preia valoarea convertita movR1, A movDPTR, # 0200H// incarca adresa tabelei cu primele // cifre movcA, @DPTR+A// se citeste codul primelor cifre // din tablela movR2, A// se salveaza codul movA, R1 movDPTR, # 0300H// se iau si codurile pentru celalalte // cifre movcA, @DPTR+A movR3, A // transmiterea codurilor spre afisaj afis:movP1, R3// ultimele doua cifre se transmit // complet movP3.0, R2.0// din primele doua cifre se mov P3.1, R2.1// se trasmit doar cinci biti movP3.2, R2.2 movP3.3, R2.3 movP3.4, R2.4 // se reia ciclul de masura

Textul de mai sus reprezinta un extras din "Referat Fizica. Sistem de achizitie a temperaturii cu microcontroller Atmel AVR Atmega8". Pentru versiunea completa a documentului apasa butonul Download si descarca fisierul pe calculatorul tau. Prin descarcarea prezentei lucrari stiintifice, orice utilizator al site-ului www.studentie.ro declara si garanteaza ca este de acord cu utilizarile permise ale acesteia, in conformitate cu prevederile legale ablicabile in domeniul proprietatii intelectuale si in domeniul educatiei din legislatia in vigoare.

In cazul in care intampini probleme la descarcarea fisierului sau documentul nu este nici pe departe ceea ce se doreste a fi te rugam sa ne anunti. Raporteaza o eroare

Important!

Referatele si lucrarile oferite de Studentie.ro au scop educativ si orientativ pentru cercetare academica.

Iti recomandam ca referatele pe care le downloadezi de pe site sa le utilizezi doar ca sursa de inspiratie sau ca resurse educationale pentru conceperea unui referat nou, propriu si original.

Sandale casual dama ECCO Touch Plateau (Negre) Sandale casual dama ECCO Touch Plateau (Negre) Sandalele ECCO Touch Plateau sunt confectionate din piele moale cu detalii metalice(tinte). Sunt...