PM
Proiectare cu microprocesoare
PROIECT
Termometru digital

Realizatori:
Adam Vlad Alin 342CB
Onofreiciuc Ciprian 342CB
Strugaru Marian 342CB
Termometrul este un montaj care are la baza un micro controler PIC 16F84A Afisajul se efectueaza pe LED-uri de 7 segmente, comandate cu ajutorul unor tranzistoare de camp MOSFET , 2N7000 sau echivalentul acestuia care s-a gasit pe piata: BS-170.
Principiul de masurare :
elementul sensibil la temperatura este un termistor de 10Kohmi.
Acesta impreuna cu un condensator de 0.1uF realizeaza un integrator care are urmatoarea lege
v C = E(1-e (-t/RC) )
unde R este rezistenta termistorului iar C este capacitatea condensatorului care se descarca prin R.Cum rezistenta variaza direct proportional cu temperatura, vom avea o traducere temperatura timp.Timpul va putea fi masurat prin incrementarea unei variabile interne microcontroller-ului atat timp cat avem tensiune pe pinul care face masurarea..Tensiunea de pe acest pin este asigurata de condensator, in momentul cind aceasta trece de valoarea de referinta, timerul nu se mai incrementeaza. Rezultatul este inmultit cu o constanta de conversie, iar rezultatul este transmis afisajului.
Schema in Proteus
Circuitul din simulator nu are sursa de alimentare. In montaj am folosit o baterie de 9V Panasonic, impreuna cu un stabilizator de 5V LM780507, impreuna cu un condensator electrolitic de 10uF si un condensator ceramic de 0.1uF. Pentru un control mai bun la nivel optic am montat un led de culoare rosie , care va semnaliza alimentarea circuitului. Alimentarea se realizeaza printr-un comutator cu trei pozitii din care doua au aceeasi stare OFF, iar una este ON.
Oscilatorul folosit genereaza frecventa de 4MHz, si este conectat in circuit impreuna cu doi condensatori de 27pF.
Componenta |
Descriere |
U1 |
Microcontroller PIC 16F84A |
U2 |
Stabilizator tensiune 5V |
Y1 |
Oscilator cuartz 4Mhz |
LED1-LED3 |
Display LED 7 segmente catod comun |
J1 |
Baterie paralelipipedica 9V |
SW1-SW2 |
Switch-uri pentru calibrare |
C1 |
Condensator electrolitic 10 uF |
C2,C5 |
Condensatoare tantal 0,1 uF |
C3,C4 |
Condensatoare 33 pF |
R1,R12,R13 |
Rezistente 10K 0.25 W |
R2-R9 |
Rezistente 220 0.25 W |
R10 |
Rezistente 100 0.25 W |
R11 |
Termistor 10K |
Q1-Q3 |
Tranzistoare MOSFET Canal N |
Altele |
Placuta perforata, butoane reset, LED, fire legatura, fludor, etc. |
SW1 si SW2 sunt folosite pentru calibrarea circuitului.Pentru a creste temperatura afisata, apasati butonul SW1 iar pentru a descreste temperatura, apasati SW2.Aceasta actiune modifica constanta de calibrare folosita in aplicatie. Aceasta constanta e salvata in EEPROM astfel incat sa nu se piarda atunci cand circuitul nu este alimentat.
Constanta de calibrare e pe 16 biti si este inmultita cu valoarea de intarziere (perioada de descarcare a condensatorului prin termistor).Bitul cel mai semnificativ al numarului de 16 biti rezultat este folosit ca valoarea de intarziere corectata.Folosirea bitului cel mai semnificativ e acelasi lucru cu divizarea rezultatului cu 256 (pe care se bazeaza valoarea de calibrare).Facand calculele in acest fel se elimina cerinta de a programa o rutina de impartire sau rutine de virgula mobila ca parte a calibrarii.
Display-ul se realizeaza prin tei module LED de 7 segmente in grade Celsius
Pe primul segment se afiseaza pentru temperaturi negative sau 0 pentru temperaturi pozitive . pe urmatoaree 2 se afiseaza temperatura in grade Celsius .
Limita inferioara a temperaturii ce poate fi afisata este de -10 grade Celsius , iar cea superioara de 50 grade Celsius . Valoarea indicata poate fi modificata in timp ce termometrul functioneaza ,pentru a calibra instrumentul .Pentru aceasta se vor folosi cele 2 switchuri , unul pentru a scadea valoarea afisata si unul pentru a o creste.

Fiecare LED ese conectat la PIC printr-o rezistenta de 220 Ohmi. Exceptie face segmentul conectat la RA0, la care rezistorul de 220 Ohmi este conectat la Vdd si PIC. Functionarea ledurilor este controlata de cate un tranzistor BS-170 legat la catodul displayului.
Cele 3 afisaje se aprind pe rand la intervale de aprox. 5ms , prin afisari repetate se realizeaza o afisare completa. Aceste fisaje sunt comandate de picuri, iar masa este data prin tranzistoare care functioneazaca niste switchuri. Pinii RA2 RA4,RB0-RB activeaza ledurile afisajului, apoi la intervalul sabilit prin tranzistor activeaza pe rind cite un afisaj.
|