1
Amplificatorul LT1013 este primul AO dual de precizie cu 8 pini. 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.
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) asadar 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.
Convertorul analog-digital
Convertorul analog-digital oferit de Atmega128 are urmatoarele
caracteristici:
• rezolutie de 10 biti
• precizie de �2 LSB
• timp de conversie intre 13-260μs
• 8 canale de intrare multiplexate
• posibilitatea de ajustare stanga a rezultatului din
registrul ADC
• excursia de tensiune 0-VCC
• moduri "Free-Running" sau conversie unica
• intrerupere la terminarea unei conversii
Acesta primeste pe intrarea ADC0 o tensiune Vin�(0..5V) si este
alimentat la Vref=5V.
Rezultatul conversiei pentru un nivel de tensiune de 0V este ADC = 0x00
iar pentru 5V 0xFF.
Pentru a activa ADC-ul se seteaza bitul ADEN din registrul ADCSRA.
Implicit rezultatul va fi aliniat la dreapta (ADCL apoi ADCH). Pentru a
incepe o conversie se seteaza ADSC. Acesta va fi resetat automat la
finalizare cand ADIF = 1.
Circuitul prezinta un multiplexor de selectie a canalului de intrare ce
va fi setat in registrul ADMUX.
Ultimii 3 biti din ADCSRA sunt destinati setarii frecventei de
esantionare(pre-scale). Circuitul de aproximatii succesive necesita o
frecventa intre 50 kHz si 200 kHz iar introducerea unei frecvente mai
mari duce la scaderea preciziei. In acest caz s-a ales un factor de
pre-scale de 32 (ck/32 = 125 kHz).
Afisajul
Se vor folosi 3 afisaje cu leduri de 7 segmente pentru afisarea
temperaturii in gama 0 - 100�C. Acestea vor fi alimentate prin 3
tranzistoare npn care au rolul de intrerupatoare polarizate in baza de
pinii portului A al microcontrolerului. De asemenea la portul A vor fi
conectate 4 leduri ce vor semnala modul de afisare real/setare si
comanda de racire/incalzire.
Selectia segmentelor celor 3 digiti se va face prin portul B conectand
cele 3 afisaje la o magistrale, aceasta avand avantajul economiei de
curent.
Pentru a aprinde un segment pinul corespunzator al portului B va trece
pe nivelul 0. Punctul din coltul dreapta jos va fi conectat la pinul
cel mai semnificativ al portului, el nefiind folosit.
Descrierea porturilor:
Port A:
• PIN0…PIN2 comanda tranzistoarelor
• PIN3 ledul de setare a temperaturii
• PIN4 ledul de afisare a temperaturii ambiante
• PIN5 ledul ce semnaleaza comanda de racire
• PIN6 ledul ce semnaleaza comanda de incalzire
Port B:
• PIN0…PIN7 selectia segmentelor afisajului
Port C:
• PIN0 butonul de crestere a temperaturii cu o unitate
• PIN1 butonul de scadere a temperaturii cu o unitate
Port D:
• PIN0 comanda racirea
• PIN1 comanda incalzirea
Temperatura setata se inregistreaza in EEPROM pentru persistenta.
Programul are o dimensiune de 5778 octeti ce ocupa 4.4% din memoria de
program. Programul a fost compilat cu AVR-GCC 3.4.6 si simulat cu AVR
Studio 4.12 SP2 utilizand WinAVR(GNU-gdb 6.4.0) ca debugger si builder
extern.
1
Termostat
Termostat digital
Sa se proiecteze un sistem de masurare a temperaturii comandat de un
microcontroler tip Atmega128. Sistemul va comanda un agregat de racire
in cazul in care temperatura ambianta este mai mare decat o temperatura
presetata + 0.5 �C, sau un agregat de incalzire atunci cand temperatura
scade sub Tset – 0.5.
Sistemul are urmatoarele caracteristici:
• gama de temperaturi masurate si reglate intre 0 –
100 �C
• temperatura afisata pe un afisaj cu leduri pe 3
digiti
• 2 butoane de reglare a temperaturii cu
posibilitatea modificarii temperaturii setate: la apasarea unuia dintre
butoane aparatul intra in modul de setare. Daca timp de 5 secunde nu se
apasa nici un buton se revine la temperatura reala.
Afisajul contine de asemenea 2 leduri ce indica modul de afisare(real
sau setare).
Se vor folosi :
1. afisaje cu leduri cu anod sau catod comun.
2. microcontroler Atmega128
3. traductori de temperatura LM335
Temperaturile se vor afisa in grade C.
Caracteristici generale Atmega128:
1. microcontroler pe 8 biti cu arhitectura RISC
2. Tensiuni de operare in gama 4.5-5.5 V
3. Convertor analog-digital
4. 32x8 registre de uz general
5. 128 kb memorie flash reprogramabila
6. 4k EEPROM
7. 4k SRAM intern
8. 2 timere pe 8 biti si 2 timere extinse pe 16 biti
9. 133 instructiuni cu durata intre 1-3 cicli.
Schema bloc
1. Senzor de temperatura LM335
2. Amplificator
3. Taste
4. Convertor analog-digital cu conversii succesive
5. Microcontroler Atmega128
6. Afisaj cu leduri cu 3 digiti + indicatori de
comanda si modul de afisare(Tset/Treal)
7. Agregat de racire
8. Agregat de incalzire
Senzorul de temperatura
Acest senzor functioneaza intre temperaturile -40�C si 100�C
pastrandu-si liniaritatea si impedanta scazuta. Din cele 3 forme
disponibile s-a ales SO-8 cu montare pe suprafata, avand o rezistenta
termica scazuta fata de celelalte variante. 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).
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.
Legea de variatie:
, unde T este temperatura in grade Kelvin.
Rezulta
• Tensiune de iesire la +100C: 3.732V
• Tensiune de iesire la -40C: 2.332V
Adaptorul de semnal
Cele mai ok referate! www.referateok.ro |