Hodinky s PIC

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

RETFIE
Stály člen
Stály člen
Príspevky: 368
Dátum registrácie: 31 Mar 2009, 00:00

Príspevok od používateľa RETFIE » 15 Feb 2011, 21:35

Asi sme sa nepochopili, dal som to len ako priklad, hlavne zadavatelovi otazky.

Nikoho nazory a vypocty tym nespochybnujem ani nezastavam.
0

Používateľov profilový obrázok
feros
Stály člen
Stály člen
Príspevky: 415
Dátum registrácie: 23 Sep 2010, 00:00
Bydlisko: okres Nitra

Príspevok od používateľa feros » 15 Feb 2011, 22:08

32768Hz PPM 20> 0,002%=0,65536Hz
86400s 0,002%=1,728s za 24 hod
Pre zvýšenie presnosti sa používa kryštál s čo najmenším kmitočtom
32768Hz je to preto že je ľahko delitelný 2/14
vždy treba počítať z maximálnou chybou
ako ja chápem údaje od výrobcu je pri 25C tol. základnej frekvencie 30ppm plus 30-50ppm závislosť od teploty.
potrebuješ napočítať 32768 pulsov, ale
f T
- tolerancia 32767,34464Hz 0,000030518188488769775395507910158203s
0 32768Hz 0,000030517578125s
+ tolerancia 32768,65536Hz 0,000030516967785644287114257714845703s

trvanie našej 1s s naším oscilátorom
- tolerancia T*32768 = 1,00002000040000800016000319488s
+ tolerancia T*32768 = 0,999980000399992000159996772352s
je to samozrejme skoro nič ale opakuje sa to stale dokola,
0

mato3000
Power user
Power user
Príspevky: 9767
Dátum registrácie: 04 Jan 2009, 00:00
Bydlisko: BA

Príspevok od používateľa mato3000 » 15 Feb 2011, 22:30

máš dobrú kalkulačku, koľko je miestna ?


a tak to celé zhrň nie ? nech vie akou cestou má ísť ...

ja vravím RTC + jedna rutina na načítanie hodnoty a jedna na zápis a bude to najpresnejšie :lol: + dalšia prípadná obsluha

a ty teda navrhuješ čo ? cestu do miestneho supermarketu cez Čínu ?
0

Používateľov profilový obrázok
vama
Ultimate člen
Ultimate člen
Príspevky: 1545
Dátum registrácie: 26 Aug 2008, 00:00
Bydlisko: BA
Vek: 31

Príspevok od používateľa vama » 16 Feb 2011, 00:04

presne tak, priklanam sa k matovi:

nejake MCU z rady 16f + externe RTC.
A do tretice (opakovanie je matka mudrosi :lol: ) vyladit oscilator na RTC (na MCU netreba).
0
"Digitálna technika pozostáva len z 0 a 1, ktoré sú v správny čas na správnom mieste." M. Valášek

jankop
Stály člen
Stály člen
Príspevky: 104
Dátum registrácie: 18 Sep 2008, 00:00

Príspevok od používateľa jankop » 16 Feb 2011, 15:49

Vy jste tedy výpočtáři!
V prvé řadě ppm je relativní jednotka. Z toho plyne, že krystal 32768Hz se stabilitou(odchylkou) 30ppm je stejně přesný jako krystal 20MHz se stabilitou 30 ppm.
Oba budou mít maximální odchylku za den:
86400s x 0,000030 = 2,592s
RTC zvýší přesnost pouze, pokud má v sobě dostatečně přesný krystal integrovaný a to záleží typ od typu. Přidávat RTC do hodin s procesorem rozhodně nevidím jako nutnost. S moderním mikrokontrolerem se dá ošetřit i přechodný výpadek napájení, dokonce může často využívat přímo krystal 32768KHz pro odměřování času a sám pracovat s interním oscilátorem na podstatně vyšším kmitočtu.
0

mato3000
Power user
Power user
Príspevky: 9767
Dátum registrácie: 04 Jan 2009, 00:00
Bydlisko: BA

Príspevok od používateľa mato3000 » 16 Feb 2011, 15:54

8O 8O 8O


kukaj :
ppm20 --- výsledok 1,728s za 24 hod
ppm30 --- výsledok 2,592s za 24 hod

a čuduj sa svete 1,728/2*3= 2,592 :lol: :lol: :lol: :lol:
iste vieš čo som tým počítal


a za druhé sme sa bavili o tom ako sa dá presnejšie merať čas s MCU pomocou TIMERX, teda v závislosti od počtu krokov daného MCU. a chceš mi povedať že pri 400Hz spraví MCU rovnaký počet v krokoch ako pri 32,7 Hz za rovnaký čas ? :wink:


a toto mi prosím ozrejmi ak môžeš
jankop napísal:S moderním mikrokontrolerem se dá ošetřit i přechodný výpadek napájení, dokonce může často využívat přímo krystal 32768KHz pro odměřování času a sám pracovat s interním oscilátorem na podstatně vyšším kmitočtu.
0

Používateľov profilový obrázok
vama
Ultimate člen
Ultimate člen
Príspevky: 1545
Dátum registrácie: 26 Aug 2008, 00:00
Bydlisko: BA
Vek: 31

Príspevok od používateľa vama » 16 Feb 2011, 17:37

Tato diskuzia tusim vstupy do historie a prevrati zaklady mikroprocesorovej/ mikrokontrolerovej techniky :lol:
Ja neviem co tu stale riesite :roll:
jankop napísal: ...
RTC zvýší přesnost pouze, pokud má v sobě dostatečně přesný krystal integrovaný a to záleží typ od typu.
...
Napisem to uz tu 4.-x, ved opakovanie matra mudrosti. Ked mas aj nepresny krystal, ved ho doladis paralelne zapojenim kondenzatorom, a vuala zrazu je presny? Akurat musi byt stabilny, ale nie presny :roll:
jankop napísal: ...
Přidávat RTC do hodin s procesorem rozhodně nevidím jako nutnost.
...
No nie je to nutnos aj bez toho za da zaobejst, ale vlastne naco mame kalkulacky aby sme nemuseli rucne pocitat. Tak naco si budem komplikovat program a pisat donho registre pre sekundy, minuty, hodiny, dni, mesiace, roky ked to za mna spravi RTC? To nehovorim o tom, ze treba ratat s mesiacmi ktore maju 28, 29, 30, 31 dni, priestupny rok,... No trochu som presiel od temi od hodin ku kalendaru, ale je to tak. Dalsia vec, rozsiris si hodiny o periferia a zrazu zistis, ze ti idu nejako pomaly ....
jankop napísal: S moderním mikrokontrolerem se dá ošetřit i přechodný výpadek napájení ...
Toto by aj mna zaujimalo, ale co to ma spolocne so stabilitou hodin ?
0
"Digitálna technika pozostáva len z 0 a 1, ktoré sú v správny čas na správnom mieste." M. Valášek

jankop
Stály člen
Stály člen
Príspevky: 104
Dátum registrácie: 18 Sep 2008, 00:00

Príspevok od používateľa jankop » 16 Feb 2011, 20:08

Vím co je stabilita a přesnost. Kmitočet krystalu je možné ovlivnit, ale z hlediska stability to není nic moc. Tím paralelním kondenzátorem se ten nepřesný, ale možná stabilní krystal stane nestabilním a tedy v delším časovém horizontu i nepřesným.
Běžný obvod RTC stojí cca jako 2 procesory a RTC s integrovaným a přesným krystalem ještě podstatně víc. Když použiješ externí běžně dostupný krystal s 30ppm tak si nijak nepomůžeš.
Naprogramovat systém hodin je naprosto triviální úloha a připadá mi to jednodušší než studovat komunikaci a vlastnosti obvodu RTC.
A jak souvisí výpadek napájení se stabilitou hodin? Kdysi bylo doménou RTC obvodů zálohování času v případech výpadků napájecího napětí systémů. Měly od zbytku zařízení malou spotřebu, tak je bylo možné zálohovat malou baterií. Když je teď běžně dostupná NanoWatt technologie u každé PIC, tak dokážu udělat hodiny, které při výpadku poběží dál s naprosto minimální spotřebou. Vnitřní oscilátor 4MHz, pro TMR1 vnější krystal 32768KHz. Naprosto mě pak nezajímají nějaké takty procesoru, které tady řešíte.
A pokud se někomu zdá moc práce naprogramovat čítání 24:60:60, tak si může koupit za 200Kč (8euro) budík u číňanů hotovej.

BTW: Jaký periferie máš doma na hodinách?
0

Používateľov profilový obrázok
vama
Ultimate člen
Ultimate člen
Príspevky: 1545
Dátum registrácie: 26 Aug 2008, 00:00
Bydlisko: BA
Vek: 31

Príspevok od používateľa vama » 16 Feb 2011, 20:40

Povedal, by som, ze kazdy ma svoju pravdu a tym aj svoj vlastny sposob ako by riesil danu problematiku, takze nechajme autora temy rozhodnut sa volne :wink:
0
"Digitálna technika pozostáva len z 0 a 1, ktoré sú v správny čas na správnom mieste." M. Valášek

mato3000
Power user
Power user
Príspevky: 9767
Dátum registrácie: 04 Jan 2009, 00:00
Bydlisko: BA

Príspevok od používateľa mato3000 » 16 Feb 2011, 21:17

jankop, no vidím že v tom sa vyznáš, tak mi prosím pošli takýto program, prípadne nejakú schému. bude to lepšie ako toľko písania.
jankop napísal: BTW: Jaký periferie máš doma na hodinách?
prosím a nezabudni na autorovu prvú vetu, iste si si to pozorne prečítal. ja som presvedčený, že mu bude stačiť na tu 18tku iba nejaký budík aj s jednoduchým tónom.

takže ber to ako výzvu, a potom si tie programy porovnáme :wink:
0

jankop
Stály člen
Stály člen
Príspevky: 104
Dátum registrácie: 18 Sep 2008, 00:00

Príspevok od používateľa jankop » 16 Feb 2011, 21:43

Programovat hodiny je nuda pro zoufalce, to je jako turecký televizní seriál Šehrezáda.
0
Naposledy upravil/-a jankop v 17 Feb 2011, 06:58, upravené celkom 1 krát.

mato3000
Power user
Power user
Príspevky: 9767
Dátum registrácie: 04 Jan 2009, 00:00
Bydlisko: BA

Príspevok od používateľa mato3000 » 16 Feb 2011, 21:51

a ty mu radíš takúto chujovinu ??????? a ešte s neistým výsledkom. no pekná rada, pekná ......


a ešte si sem dal aj blbý príklad :?

//Automatické spojenie príspevkov. Pridané po 5 minútach:

takže sa vrátim k tomu čo som sem dal na začiatku
mato3000 napísal: ja vravím RTC + jedna rutina na načítanie hodnoty a jedna na zápis a bude to najpresnejšie :lol: + dalšia prípadná obsluha

a ty teda navrhuješ čo ? cestu do miestneho supermarketu cez Čínu ?
0

Nomen

polemika

Príspevok od používateľa Nomen » 17 Feb 2011, 08:47

vama napísal:Tak jasne ze dnesna sustava je stabilnejsia ako kedysik ale ja pochybujem ze presnost je vyzsia ako 0,001 Hz a ako povedal mato3000 stabilita krystalu sa udava tak 20 ppm (ppm - Parts per million, miliontina) cize nejake stotiny, tisiciny Hz sa zdaleka nepriblizuju k ppm. :roll:
Ano DCF je nonstop vysielane, ale skusal si cez den chytit DCF? Da sa to ale nerobi sa to, pretoze vsetky el. zariadenia (myslene aj mimo miestosti) tak zarusia ten signal, ze je to dost velky problem chytit. Riesi sa to kompromisom, ze raz za den (zvacsa 3:00 AM) sa zosynchronizuje signal a potom idu hodiny na vlastnom oscilatore.
so zaujmom som si to tu vsetko precital , asi preto že hodin som poskladal niekolko desiatok , ale ziadne s MPU , do rucickových "s krokovym motorom " som daval aj vykuchane budiky /1Hz/ , ale najcastejsie to boli predsa len s krystalom a samozrejme delicky , sa mi paci , autor sem hodi temu , a kazdy si tu troska prihreje polievocku , a kto ho vie ci ho to uz dalej zaujima , myslim , že potom je tu zbytocne drazdenie , ja len reagujem na par viet , co su tu zavadzajuce ,... ze sa to nerobi , cez den chytat ten signal , samozrejme ze sa chyta , prijem je vzdy , len ked nie je kvalitny tak sa nemusia synchronizovat a to o tej 3.00 sa zasynchronizuje , to je tiez hlupost , porovnavaju sa info medzi dvoma minutami v digit. forme a ked sa lisi len v jednom bite vtedy je informacia platna /to je ta jedna sekunda rozdiel minutach/ , cize moze sa to stat v kazdom case , a este , v jednom dni na zaciatku mesiaca , neviem presne ktory , na par hodin sa vypina vysielac z dovodu udrzby , na webe je nespocetne mnozno informacii , nema zmysel sa tu o tom teda rozpisovat , ale prilozim niečo zabudnute , normal.... z DCF ,,, pekny den
Prílohy
normal.jpg

Používateľov profilový obrázok
vama
Ultimate člen
Ultimate člen
Príspevky: 1545
Dátum registrácie: 26 Aug 2008, 00:00
Bydlisko: BA
Vek: 31

Príspevok od používateľa vama » 17 Feb 2011, 15:18

no neda mi to a zareagujem :lol:

Tak na upresnenie, ja som to myslel takto, velka vacsina hodin prijima DCF77 signal 1-x za den a to je prave v noci (o 1:00, alebo 3:00 AM), kedy je signal najmenej zaruseny a tym aj kedy je najvacsia pravdepodomnost korektneho prijimu. Ak sa signal uspesne podari prijat, tak uz ho v priebehu dna znovu nesynchronizuje (dalsia synchronizacia nastava za 24hod). Aksak ked ho neprijme korektne, tak sa pokusa prijat signal po 1 alebo 2 hodinach, cize aj cez den ho prijima, ale prioritne ho v noci prijima.
Samozrejme, ze tieto casi sa mozu lisit, pretoze zalezia len od clienta (hodiny) ako maju naprogramovane MCU (ale vacsina je vacsina).

Ale mne islo poukazat o samotny fakt, ze zvacsa sa DCF hodiny synchronizuju raz za den a potom pracuju na vlastnom oscilatore. Cize neprijimaju signal kazdych 10 min, aby boli presne (aj ked, aj to moze byt).
0
"Digitálna technika pozostáva len z 0 a 1, ktoré sú v správny čas na správnom mieste." M. Valášek

Nomen

DCF

Príspevok od používateľa Nomen » 17 Feb 2011, 20:20

vama napísal:no neda mi to a zareagujem :lol:
kolko si takych hodin poskladal ? ja asi desat , hadam mi nechces povedat , ze ked spravis take hodiny budes do polnoci cakat kým ti naskocia ? , nic take co si napisal nie je pravda , kup si nejaky jednoduchý prijimac od Conrad , a kvalitnejsi s predzosilovacom a uvidis na osciloskope co sa deje , kvalitny prijimac ti bude davat impulzy nerusene a v pozadovanej dlzke 80-100 ms je log. nula a okolo 200ms je log.jednicka /59.sekunda chyba , to je medzera odkial zacina nacitavat nove info./ a ten menej kvalitný ti hodi nejaký nedefinovatelný impulz aj ked stuknes vypinacom na TV , samozrejme , ze su uz hodiny s dcf co si mozes sam nastavit hodiny a synchronizuju sa hned ako maju spravny signal , cize , kvalitný prijimac , dobre pocasie , nerusený prijem a budes mat hodiny synchronizovane stale , a ten menej kvalitny ked je najlepsi prijem , a to je zvycajne v noci , nie je zamracene na zapade /vysielac je od BA vraj okolo 800km / su to velmi dlhe vlny , a kopiruju teren , nepotrebuju priamu viditelnost ,
mozno su hodiny ktore su tak riadene , ze im CPU dovoli synchro len v urcity cas , ale este som o takom niecom nepocul , asi tak

Používateľov profilový obrázok
stanke
Stály člen
Stály člen
Príspevky: 287
Dátum registrácie: 13 Nov 2007, 00:00
Bydlisko: Bernolákovo
Vek: 33
Kontaktovať používateľa:

Príspevok od používateľa stanke » 18 Feb 2011, 11:18

Nomen mýliš sa mňa to práveže veľmi zaujíma, však sú to všetk ozaujímavé veci :)

VIem že Pic18fxxx je zbytočný na hodinky, ale ja nechcem ostať u hodín...
Nepotrebujem to na nič, chcem sa len naučiť niečo nové, a nemám o tom ani šajnu, nemal som sa to skade veľmi naučiť práve preto sa pýtam, aby som nebol sklamaný.

otázka na eurobastlera:
Kde zoženiem taký 18F24J50 uP? pretože nejak sa mi to nedarí :)

ďalej, ak si pripojím to PICko na 32khz xtal a napojím ho dajme tomu 3V (spotreba) môžem použiť s doladením interný RTC pre celkom presný časový údaj?

ako som písal nejde mi ani tak o hodinky ale o to aby som s nimi niečo vedel robiť...napríklad taký primitívny vrátnik a pod...časový spínač/zámok a podobné veci...proste sa toho naučiť čo najviac, toto je niečo čo sa mi určite zíde :) :)
keby som to potreboval kúpim si, teraz už aj do zapaľovačov dávajú hodinky :P

a načo vlastne treba použiť v hodinách TMR1?
0
Obrázok

Používateľov profilový obrázok
vama
Ultimate člen
Ultimate člen
Príspevky: 1545
Dátum registrácie: 26 Aug 2008, 00:00
Bydlisko: BA
Vek: 31

Príspevok od používateľa vama » 18 Feb 2011, 12:08

No snad mozem aj ja odpovedat (ked to bolo na eurobastlera adresovne), ten MCU kupis jedine vo velkym predajniach ako napr. FARNELL http://sk.farnell.com/microchip/pic18f2 ... dp/1778467 . Popripadne by sa dal mozno navzorkovat, priamo od MICROCHIP-u, ale neviem akym sposobom, lebo priamo do SR neposielaju.
ďalej, ak si pripojím to PICko na 32khz xtal a napojím ho dajme tomu 3V (spotreba) môžem použiť s doladením interný RTC pre celkom presný časový údaj?
Tejko otazke som presne nepochopil, vysvetli ju

EDIT:
K tomu TMR(1) ja osobne, ked by som to robil cez TMR, tak by som nastavil prerusenie na nieco menej ako 1s, potom by si vykonal inkrementaciu 1 sek a po nej musis doladit presnost v programe instrukciami typu (NOP/ GOTO) aby cela tato rutina (aj s dobou TMR) trvala presne 1 sek, ale tu treba davat velky pozor, pretoze ked inkrementujes sek, tak raz sa prenesie a raz sa neprenesie sek. do vyzsieho radu (00:00:00 > 00:00:01 neprenesie, 00:00:59 > 00:01:00 prenesie). Ide o to, ze toto prenesienie o nieco predlzi program a stym musis ratat v doladeni 1 sek.
Preto ti tu s Matom radime pouzit RTC.
0
"Digitálna technika pozostáva len z 0 a 1, ktoré sú v správny čas na správnom mieste." M. Valášek

mato3000
Power user
Power user
Príspevky: 9767
Dátum registrácie: 04 Jan 2009, 00:00
Bydlisko: BA

Príspevok od používateľa mato3000 » 18 Feb 2011, 14:54

stanke, preboha, choď na základné PIC rady 16F. ver mi nič sa ti poriadne nepodarí naprogramovať akurát ta to odradí. rada 16F je podrobne rozpísaná a máš k nej aj literatúru. a vobec sa nesústreď na jeden druh ako na ten 18F24J50. ak pochopíš základy rady 16F tak potom choď vyššie. pri PIC to neni ako u AVR tu si kúpiš presne taký PIC aký akurát potrebuješ ku svojej konštrukcii a všetky majú podobnú sadu príkazov iba sa postupne rozširuje. ale preskoč pseudoprocesor 16F84 ...
na domáce účely ti rada 16F bude bohato stačiť najbližšíie 2 roky, kým sa nenaučíš programovať GLCD a TFT LCD


a ozajstné hodny bez RTC a s nejakými perifériami fakt nespravíš
0

Používateľov profilový obrázok
stanke
Stály člen
Stály člen
Príspevky: 287
Dátum registrácie: 13 Nov 2007, 00:00
Bydlisko: Bernolákovo
Vek: 33
Kontaktovať používateľa:

Príspevok od používateľa stanke » 18 Feb 2011, 19:24

programujem to v C, preto mi to metódou presného rátania cyklov nemôže výjsť, preto chcem použiť ten RTC, programujem zatiaľ 16F887, na vyššií rad chcem prejsť kvôli tomu že pri rovnakej alebo dokonca nižžšej cene majú lepšie parametre, a nakoľko to kódim v C ten prechod nebude taký hrozný. učím sa aj assembler, pochopiť princíp mcu sa dá len tak, ale prečo nenechať strojček s rýchlosťou 12MIPS spraviť väčšinu roboty za mňa :)
0
Obrázok

Používateľov profilový obrázok
vama
Ultimate člen
Ultimate člen
Príspevky: 1545
Dátum registrácie: 26 Aug 2008, 00:00
Bydlisko: BA
Vek: 31

Príspevok od používateľa vama » 18 Feb 2011, 19:38

Aky kompiler pouzivas? A odkial cerpas informacie o programovanii MCU v C?
Pretoze som aj ja chcel zacat v C programovat, ale trochu ma odradza, ze jadro 16f nie je vhodne pre C a dalsia vec, ze je velmi malo literaturi, takze zatial ASM
0
"Digitálna technika pozostáva len z 0 a 1, ktoré sú v správny čas na správnom mieste." M. Valášek

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok