termometru digital cu microcontroler - at mega 128
TRANSCRIPT
Termometru Digital cu Microcontroler - AT Mega 128
Termometru digital cu microcontroler AT Mega 128
Universitatea tefan cel Mare Suceava
Facultatea de Inginerie Electric
Specializarea Automatic si informatic aplicat Proiect la Domotic
Termometru digital cu microcontroler
AT Mega 128
Prof. ndrumtor:
Student:
Asistent univ. drd. Ing.
Sorin Pohoa
Grupa 1241A
Termometru digital cu microcontroler AT Mega 128
Ne propunem s proiectm un sistem de msurare a temperaturii comandat de un microcontroler tip Atmega 128. Sistemul va comanda un agregat de rcire in cazul in care temperatura ambiant este mai mare dect o temperatur presetat + 0.5 C, sau un agregat de nclzire atunci cnd temperatura scade sub Tset 0.5.
Sistemul are urmtoarele caracteristici:
gama de temperaturi msurate i reglate ntre 0 100 C
temperatura afiat pe un afiaj cu leduri pe 3 digii 2 butoane de reglare a temperaturii cu posibilitatea modificrii temperaturii setate: la apsarea unuia dintre butoane aparatul intr in modul de setare. Dac timp de 5 secunde nu se apas nici un buton se revine la temperatura reala.
Afiajul conine de asemenea 2 leduri ce indica modul de afiare(real sau setare).Se vor folosi :
afiaje cu leduri cu anod sau catod comun.
microcontroler Atmega 128
traductori de temperatura LM335
Temperaturile se vor afia in grade C.
Microcontrolerul Atmega 128O definiie, cu un sens foarte larg de cuprindere, ar fi aceea c un microcontroler
este un microcircuit care incorporeaz o unitate central (CPU) i o memorie mpreun cu resurse care-i permit interaciunea cu mediul exterior.Utilizarea unui microcontroler constituie o soluie prin care se poate reduce dramatic numrul componentelor electronice precum i costul proiectrii i al dezvoltrii unui produs.Un concurent puternic al seriei PIC este familia numit AVR, a firmei ATMEL,
familie aprut n ultimii ani, care ofer variante de microcontrolere oarecum asemntoare
ca resurse cu familia PIC, la performane similare sau mai bune. Sunt bazate pe o arhitectur diferit, dar unitatea central este tot de tip RISC, cu cuvntul de date de 8 bii. La fel ca la PIC dimensiunea cuvntului de program este mai mare, fiind de 16 bii. Exist cel puin 3 sub familii mari, n ordinea complexitii resurselor, acestea fiind: AT Tiny, AT90 i ATMega.Caracteristici generale:1. microcontroler pe 8 bii cu arhitectura RISC2. 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 bii si 2 timere extinse pe 16 bii9. 133 instruciuni 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. Afiaj cu leduri cu 3 digii + indicatori de comanda si modul de afiare(Tset/Treal)
7. Agregat de rcire8. Agregat de nclzire
Senzorul de temperatura
Acest senzor funcioneaz intre temperaturile -40C si 100C pstrndu-i liniaritatea si impedana sczuta. Din cele 3 forme disponibile s-a ales SO-8 cu montare pe suprafa, avnd o rezistenta termica sczuta fa de celelalte variante. Circuitul are o impedana dinamica mai mic de 1 si funcioneaz intre 0.45mA i 5mA fr degradri ale perfomanelor. Calibrat la 25C, LM335 are o eroare mai mic de 1C la o variaie a temperaturii de 100C (tipic 0.5C). Are o ieire liniar in tensiune care variaz in funcie de temperatur cu 10mV/K.Rezistena R7 este folosita pentru calibrarea la 25C trebuind s asigure la ieire tensiunea de 2.982V pentru aceast temperatur.Legea de variaie:
, unde T este temperatura in grade Kelvin.
Rezult
Tensiune de ieire la +100C: 3.732V
Tensiune de ieire la -40C: 2.332VAdaptorul de semnal
Amplificatorul LT1013 este primul AO dual de precizie cu 8 pini. Poate fi alimentat de la o singur surs de 5V. Gama intrrii de mod comun poate include si masa. Ieirea poate oscila in limita a civa mV de la mas.Deoarece traductorul de temperatura LM335 are o panta de 10mV/K rezult ca, la capetele de scal ale termometrului (-40C si 100C) tensiunile de ieire vor avea valorile +2.332V (pt -40C) si 3.732V (pt100C) aadar excursia de tensiune va fi de 1.400V. Acest adaptor are rolul de a mari excursia tensiunii de la ieire de la 1.4V la 5V deoarece intrarea analogica a convertorului este cuprinsa intre valorile 0...5V. Amplificarea acestui adaptor trebuie s fie A=Uf/Ui=5/1.4=3.5714 pe fiecare grad Celsius. Amplificarea este: A=(R3+Rv2)/R2 R6R3+Rv2. Pentru R2=10k avem: R3+Rv2=35.714k rezulta ca R3=33K, iar Rv2=5K Se alege R6=36k. Convertorul analog-digitalConvertorul analog-digital oferit de Atmega128 are urmtoarele caracteristici:
rezoluie de 10 bii precizie de 2 LSB
timp de conversie intre 13-260s
8 canale de intrare multiplexate
posibilitatea de ajustare stnga a rezultatului din registrul ADC
excursia de tensiune 0-VCC
moduri "Free-Running" sau conversie unica
ntrerupere la terminarea unei conversii
Acesta primete 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 seteaz bitul ADEN din registrul ADCSRA. Implicit rezultatul va fi aliniat la dreapta (ADCL apoi ADCH). Pentru a ncepe o conversie se seteaz ADSC. Acesta va fi resetat automat la finalizare cnd ADIF = 1.Circuitul prezint un multiplexor de selecie a canalului de intrare ce va fi setat in registrul ADMUX.Ultimii 3 bii din ADCSRA sunt destinai setrii frecventei de eantionare(pre-scale). Circuitul de aproximaii succesive necesita o frecventa intre 50 KHz si 200 KHz iar introducerea unei frecvente mai mari duce la scderea preciziei. In acest caz s-a ales un factor de pre-scale de 32 (ck/32 = 125 KHz).AfiajulSe vor folosi 3 afiaje cu leduri de 7 segmente pentru afiarea temperaturii in gama 0 - 100C. Acestea vor fi alimentate prin 3 tranzistoare npn care au rolul de ntreruptoare polarizate in baza de pinii portului A al microcontrolerului. De asemenea la portul A vor fi conectate 4 leduri ce vor semnala modul de afiare real/setare si comanda de rcire/nclzire.Selecia segmentelor celor 3 digii se va face prin portul B conectnd cele 3 afiaje la o magistral, aceasta avnd avantajul economiei de curent.
Pentru a aprinde un segment, pinul corespunztor al portului B va trece pe nivelul 0. Punctul din colul dreapta jos va fi conectat la pinul cel mai semnificativ al portului, el nefiind folosit.
Descrierea porturilor:Port A:
PIN0PIN2 comanda tranzistoarelor
PIN3 ledul de setare a temperaturii
PIN4 ledul de afiare a temperaturii ambiante
PIN5 ledul ce semnaleaz comanda de rcire PIN6 ledul ce semnaleaz comanda de nclzirePort B:
PIN0PIN7 selecia segmentelor afiajuluiPort C:
PIN0 butonul de cretere a temperaturii cu o unitate
PIN1 butonul de scdere a temperaturii cu o unitate
Port D:
PIN0 comanda rcirea PIN1 comanda nclzirea
Bibliografie :
1. www.national.com2. www.atmel.com3. tet.pub.ro4. forum.softpedia.com5. www.datasheet.ro/ATM128-datasheet.shtmlPAGE 1