Sari la conținut

digital alarm clock 24h LM8560


dementhor

Postări Recomandate

chiar poate cineva sa masoare frecventa retelei in Ro? (cu un frecventmetru numeric)

50,1Hz.(acum), mai tarziu, poate fi 49,9Hz, deci in medie este destul de precis.

Editat de miron1947
Link spre comentariu
Distribuie pe alte site-uri

  • Răspunsuri 54
  • Created
  • Ultimul Răspuns

Top Posters In This Topic

chiar poate cineva sa masoare frecventa retelei in Ro? (cu un frecventmetru numeric)

RR

 

PS - problema ne e atat precizia cat deranjul ca trebuie setat de fiecare data cand il scoti din priza sau se intrerupe alimentarea. Enervant daca stai sa te gandesti ca un quartz de 32768Hz si un super cap sa tina oscilatorul si numaratoarele costa 50 centi.

Rolul bateriei de 9v exact ala e. Ceasul continua sa numere cu ajutorul grupului RC 100k/15nano chiar daca afisajul e stins, iar cand curentul revine doar se aprinde afisajul.

Stiu ca nu e ceas atomic l-am facut doar din dorinta de a-l vedea pus in practica si functional. Sunt unii prin Canada daca nu gresesc care vand kitul asta cu vreo 70 de $ (canadieni cred ) --nu e chiar ieftin.

Si niste poze:

post-8348-1268316926_thumb.jpg

Editat de marianqt
Link spre comentariu
Distribuie pe alte site-uri

Rolul bateriei de 9v exact ala e. Ceasul continua sa numere cu ajutorul grupului RC 100k/15nano chiar daca afisajul e stins, iar cand curentul revine doar se aprinde afisajul.

Am un proiect de ceas facut de mine, quartz de 3,2768 MHz, trebuie doar sa-l pun in practica si sa vad cat de precis este in timp.....sa gasesc si timpul necesar sa-l pun in practica.

Editat de marianqt
Link spre comentariu
Distribuie pe alte site-uri

Sigur?

Sigur.

Am facut unul cu quartz de 13 Mhz dar e o nebunie sa-i faci corectie in soft deorece nu poti divide exact frecventa asta exact in TMR0(asta e cu dispaly LED 7 seg)

Asa ca am facut altul cu 3.2768 MHz (asta e mai original cu afisajul circular de 60 de leduri ) si pe simulare cel putin imi fuctioneaza OK!

Sa-l pun in practica sa vedem atunci ca drumul intre teorie si practica e lung!

Deci e corect MHz!

Firul portocaliu e greseala din schema initiala.....sper sa am timp sa fac un alt cablaj frumos.

Felicitari domnului Miron. Ati postat 4512 ori in 30 de luni de unde rezulta o medie de 5 postari pe zi. Impresionant!

Si profit de postul asta sa mai adaug o poza cu LM8560 PCB.

post-8348-1268317455_thumb.jpg

Editat de marianqt
Link spre comentariu
Distribuie pe alte site-uri

Am facut unul cu quartz de 13 Mhz dar e o nebunie sa-i faci corectie in soft

Probabil cu microcontroler, daca va referiti la soft, eu am crezut ca va referiti la un montaj cu divizoare si quartz, in acest caz, de 32768 Hz .

Editat de miron1947
Link spre comentariu
Distribuie pe alte site-uri

E realizat cu pic16f870/pic16f877A .

Am mai proiectat un altul cu Cmos si anod comun, realizat cu cd4026 decodificatoare bcd si simulat in proteus functioneaza perfect. Acesta intradevar are un cuartz de 32768 Hz.

Editat de marianqt
Link spre comentariu
Distribuie pe alte site-uri

de fapt LM8560 nu ruleza clock-ul din oscilatorul ala RC, dar foloseste prezenta 50Hz din retea sa calibreze oscilatorul RC, si cand dispare stie cu cat sa multiplice (sau divizeze) ce vine de la RC ca sa cada cat mai aprope de frecventa retelei (aceeasi tehnica e folosita in multe circuite integrate care trebuie sa functioneze cu nA si opresc oscilatorul ca sa slaveze baterie)

oricum e bine ca functioneaza si arata ora.

 

Nu prea am inteles de ce nu puteai sa divizezi 13Mhz cu precizie suficienta in microcontroller

un exemplu practic:

oscillator 13 Mhz, cu prescaller care divizeaza cu 2 inainte de un timer hardware de 16 biti.

 

sa zicem ca ai un prescaler cu 2 si-ti ajunge in timerul hardware 13000000Hz /2 = 7500000Hz

daca ai un timer de 16 biti faci load la valoarea 7500, setezi timerul sa faca countdown si reload la val 7500 (si sa genereze o intrerupere de underflow)

inseamna ca obtii o intrerupere la fiecare 7500000/7500 = 1000 Hz ( de o mie de ori pe secunda)

tii cont ca in rutina de intrerupere generata de timer la reload mai consumi cateva clock-uri (te uiti in datasheet) si compensezi la valoarea incarcata in timer (de exemplu daca ai nevoie de 4 perioade de ceas ca sa incarci noua valoare atunci faci load 7500-4=7496)

in rutina de timer tii un contor sofware care numara in sus, cand ajunge la 1000 incrementezi secundele

 

RR

 

PS - ai grija sa nu dezactivezi sitemul de intreruperi sau intreruperea de timer (si ai grija sa aiba prioritate fata de altele daca exista altele) daca ai alte intreruperi active si au prioritate mai mare atunci o sa ai erori.

Chiar si asa cu erori de 10 de cicluri la fiecare ciclu de timer (inseamna 10/7500= 1/750 adica 0,13%)

Editat de roadrunner
Link spre comentariu
Distribuie pe alte site-uri

Nu prea am inteles de ce nu puteai sa divizezi 13Mhz cu precizie suficienta in microcontroller

un exemplu practic:

oscillator 13 Mhz, cu prescaller care divizeaza cu 2 inainte de un timer hardware de 16 biti.

 

sa zicem ca ai un prescaler cu 2 si-ti ajunge in timerul hardware 13000000Hz /2 = 7500000Hz

daca ai un timer de 16 biti faci load la valoarea 7500, setezi timerul sa faca countdown si reload la val 7500 (si sa genereze o intrerupere de underflow)

inseamna ca obtii o intrerupere la fiecare 7500000/7500 = 1000 Hz ( de o mie de ori pe secunda)

tii cont ca in rutina de intrerupere generata de timer la reload mai consumi cateva clock-uri (te uiti in datasheet) si compensezi la valoarea incarcata in timer (de exemplu daca ai nevoie de 4 perioade de ceas ca sa incarci noua valoare atunci faci load 7500-4=7496)

in rutina de timer tii un contor sofware care numara in sus, cand ajunge la 1000 incrementezi secundele

Atunci cand l-am facut, adica cu 4-5 ani in urma eram la inceput cu picurile si cine stie ce gresisem.Gasisem pe net un frecventmetru cu pic16f870 si display led si cum nu mi-a placut ca in timpul citirii frecventei se stingea displayul(deranjant, dar era facut asa pentru a introduce mai putin zgomot ) am hotarat sa-l transform asa cum era in ceas. Oricum foloseam TMR0 pe intern cu precalerul setat pe 256(cred), deci aveam 256 prescaler x 256 TMRO =65536 x 4 ori divizorul de pe intrarea din oscilatorul picului = 262144 .

13.000.000/262144 = 49,59 intreruperi pe secunda dupa care imi amintesc ca am modificat valoarea TMR0 sa porneasca de la o alta valoare pentru a imi da o valoare intreaga sa pot sa incrementez secundele dar tot aveam vreo 2 minute pe zi (sunt sigur ca am gresit eu ceva in calcule) asa ca l-am lasat deoparte, dar o sa il refac din curiozitate!

Cristalul e dintr-un telefon mobil deci era 13,0000 MHz, adica foarte precis.

Link spre comentariu
Distribuie pe alte site-uri

ma dau eu mare, dar m-am chinuit prima data cand am facut asa ceva, a trebuit sa pun osciloscopul si sa masor exact frecventa, ca nu intelegeam unde gresesc. Dar dupa ce am reusit am inteles si unde greseam (si era evident)

ideea de baza e ca se poate.

RR

Editat de roadrunner
Link spre comentariu
Distribuie pe alte site-uri

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
  • Navigare recentă   0 membri

    • Nici un utilizator înregistrat nu vede această pagină.

×
×
  • Creează nouă...

Informații Importante

Folosim cookie-uri și tehnologii asemănătoare pentru a-ți îmbunătăți experiența pe acest website, pentru a-ți oferi conținut și reclame personalizate și pentru a analiza traficul și audiența website-ului. Înainte de a continua navigarea pe www.tehnium-azi.ro te rugăm să fii de acord cu: Termeni de Utilizare.

ATENTIE !!! Functionarea Tehnium Azi depinde de afisarea de reclame.

Pentru a putea accesa in continuoare site-ul web www.tehnium-azi.ro, va rugam sa dezactivati extensia ad block din browser-ul web al vostru. Dupa ce ati dezactivat extensia ad block din browser dati clic pe butonul de mai jos.

Multumim.

Apasa acest buton dupa dezactivarea extensiei Adblock