Hodiny reálneho času

Chcem len upozornit na to, ze ak chce niekto nastavit frekvenciu RTC pomocou externeho vystupu - ak obvod taky vystup ma - treba mat istotu, ze meracie zariadenie (citac) je v takej triede presnosti, ktora uspokojive nastavenie umoznuje. A to obycajny citac typu stavebnica s Xtalom vo “vzduchu” bez teplotnej kompenzacie rozhodne nie je. Je dobre mat pre taketo pripady teplotne regulovany etalon dlhodobo kalibrovany aspon pomocou DCF. Okrem toho, ak aj niekto nastavi Ctrim pri RTC na zaklade merania dostatocne presnym etalonom, nikto nezaruci, ako sa bude zariadenie spravat pri inej teplote. A to i pri beznom Xtale 32kHz s 30ppm/°C a rozdielu 5°C je uz mesacne celkom pekny rozdiel cca 6.5 minuty, ak som to dobre zratal (30*1/1000000[1ppm]*5°C]*30.5[dni v mesiaci]*86400[sek. za den] = 6.588minuty). Tak by som sa nameranym vysledkom tu uvadzanym moc nedivil a nesnazil sa ist bez termostatu do extremov. A to vobec nehovorim o omnoho vacsej teplotnej zavislosti nejakeho pridaneho C, ako v pripade PCF8583. Podla vlastnej skusenosti, su v praxi vysledky v priemere lepsie. To ale neznamena, ze nad 3-6 minutami za mesiac v danom zapojeni a tepelnej stabilizacii je treba pohorsene krutit hlavou :slight_smile:

Ten test na kratkodobu stabilitu, ktory tu uvadza Technik by som urcite tiez doporucil. Aspon si tvorca HW vie urobit predstavu ako zariadenie navrhol. :slight_smile:

Asi najjednoduchsie bude spravit SW kompenzaciu zmeny frekvencie Xtalu v zavislosti od teploty. Teplotu staci merat pomocou diody.

  1. zmerajte odchylku pri nejakej teplote za 24hodin. Procesor moze zmerat priemernu teplotu (predpokladajme, ze na pripadnu zmenu teploty [malu] pocas 24h bola zavislost zmeny frekvencie Xtalu viac menej linearna)

  2. vlozte zariadenie na 24h do vyparnika na tych cca -2 az -10°C°C. Spravte to iste. Vznikne jednoducha, v prvom priblizeni moze byt brana ako linearna zavislost medzi frekvenciou a teplotou. Procesor potom moze (ak zije, co moze, ak to bude nejaka Attiny25[da sa s nej spravit vlastny RTC obvod i s integrovanym meranim teploty], alebo nejaky nizkoprikonovy PIC) kazdych 24h spravit kalibraciu RTC. Pre presnejsie meranie treba linearnu zavislost nahradit nejakou nameranou krivkou. Rozhodne je tento postup jednoduchsi a skor vedie k cielu, ako sa snazit nejakymi teplotne zavislymi prvkami teplotnu zavislost Xtalu kompenzovat a nastavovat.

Martine, díky za odpověď a vysvětlení. Tu teplotní závislost určitě vyzkouším, ale asi až po prázdninách :slight_smile:. Test na krátkodobou stabilitu nevím, jak udělat, když DS1302 nemá externí výstup hodin. Čítač mám TESLA BM641, ale s jakou přesností měří, to z hlavy nevím, musel bych najít někde dokumentaci. Vidím to tak, že to prozatím uvedu do konečného provozuschopného stavu v této verzi a pak ve volných chvilkách zkusím tu kompenzaci. Jen bych Tě poprosil ještě o vysvětlení pojmu "ppm/st.C. Už bych to asi měl konečně vědět … :slight_smile:. Díky! Vlasťa

1 ppm/°C znamena, ze sa parameter suciastky moze (ale nutne nemusi) zmenit az o jednu miliontinu pri zmene teploty o jeden stupen.

sk.wikipedia.org/wiki/Parts_per_million

bezne male odpory maju 50ppm/1°C, to znamena, ze pri zmene teploty o 10st.C odpor s hodnotou 10000ohm pri referencnej teplote moze mat hodnotu od 9995 do 10005 a je vsetko s kostolnym poriadkom.
Pri zmene teploty (zariadenie do externeho prostredia na slnku) od -15 do +45 moze byt zmena az 6x vacsia, t.j. 9970 az 10030. A to uz je +/-0,3%. S takouto teplotnou zavislostou je tazko uvazovat o presnosti (nie rozliseni ! ) lepsej ako 8bit v celom teplotnom rozsahu. Nastastie sa odpory pri analogovych vstupoch pouzivaju hlvne vo funkcii delicov, kde sa vacsinou ich telotna zavislost kompenzuje (overene praxou, staci zmerat deliaci pomer pri izbovej teplote a potom dobre ofukat fenom aspon na 70 stupnov a pomer skontrolovat).
Pri AD/DA su vsak presne z tohto dovodu kladene velke naroky na napatovu referenciu. Je dostat celkom dobre AD/DA, ale pozor, s potrebou externej napatovej referencie. Bezna TL431 so svojimi 30ppm je sice zhruba 2x lepsia ako interne referencie v beznych procesoroch, ale na plnohodnotny 10b AD prevod v sirokom teplotnom rozsahu skratka nestaci. O 12b a viac ani nehovorim. A robite zariadenie, kde na AD presnosti v sirokom rozsahu teplot zalezi, pouzite nieco,co uz ako tak dobru referenciu obsahuje, napr. ADS1112.
Samotna referencia vsak este neriesi zmeny parametrov na vstupnych, respektive vystupnych (DA) obvodoch. Takze nepomoze ani nakup velmi drahych stabilnych externych referencii. Potom uz iba termostatovanie celeho priestoru analogovej casti.

Preto aj tu mozem doporucit velmi jednoduchu a ucinnu kalibraciu “fenovo/chladnickovu” metodu popisanu uz vyssie. Zariadenie moze byt potom skalibrovane v troch bodoch. Treba vsak mat na pamati, ze teplota v priestore skumaneho zariadenia ma byt homogenna. Na meranie skutocnej teploty v priestore doporucujem pouzit DS18B20. Je to lacne cidielko kalibrovane vyrobcom a moze byt umiesnene priamo pri vstupnych /vystupnych obvodoch, ktore treba kalibrovat. Myslim, ze v principe sa v beznych domacich podmienkach neda vyspekulovat nic presnejsie. Okrem toho, na presnosti merania teploty az tak velmi nezalezi. Ci je v priestore 70, alebo 72°C, uz vysledok po kalibracii moc neovplyvni. Dolezite je, aby oba konce teplotneho rozsahu boli “dost” daleko od seba, aspon takych 50°C.

Pisal som pre ilustraciu hlavne o AD/DA obvodoch, ale myslim, ze zavery su pouzitelne vseobecne.

Martine, ještě jednou díky -super! Zkusím to nějak přežvýkat a něco s tím udělat.
Vlasťa

6,5 minut za měsíc to je sakra chyba a mít hodinky s takovouhle odchylkou, tak je nesu do opravny. Krystaly 32kHz užívané převážně v hodinářství vykazují zhruba chybu 0,5s/den s teplotně nekompenzovaným krystalem. To dělá za měsíc čtvrt minuty. Takovou chybu lze tolerovat snad jen u mechanických hodinek s nepokojem.

Teplotní závislost frekvence nebo spíše rozladění df/f není lineární. U hodinových krystalů 32kHz je parabolická s vrcholem zpravidla 25°C, u ostatních je kubická. Kalibraci nelze provádět jen ve 3 bodech. Podle toho, v jaké rovině se krystal nabrousí, vzniká různá teplotní závislost, která může mít obě znaménka, jak kladná tak i záporná. Numerická korekce není až tak jednoduchá záležitost, ale i tak musí být krystal správně naladěn. Nelze se domnívat, že pokud odladím krystal o desítky Hz mimo rezonanci a numericky to zkoriguji, že dostanu tytéž výsledky. Mimo rezonanci je oscilátor nestabilní a šumy mají větší vliv na výsledek.

Pokud oscilátor vykazuje takové anomálie, je třeba se podívat na to, jestli pracuje v té správné rezonanci, sériové nebo paralelní. Dále pak jsetli nepracuje s příliš vysokou nebo naopak nízkou amplitůdou a také jestli není něčím tlumen. Například nevhodná pajecí pasta může způsobovat svody. Ještě je dobré se podívat, jaké kondenzátory tvoří s krystalem rezonanční obvod. I ty jsou teplotně závislé a mohou teplotní vliv kompenzovat nebo naopak posilovat.

No, taky si myslím, že je to na reklamaci :slight_smile:. Ale čeho? Jak zjistím u běžného hodinkového krystalu, v jaké rezonanci pracuje? K provedení plošného spoje: je oboustranný, rozlitá měď spojená s GND (na obou stranách - spoje ve spodní vrstvě, na horní jen ta zem a pár drátovách propojek). Natřeno kalafunou, rozpuštěnou v lihu. Ještě mne napadlo - nemůže způsobovat problém to, že DS1302 mám v patici (precizní patice s dutinkami)?
Vl.

Paticí to asi nebude i když přidá nějakej ten pF. Je bych to viděl na nevhodný krystal. Vyhledal jsem si datasheet a doporučená CL je 6pF. Krystaly s takto nizkou CL nejsou nebo alespoň nebyly k mání v GM. To jsou speciální krystaly, které je možné objednat u JAUCHa třeba přes GES. Podívej se na appnotes 58 www.jauch.de kde by měl být článek “Quartz_Crystal_Theory.pdf” vysvětlující základní věci kolem krystalů.

Domnívám se, že máš použit krystal vyžadující větší CL, proto se také čas předbíhá. Takže náprava by spočívala v přidání kondenzátorů ke krystalu ovšem za cenu větší spotřeby proudu z baterky.

Jinak s používáním kalafuny rozpuštěné v lihu mám neblahé zkušenosti. Spolu se vzdušnou vlhkostí se tvoří sole, které jsou vodivé a právě na to jsou hodinové oscilátory velmi citlivé. V mnoha případech se oscilátor ani nemusí rozkmitat.
Když dokončím tišťák, vyperu ho v lihu nebo izopropylalkoholu, dále pak v čisté horké vodě a nechám několik hodin sušit na topení. Teď v létě postačí i sluníčko. Pak se mohu spolehnou na dobré izolační vlastnosti.

Na appnotes od Maxima jsem se díval a pokud to šlo, snažil jsem se doporučení dodržet (umístění krystalu, stínění atd.). O Cl 6pF jsem samozřejmě taky věděl, akorát ve chvíli, kdy u nás není jednoduše k sehnání, jsem tam dal ten, který k dostání je. Tušil jsem, že se to trošku rozjede, ale nečekal jsem, že o tolik. Asi zkusím přidat nějaký ten kondenzátor ke krystalu, ale nevím, zda pro snížení kmitočtu jej mám dát paralelně ke krystalu nebo do série?
K tomu tišťáku - pochopil jsem to správně, že ho jen dobře vypereš, ususíš a už jej dále vůbec ničím nechráníš? Necháš jen holou měď?
Vl.

Sériově určině ne. Ty kondy by měly být dva mezi krystalem a zemí tedy paralelně s těmi co jsou v DS1302. Odhadoval bych to tak na 10pF.

Dříve, když jsem si dělával tišťáky, tak jsem je před pájením pocínoval plochým hrotem. Po zapájení součástek jsem je důkladně vypral v lihu. Ale nejsem si jist jestli jsem některé socialistické součástky tím praním nepoškosil. Dnes jsou všechny kromě přepínačů a trimů odolné vůči těmto lázním takže se toho neobávám. Dnes si nechávám tišťáky dělat, protože prokovené otvory a V. nebo VI. stupeň přesnosti si doma neudělám a vždy zadám žárově nanesený cín HAL a nepájivou masku. Je to určitá nutnost pro SMD. Místo HALu lze použít i imersní zlacení, není to o moc dražší. V amatérských podmínkách lze ještě udělat stříbření např. vyčerpaným ustalovačem.

OK, díky, v pondělí to zkusím. S těmi tišťáky je to trošku horší. My je ve škole vyrábíme “klasickou” technologií: předloha - cuprextit + fotolak - UV lampa - vývojka - leptací lázeň - ochranný lak. Na profi desky můžeme rovnou zapomenout, na to nám nikdo nedá peníze. Takže kvůli pájitelnosti to musíme ošetřit tím nešťastným kalafunovým lakem. Není to ideální, na dnešní dobu je to i nevzhledné, ale nic jiného nemáme.
Vl.

Ahoj, tak jsem zkusil připojit dva kondenzátory 10pF mezi vývody krystalu a zem. Oscilátor se vůbec nerozběhl. Zkoušel jsem i jiný krystal (jiný kus, bohužel opět s kapacitou 12pF - jiné nemám). Výsledek stále stejný - hodiny se předbíhají asi o 6s denně.
Vl.

Tak snad se to pohnulo správným směrem…
Zkusil jsem připojit kondenzátor 8,2 pF přímo paralelně ke krystalu. Hodiny se začaly zpožďovat asi o 2s denně, chyba má tedy konečně “opačné znaménko” než v předchozích případech. Protože nemám kapacitní trimr a ani na něj nemám na DPS místo, zkusím postupně připojovat kondenzátory různých kapacit, až bude odchylka přijatelná. Zdá se, že by se to nakonec mohlo podařit někam dotlačit :slight_smile:.
Vl.

Tak jsem před několika dny konečně sehnal kapacitní trimr a hned je to o něčem úplně jiném. Připojen paralelně ke krystalu, odchylka jde korigovat do plusu i mínusu, takže teď je to už jen otázka trpělivosti.
Vl.

Zdravím.
Aby som sa vyhol problémom z kryštálom,kapacitným trimrom a pod.
chcem skúsiť použiť RTC-4543 SA.Máte niekto skúsenosť z týmto integráčom?
A tiež sa chcem opýtať ako “dám tomuto RTC vedieť” čo chcem zapisovať resp čítať.Datasheet mám stiahnutý z int.zás,firmy ktorá má v logu slona,a z neho som to nepochopil.prípadne poraďte niejaký iný ale overený obvod RTC,ku ktorému je fajn popis.
Nežiadam celý zdroják,to nie je ono,len trošku postrčiť.

Edit.Poraďte prosím kde sa dá kúpiť kryštál 32.768kHz z kapacitou 6pF.
Relatko

Zdravím. Z tohoto aplikačního popisu se určitě odrazíš. Hodně štěstí.
ETM09E_01_R4543SASB.pdf (154 KB)

Ake problemy s Xtalom a kapacitnym trimrom mas na mysli?
Ak mas na mysli stabiliu/presnost, tak pouzitim tohto integraca mozes mat maximalnu dennu chybu az 2,33 sekundy (86400 * 27 * 10-6). Vyslovene pisu, ze mesacna odchylka je priblizne 1 minuta., co su zhruba tie dve sekundy za den.

To dosiahnes aj beznejsim RTC obvodom s externym 32,768kHz Xtalom. Nie kazdy RTC s externym Xtalom potrebuje este aj C.

Jednoducho ako tu uz bolo vela krat spomenute lepsiu stabilitu ako cca 20ppm dosiahnes iba termostatovanim.

Prosím vás, nemá někdo zdroják v ASM (nebo link na něj) na ten druhej RTC, PCF8583? Vygooglil jsem jen samý C nebo AVR, asi neumím hledat (ale zase jsem u toho našel nějaký věci k Z80 co jsem hledal kdysi :smiley: )

Tu nieco mas…len ci s toho vyjdes

CAS sa nacitav do registrov a potom posiela na 4094 a zobrazuje na LED displeji.
Time.ASM (8.35 KB)

Se samotným kapacitním trimrem není žádný problém - při troše trpělivosti se dá nastavit odchylka menží než 0,5sec./den. Problém je s teplotou a taky s vlhkostí. Při stejném nastavení trimru lítala odchylka při změnách teploty od 20 do 25 stupňů asi o +/- 1 sec./den.

Krystal 32.768kHz z kapacitou 6pF jsem u nás nesehnal.

Vl.

Atlan: Super, děkuju moc, to by mělo bohatě stačit, o víkendu si s tím zkusím pohrát (pro začátek jednoduché hodiny, časem logger teplot ze dvou nebo tří čidel SMT160-30).