Jump to content
ELFORUM - Forumul electronistilor

Ceas de timp real (RTC) cu EM3027, PIC16F676 si afisaj HCMS2915


darius_bv

Recommended Posts

Salutare!

Proiectul nu se incadreaza la nivelul complexitatii stabilit de dl. Sabac (odihneasca-se in pace...) pentru aceasta sectiune, ci dar pentru ca mai exista un subiect pe aceeasi tema si este mai usor de gasit, pentru amatorii de ceasuri. 

Nu m-a mai preocupat subiectul ceasurilor de peste 30 de ani, atunci cand l-am facut pe ultimul cu MMC351, la care i-am conceput o alarma setabila cu comutatoare binare si o sonerie de la un ceas de mana. Ma trezea in fiecare dimineata si pornea radioul pe stiri.

Colegul @gabi_lori (un adevarat pasionat de ceasuri de toate tipurile, incepand cu pendulele) m-a facut curios in a pune la treaba EM3027 (ceas de timp real), niste circuite foarte simpatice, cu o stabilitate remarcabila si consum extrem de mic (mult sub 1mA). Precizia este data de posibilitatea configurarii coeficientilor de variatie cu temperatura ai cuartului. Coroborat cu un cuart de buna calitate (+/- 5ppm, 3 lei bucata) rezulta un ceas excelent, pentru amatorii de acuratete. Afiseaza ora, data (corectie pentru ani bisecti) si temperatura mediului ambiant, cu o precizie de 1grdC. 

Toata schema consuma circa 45mA si functioneaza intr-o gama larga de tensiuni, 3..5V. Eu am folosit o celula de Li-Ion de la un aparat foto atat pentru alimentare de backup (pin3/EM3027) cat si alimentare generala, cand lipseste tensiunea de 5V. Doar pentru mentinerea in functiune a RTC se poate folosi si o baterie cu litiu de 3V.

Programarea orei/datei se face printr-un singur buton, in functie de cat timp este apasat, setarile facandu-se in ordinea: ore, minute, zi, luna, an, toate succesiv. Se poate renunta la urmatoarii parametri prin eliberarea butonului, daca de exemplu se doreste doar setarea orei si minutelor. Cu o apasare de peste 3 secunde se intra in mod programare, eliberarea scurta a butonului trece la urmatorul parametru. 

Afisarea datei/temperaturii se face succesiv, la intervale de 30secunde, pentru doar 2 secunde fiecare; in rest se afiseaza ora.  As fi vrut ca data sa fie afisata cu caractere (ex. 22 ian 2024) dar nu mi-au mai ramas libere decat cateva amarate de locatii de memorie si mi-a fost lene sa trec la un PIC mai performant. 

Poate candva...

 

 

data.jpg

ora.jpg

RTC cu EM3027 si PIC.jpg

temperatura.jpg

RTC cu EM3027 si PIC.hex

Acesta este dinozaurul din 1991.

old1.jpg

old2.jpg

Link to comment
  • Replies 11
  • Created
  • Last Reply

Top Posters In This Topic

  • darius_bv

    9

  • sonic11

    2

  • cdinu332

    1

Acum 3 ore, darius_bv a spus:

Salutare!

Proiectul nu se incadreaza la nivelul complexitatii stabilit de dl. Sabac (odihneasca-se in pace...) pentru aceasta sectiune, ci dar pentru ca mai exista un subiect pe aceeasi tema si este mai usor de gasit, pentru amatorii de ceasuri. 

Nu m-a mai preocupat subiectul ceasurilor de peste 30 de ani, atunci cand l-am facut pe ultimul cu MMC351, la care i-am conceput o alarma setabila cu comutatoare binare si o sonerie de la un ceas de mana. Ma trezea in fiecare dimineata si pornea radioul pe stiri.

Colegul @gabi_lori (un adevarat pasionat de ceasuri de toate tipurile, incepand cu pendulele) m-a facut curios in a pune la treaba EM3027 (ceas de timp real), niste circuite foarte simpatice, cu o stabilitate remarcabila si consum extrem de mic (mult sub 1mA). Precizia este data de posibilitatea configurarii coeficientilor de variatie cu temperatura ai cuartului. Coroborat cu un cuart de buna calitate (+/- 5ppm, 3 lei bucata) rezulta un ceas excelent, pentru amatorii de acuratete. Afiseaza ora, data (corectie pentru ani bisecti) si temperatura mediului ambiant, cu o precizie de 1grdC. 

Toata schema consuma circa 45mA si functioneaza intr-o gama larga de tensiuni, 3..5V. Eu am folosit o celula de Li-Ion de la un aparat foto atat pentru alimentare de backup (pin3/EM3027) cat si alimentare generala, cand lipseste tensiunea de 5V. Doar pentru mentinerea in functiune a RTC se poate folosi si o baterie cu litiu de 3V.

Programarea orei/datei se face printr-un singur buton, in functie de cat timp este apasat, setarile facandu-se in ordinea: ore, minute, zi, luna, an, toate succesiv. Se poate renunta la urmatoarii parametri prin eliberarea butonului, daca de exemplu se doreste doar setarea orei si minutelor. Cu o apasare de peste 3 secunde se intra in mod programare, eliberarea scurta a butonului trece la urmatorul parametru. 

Afisarea datei/temperaturii se face succesiv, la intervale de 30secunde, pentru doar 2 secunde fiecare; in rest se afiseaza ora.  As fi vrut ca data sa fie afisata cu caractere (ex. 22 ian 2024) dar nu mi-au mai ramas libere decat cateva amarate de locatii de memorie si mi-a fost lene sa trec la un PIC mai performant. 

Poate candva...

 

 

data.jpg

ora.jpg

RTC cu EM3027 si PIC.jpg

temperatura.jpg

RTC cu EM3027 si PIC.hex 6 kB · 0 descărcări

Acesta este dinozaurul din 1991.

old1.jpg

old2.jpg

Felicitări!

Foarte interesant dar cu o singura obiecție, prețul afisorului HCMS2915 :rade:

Link to comment
Acum 52 minute, darius_bv a spus:

...30 lei pe acest forum, am cumparat eu (verzi).

Multumesc!

Numai bine!

Știu dar nu te întâlnești mereu cu norocul asta.

In afara de treabă asta afișorul aste super fain.

Link to comment

Am mai inghesuit un pic rutinele si-am facut loc in memorie pentru inca o facillitate: reglarea automata a stralucirii afisajului in functie de iluminarea ambianta. Este o functie foarte utila: afisajul se citeste perfect atat la soare, cat si noaptea, cand ochiul obisnuit cu intunericul are nevoie de un nivel de iluminare foarte scazut pentru a putea distinge caracterele (mai ales dupa un pahar-doua de vin...).  Am folosit un fototranziztor si o intrare ADC libera. Adaptarea stralucirii afisajului se face la 30 secunde. 

Ca urmare, consumul din baterie a scazut noaptea la 23mA; cu iluminarea la maxim ajunge la 125mA. 

Inca ma gandesc cum sa gasesc o procedura care sa-mi permita afisarea literelor pentru data, fara a schimba microcontrolerul. E doar o ambitie... sansele sunt mici, avand in vedere ca softul e scris in asembler si e foarte condensat. 

Daca e cineva interesat, pot sa-i dau noul soft si schema. 

Urmeaza adaptearea pentru tuburi Nixie... la cererea unui forumist pasionat. 

Link to comment
  • 2 weeks later...

Si produsul finit. Pentru maxima mobilitate, alimentarea o fac din celule Li-ion recuperate din acumulatori de laptop. Doua celule de 2Ah ar trebui sa tina aproape doua saptamani. Incarcarea lor o fac din orice incarcator de telefon cu mufa micro-USB C (standard, am gasit mufe mama cu fir). Am conceput un indicator de acumulator descarcat cu TL431, LED-ul ilumineaza la tensiuni mai mici de 3.3V. Chiar daca ramane fara baterie, ceasul de timp real e elimentat din celula lui CR2032 si lucreaza in continuare. 

DSCN6753.jpg

DSCN6757.jpg

IMG_20240209_115610.jpg

IMG_20240209_120350.jpg

IMG_20240209_142010.jpg

IMG_20240209_183302.jpg

Link to comment
  • 4 weeks later...

Si prima varianta de RTC cu tuburi Nixie: stralucirea acestor afisaje este pur si simplu... magica! (concluzie, inainte de Jidvei)

 

 

IMG-20240301-WA0002.jpg

IMG-20240304-WA0006.jpg

Link to comment

Esti unul dintre puținii la care se vede o pasiune reală și materializată prin proiecte frumoase. 

Îmi place ceasul,  iar dacă vrei să îi faci o carcasă,  să fie transparenta. 

Zic și eu...

:101

Link to comment

@cdinu332 ei... incerc sa-mi tin mintea ocupata. 

Da, mi-a mai sugerat cineva tipul de carcasa transparenta. Adevarul este ca ar trebui sa se construiasca mai usor. Se pot taia peretii din policarbonat cu laserul si iese perfect. 

Numai bine!

Link to comment
  • 3 weeks later...

Si ultima varianta de RTC cu Nixie. Pentru ca pentru mine este importanta ziua saptamanii (luni, marti...) am atasat si un display HCMS2915. Mai are nevoie doar de o cutie transparenta. 

Iluminarea afisajelor se adapteaza in functie de iluminarea ambianta, in trei trepte. Convertorul DC/DC de inalta tensiune l-am facut clasic, un mic traf 2x12V cu priza mediana alimentat in contratimp prin doua tranzistoare MOS comandate de microcontroler. Are si protectie hardware;  decupleaza alimentarea trafului la lipsa semnalului de tact de 500Hz, altfel una din infasurari este alimentata permanent in curent continuu. 

Consuma 0.3A la o tensiune de alimentare de 16.5V. Tensiunea de 5V o obtin cu un MC34063A, un stabilizator liniar ar degaja caldura, influientand masurarea temperaturii RTC. 

 

Gata, am terminat cu ceasurile, trec la treburi serioase. 

 

 

In realitate, afisajele nu tremura, ca in filmultet. 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines