Dual Clock - Temp

Ceas-temperatura dual zone cu Atmega8


Acest proiect a fost pentru mine mai mult o joaca, decat un proiect necesar. La indemnul unui coleg radioamator am conceput un instrument cu care sa citesc temperatura data de doi senzori montati pe conductele unei centrale de incalzire. Deasemenea indicatia de ceas este prezenta pe afisajul aparatului (daca-l putem denumi asa, HI!). Iata schema de principiu:

Pentru baza de timp am folosit un cristal de quartz utilizat in ceasurile de mana cu frecventa de 32768 KHz. Este foarte usor de gasit si imprima ceasului destula precizie fara a fi “acordat” ulterior. Afisajul poate fi un afisaj cu 2×16 caractere compatibil HD44780. Softul il gasiti in format HEX in sectiunea download.

ATENTIE! Fusebitii se lasa ne-modificati pentru oscilator intern de 1 MHz (Default) deoarece timerul intern lucreaza in configuratie asincrona cu cristal de joasa frecventa.


UPDATE

Am facut un update la acest ceas, care consta in principal in inlocuirea senzorilor de temperatura model LM35, cu senzori digitali model DS1820 sau DS18B20. Afisarea se face in acest caz cu indicatia "INT" si respectiv "EXT", care inseamna temperatura interioara si, respectiv, temperatura exterioara. Afisajul noului aparat va arata asa:

Un lucru important de luat in seama, la noua versiune, este faptul ca se pot monta senzori diferiti la acest aparat, adica sau DS1820, sau DS18S20, sau DS18B20, de care detine fiecare, fara a tine seama de modelul folosit. Am implementat in soft aceasta posibilitate de inter-schimbare cu orice model de senzor. Mai mult de atat, aparatul arata la pornire tipul de senzor folosit.

Daca un senzor lipseste in momentul initializarii montajului, atunci indicatia senzorului prezent este transmisa in locul celui absent si aparatul va arata aceeasi temperatura in ambele pozitii, INT si EXT. Aceasta situatie va fi indicata pe afisaj:

Un fapt important de retinut este ca senzorii DS18S20 sunt perfect identici cu DS1820. Unii sunt model vechi scosi din fabricatie iar ceilalti sunt modelul nou de fabricatie recenta. Modelul DS18B20 este total diferit. Deasemenea atrag atentia ca utilizarea modelelor de senzori cu terminatia "P" este incompatibila! Acesti senzori care au in sufix litera "P" sunt cu alimentare "PARAZITA" si necesita alte conditii de conectare diferite. Deci nu se pot folosi in prezentul montaj.
In acest montaj se poate utiliza un senzor tip DS18S20(1820) si altul tip DS18B20. Ambii senzori se conecteaza in paralel fir-cu-fir, si se introduc in montaj la intrarea de senzori ai mcu PortC.0. De mentionat este faptul ca senzorul tip DS18S20(1820) se va monta in exterior iar celalalt, DS18B20, se va monta in interior. Aceasta conditie este necesara deoarece softul scris de mine, citeste temperaturi negative doar de la acesti senzori de tip DS18S20(1820).
In timpul utilizarii aparatului se poate intampla ca un senzor sa se deconecteze accidental, caz in care indicatia "Err" va apare pe afisaj:

Ultima mentiune este ca senzorii DS18x20 necesita o rezistenta de "pull-up" cu valoare de 4,7K de la firul de semnal la +5V, una singura pentru toti senzorii conectati in paralel. Firul comun de semnal se conecteaza la intrarea PORTC.0 a micro-procesorului Atmega8, cealalta intrare PORTC.1 se lasa ne-conectata.



Soft Dual Clock-Temp cu LM35.hex
Soft Dual Clock-Temp cu DS18x20.hex
BACK return