RTC - Real Time Clock

Ceas in timp real si termometru, cu...


Ver.1 - 2011

Ceas in timp real? Ce inseamna asta? Un ceas care functioneaza precis si nu are abateri sesizabile intr-o perioada mare de timp. Este o utopie dar totusi se poate. Am incercat multe scheme de ceasuri care sa afiseze si temperatura. Scheme mai mult sau mai putin sofisticate, cu PIC sau AVR dar am fost dezamagit de faptul ca nu am gasit un ceas care sa nu intarzie sau sa nu grabeasca semnificativ. De aceea am hotarat sa-mi fac propriul meu ceas digital, unul care sa afiseze si ceasul si temperatura ambianta in "Timp-Real". Am folosit un micro-procesor foarte bun cum este Atmega8, care are o functie foarte buna si anume poate fi pilotat de un cristal de quartz cu frecventa de 32768Hz, frecventa care prin divizare cu 2^15 rezulta o perioada de timp de EXACT o secunda! Frumos nu? Iata schema de principiu pe care am adoptat-o:

Fig.1: Schema electrica RTC Ver.1 - 2011

Astfel, am obtinut un ceas extrem de precis, fara sa grabeasca, fara sa intarzie si fara sa fie nevoie de ajustare sau calibrare. O idee buna ar fi ca sa selectati quartz-ul din mai multe mostre pentru a gasi pe cel mai precis, care garanteaza cea mai mica eroare. Display-ul este un afisaj cu anod-comun achizitionat de la: TME. Viziteaza link-ul alaturat:.
Pe langa informatia ceasului am implementat in soft si afisarea temperaturii ambiante, citita cu un senzor tip LM35. Temperatura masurata astfel este cu valoare pozitiva, deci nu se va afisa temperatura negativa. Am implementat in soft si o intarziere de 5 secunde intre afisarea ceasului si afisarea temperaturii. Acest interval de timp nu se poate modifica de catre utilizator la acest model de ceas. Ce se poate ajusta, sunt numai minutele si orele, pentru care s-au prevazut pe panou doua butoane distincte. Un lucru deranjant la alte ceasuri asemanatoare, a fost afisarea cifrei ZERO inaintea orei, atunci cand aceasta este cu valori sub 10. Adica orele diminetii, erau afisate de forma 07:32 sau 09:27, etc. Astfel am implementat in soft un argument care stinge primul digit din partea stanga, daca ora este sub 10.


Ver.2 - 2013

Fig.2: Schema electrica RTC Ver.2 - 2013

Am construit un update la acest ceas, foarte asemanator cu prima versiune, care are ca si baza de timp un cip Real Time Clock tip DS1302z. Acest cip se afla plantat pe un modul achizitionat de pe Ebay. Motivul pentru care am adoptat aceasta configuratie este ca un ceas se deregleaza in momentul in care pierde tensiunea de alimentare. In cazul utilizarii acestui modul, care are si baterie de back-up, ceasul continua sa functioneze mai departe fara nici o problema. Schema ceasului se modifica putin in sensul ca dispare cristalul de 32768Hz de pe bornele uC-lui Atmega8, si se conecteaza modulul cu DS1302z pe trei fire, transmisia de date fiind seriala.

Functionarea ceasului nu s-a scimbat absolut deloc. Afiseaza la fel, timp de 5sec ora apoi se schimba si afiseaza timp de 5sec temperatura. Totusi, softul pentru Atmega8 este diferit si l-am modificat corespunzator. Am compilat ca si inainte doua variante pentru diferite tipuri de afisaje folosite: clasic cu digiti separati si KINGBRIGHT cu 4 digiti intr-un bloc comun. Cablajul imprimat ramane acelasi, se elimina doar cristalul de 32768Hz.


Ver.3 - 2014

Fig.3: Schema electrica RTC Ver.3 - 2014

Am facut un update in aprilie 2014 care consta in:

  • Adaugarea a inca doi digiti, separati de cei dinainte, care afiseaza temperatura. In acest mod, ceasul apare pe afisaj in permanenta iar separat este afisata temperatura. Aceasta schimbare vine la sugestia unor utilizatori care au construit acest ceas.
  • Firmware-ul se schimba, dar schema de principiu ramane aproape la fel; singura deosebire este ca apar cei doi digiti cu tranzistoarele aferente si rezistentele de comanda. Cine doreste poate descarca softul din sectiunea Download, cu mentiunea sa se tina seama de tipul de afisaj folosit: CLASIC cu digiti separati sau KINGBRIGHT mono-bloc. Diferentele dintre cele doua tipuri de afisaje sunt in zona punctului care clipeste in ritmul secundei. La afisajele KINGBRIGHT sunt disponibile doua LED-uri in mijlocul afisajului care permit o mai buna observare a tackt-ului. Firmware-ul pentru cele doua tipuri de afisaje este diferit.

  • Ver.4 - 2014

    Fig.4: Schema electrica RTC Ver.4 - 2014

    Diferiti constructori de astfel de aparate poseda unele afisaje care sunt cu Anod-Comun sau cu Catod-Comun. Astfel am conceput un model nou de ceas care poate folosi pe aceeasi schema si acelasi cablaj, ambele tipuri de afisaje AC - CC. Comutarea se face cu ajutorul unui JUMPER. De notat este faptul ca pentru diferitele tipuri de afisaje folosite trebuie inlocuite tranzistoarele de comanda:

  • Tranzistori PnP - pentru afisaje cu Anod-Comun
  • Tranzistori NpN - pentru afisaje cu Catod-Comun

  • Ver.5 - 2014

    Fig.5: Schema electrica RTC Ver.5 - 2014

    Acest model de ceas l-am conceput pentru a fi montat intr-un foisor din curte. Noile schimbari aduse proiectului sunt:

  • Afisaje cu Cathod-Comun
  • Circit de ceas: DS1302z
  • Senzor de temperatura digital de tip DS18B20
  • Masoara temperaturi negative, special ales pentru exterior
  • Alimentare de la un incarcator de telefon mobil.
  • Afisare semn negativ pentru temperatura, in combinatie cu caracterul Celsius.
  • Schema de principiu ramane aproape ne-schimbata. Se modifica in schimb cablajul imprimat pentru noua configuratie cu tranzistoare npn.


    Ver.6 - 2015

    Fig.6: Schema electrica RTC Ver.6 - 2015

    Aceasta versiune de ceas este un Up-date care aduce un plus de adaptabilitate si are urmatoarele caracteristici:

  • Se poate folosi cu acelasi soft si cu acelasi hardware doua tipuri de circuite de ceas, DS1307 sau ISL1208, prin simpla selectare a unui JUMPER de pe placa.
  • Afisaj KINGBRIGHT cu Anod-Comun
  • Afiseaza ceasul si temperatura in mod alternant
  • Perioada de afisare a temperaturii se poate ajusta din butoane intre (0...10)sec
  • Senzor de temperatura pozitiva pentru camera,de tip LM35
  • Baterie de back-up

  • Ver1_CN - 2021

    Fig.7: Schema electrica RTC Ver1_CN - 2021

    Aceasta versiune este de fapt o restaurare a unui ceas chinezesc pe care l-am primit si care avea procesorul ars. Am trecut la restaurarea sa si am construit dupa schema de mai sus un modul procesor de adaptare cu Atmega8A_TQFP32 pe care l-am introdus in caseta veche si am refacut cablarea LED-urilor ca sa fie multiplexate pe 4 biti. Iata ce a iesit:

    Fig8: Placa de baza ceas CN

    Un lucru interesant este ca am renuntat la senzorul de temperatura LM35 pe care l-am inlocuit cu un termistor de 8,7K la 20C configuratie pe care am imprumutat-o de la vechea schema a ceasului chinezesc. Merge destul de precis! E chiar simplu si frumos. Back-up-ul in cazul intreruperii alimentarii exterioare, este facut cu 3 baterii de 1,5V, Scade putin iluminarea dar ceasul isi continua mersul fara probleme.