Extras din proiect
I. Conditii impuse
1. Termometru digital cu 3 digiti care masoara 4 temperaturi
2. Gama de masura: -40˚ C÷100˚C
3. Eroarea de masura: ±0.5˚C ( dictata de traductorul de temperature )
4. Traductor de temperatura: LM335
5. Microcontroller:ATMega16
II. Schema Bloc
1. Traductor de temperatura LM335
2. Amplificator de semnal
3. Convertor analog digital
4. Microcontroller ATMega16
5. Buton de incrementare canal
6. Bloc de afijare numerica (4 digiti)
III. Senzorul de temperatura
Este folosit LM335 care este un sensor de temperatura ce poate fi calibrat cu usurinta.
Acest senzor functioneaza intre temperaturile -40ºC si 100ºC pastrandu-si liniaritatea si impedanta scazuta. Functionand ca o dioda Zener cu doua terminale avand tensiunea de strapungere direct proportionala cu temperatura absoluta, panta fiind de 10mV/˚K. Impedanţa scăzută şi caracteristica de ieşire liniară fac interconectarea cu circuitele de control foarte usor de realizat. Instrumentul este disponibil încapsulat ermetic in tranzistorul TO-46. Circuitul are o impedanta dinamica mai mica de 1Ω si functioneaza intre 0.45mA si 5mA fara degradari ale perfomantelor. Calibrat la 25˚C LM335 are o eroare mai mica de 1˚C la o variatie a temperaturii de 100˚C (tipic 0.5˚C). Spre deosebire de alti senzori de temperature LM335 are o iesire liniara in tensiune care variaza in functie de tempeatura cu 10mV/˚K.
Rezistenta R7 este folosita pentru calibrarea la 25ºC trebuind sa asigure la iesiere tensiunea de 2.982V pentru aceasta temperatura.
Tensiune de iesire la +100C: 3.732V
Tensiune de iesire la -40C: 2.332V
IV. Adaptorul de semnal
Amplificatorul LT1013 este primul AO dual de precizie cu 8 pini, îmbunătăţind performanţele unor dispozitive mai vechi. Poate fi alimentat de la o singură sursă de 5V. Gama intrării de mod comun poate include si masa. Ieşirea poate oscila in limita a câţiva mV de la masa. Distorsiunea de crossover, foarte evidentă la alte amplificatoare, este eliminată.
Deoarece traductorul de temperatura LM335 are o panta de 10mV/ºK rezulta ca, la capetele de scala ale termometrului ( -40ºC si 100ºC ) tensiunile de iesire vor avea valorile +2.332V (pt -40ºC) si 3.732V (pt100ºC) => excursia de tensiune va fi de 1.400V.
Acest adaptor are rolul de a mari excursia tensiunii de la iesire de la 1.4V la 5V deoarece intrarea analogica a convertorului este cuprinsa intre valorile 0 5V.
Amplificarea acestui adaptor trebuie sa fie A=ΔUf/ΔUi=5/1.4=3.5714 pe fiecare grad celsius.
Amplificarea este: A=(R3+Rv2)/R2
R6≈R3+Rv2. Pentru R2=10kΩ avem:
R3+Rv2=35.714k rezulta ca R3=33K, iar Rv2=5K
Se alege R6=36k.
V. Convertorul analog digital
Se foloseste convertorul analog digital oferit de microcontroller-ul ATMEGA16.
Acest ADC prezinta urmatoarele caracteristici:
-eroare totala de ±2 LSB,
-rezolutia este de 10biti,
-timpul de conversie este de 13-260µs.
ADC-ul este conectat la un multiplexor analog pe 8 canale, intrarile analogice fiind conectate pe portul A al controller-ului.ADC-ul contine un circuit Sample and Hold care asiura ca tensiunea de la intrare este mentinuta la un nivel constant pe durata conversiei.
Acesta primeste pe intrarile CH1(ADC0) CH4(ADC3) o tensiune Vin(0 5V) si este alimentat la Vref=5V
Cod la 0V: 0000 0000 (00H)
Cod la 5V: 1111 1111 (FFH)
Am folosit portul A al microcontrollerului, configurand pinii 0-3 (ADC0-ADC3) ca intrari in registrul de stare al ADC-ului ADMUX. Rezultatul oferrit de ADC este pe 10 biti si se gaseste in registrii ADCH si ADCL. Dar, cum precizia dorita este cea pe 8 biti, vom citi doar ADCL, lucru care va fi precizat in registrul de stare.
ADC-ul are o intrerupere proprie care eset chemata atunci cand se termina o conversie. Acest moment este anuntat si prin starea bitilor ADIF=1 si ADSC=0 (ADSC=1 atunci cand porneste o conversie).
Ca alimentare se poate alege intre AVCC, AREF si o valoare interna (2.56V).
Am folosit 8 biti ceea ce inseamna 256 de valori reprezentabile. Noi avem 140 de valori adica rezolutia acestui convertor este de aproximativ 0.54C/bit:
Rezolutia=(1/256)*Ui=(1/256)/5V=0.01953V≈19.53V/bit
Rezolutia=(1/256)*T =(1/256)/140ºC≈0.54ºC/bit
Conținut arhivă zip
- Proiect BSAD - Sistem de Masurare si Reglare a Temperaturii
- AT MEGA 128 proiect masurare temperatura.doc
- datasheet_atmega128.pdf
- proiect.doc
- proiectBSAD(2).asm
- temperature-humidity sensor.pdf
- ~$ MEGA 128 proiect masurare temperatura.doc