Marian

Strugaru

 

 

Facultatea

Automatica si Calculatoare

Universitatea

Politehnica Bucuresti

Grupa 343 C4


 

 

 

 

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.