Binary / BCD clock (binární hodiny) - konstrukce

Ahoj,
má prosím někdo tip na hotovou konstrukci tzv. binárních hodin? Jedná se o jednoduché hodiny, které ukazují čas v binárce pomocí LED diod.

Snažil jsem se na eBay a v několika zahraničních obchodech najít cenově přijatelnou stavebnici, ale našel jsem pouze produkty, které se nelíbí, jsou příliš drahé nebo je není možné doručit do České republiky.

Nejvíce se mi zamlouvá konstrukce Big Bang Geek BCD Clock Kit, ale prodejce není ochoten zaslat plošný spoj do ČR. V krátké e-mailové diskuzi mi sdělil, že kit u nás nebude fungovat, protože máme 50 Hz síť, zatímco v USA mají 60 Hz. Když jsem mu napsal, že je to přece jedno a že pro napájení budu používat u nás dostupný 230 VAC - 5 VDC adaptér, tak mi už neodpověděl. Je to škoda, protože na webu je kompletní stavební manuál včetně nezkompilovaného programu (chybí jen návrh plošného spoje).

Nezbývá mi než nechat plošný spoj vyrobit v ČR, a proto Vás prosím o případné tipy na jiné konstrukce (nemusí mít AVR MCU). Taktéž Vás prosím o zhodnocení přesnosti hodin. Rád bych, aby se hodiny za jeden měsíc nezačali předcházet nebo zpožďovat o více než půl minuty.

Děkuji :wink:.
Binary BCD clock.JPG
Big Bang Geek BCD Clock.jpg
Big Bang Geek BCD Clock - Drawing and manual.pdf (356 KB)
Big Bang Geek BCD Clock - Source code.asm (11.8 KB)

50/60 Hz Ti psali proto ze asi odvozuji casovou referenci primo z knitoctu site.

Nie mozno, ale urcite. Vstup do PB2.

Ak by si si tam dal 5Vdc, to by si sa celkom divil :slight_smile:

Problem hodin by som logicky rozdelil na niekolko casti, ktore spolu prakticky nesuvisia.

  1. zdroj kmitoctu. Frekvencia (jedno ci 50 alebo 60Hz) zo siete je dnes tak zastaraly etalon casu, ze mal snad zmysel, len ked neboli bezne k dostaniu Xtaly.

citat z podmienok prenosovej sustavy:

Frekvencia sústavy
Menovitá frekvencia napájacieho napätia je 50Hz. V normálnom prevádzkového stave musí byť stredná hodnota základnej frekvencie meraná v intervale desať sekúnd pre sústavy so synchrónnym pripojením k vzájomne prepojenej sústave v rozsahu 49,5 ÷ 50,5 Hz počas 95 % týždňa (ľubovoľných sedem po sebe nasledujúcich dní) a v rozsahu 47,0 ÷ 52,0 Hz počas 100 % týždňa.

takze v najlepsom je to +/-1% čomu zodpovedá absolútna chyba +/- 864 sekund, čiže tak okolo 1/4 hodiny denne. Ak predpokladám, že skutočnosť bude slovom “+/-”, tak pod minútu denne sa asi nedostaneš.

Xtal pre MCU, napríklad 10MHz (10.00M-HC49SR z TME) v rozsahu teplôt 0°C až 50°C je to v najhoršom +/-100ppm, čo je 0,01%. Výkonová strata/budenie tak do 500uW. Tak myslím, že ten rozdiel je úplne markantný voči frekvencii zo siete. 1% a 0,01%. Je to 100x presnejší etalón, ale stále sme na +/-8,6 sekundy denne. Hovoríme o najhoršom prípade.

potom sú tu špecializované Xtaly pre RTC. MCU by s nimi bežal dosť pomaly, ale aplikáciu na samostatné hodiny to vidím ako úplne super frekvenciu. Tu sme s presnosťou +/-20ppm pri výkonovam zaťažení 1uW.
Ak budeme Xtal výkonovo preťažovať, parametre budú samozrejme uletenejšie. Preto sú v MCU buď samostatné oscilátory pre nízkofrekvenčnú oblasť, alebo sa k tomu vyrábajú samostatné špecializované šváby s nízkovýkonovým oscilátorom.

Ale stále je to +/-8,6s/5 = +/-1,7s denne

No a tu nastupuje sw kalibrácia.

a) frekvencia sa dá doladiť zmenou tých kondíkov, čo sú okolo Xtalu. Dáva sa tam zvyčajne kapacitný trimer. Je to pracné a zdĺhavé nastavovanie. Vôbec nerieši teplotné závislosti frekvencie Xtalu.

b) frekvencia sa dá doladiť pomocou nastavenia v špecializovanom švábe (napr. MCP79400) alebo sa spraví sw v mcu tak, že sa zadá ako často sa má korigovať čas o +/-1ms. Napríklad pri nameranej odchýlke +10ppm by to znamenalo, že každých sto sekúnd sa odpočíta z “centrálneho času” 1ms.

c) časová odchýlka sa koriguje ešte aj od teploty. Vyžaduje si väčšiu trpezlivosť, ale výsledok stojí za to. Je to niečo obdobné ako pri ženskej :slight_smile:
Čím trpezlivejšie a jemnejšie, tým hlbšie a presnejšie sa človek dostáva pod kožu. Len bacha, aby sa nedostal tak hlboko, že sa už odtiaľ nevymoce a neudusil sa tam :slight_smile:. Dnes majú bežne MCU na sebe aj teplotný senzor. Nemeria teplotu okolia, ale tepltu kremíka. Rozdiel môže byť kľudne aj 10-30°C. To je pri hodinách v podstate jedno. Lebo ak stúpne teplota kremíka, určite stúpla o niečo aj teplota okolia a naopak. A dá sa to odsledovať. Dať hodiny do mrazáku minimálne na 24h a potom do trúby zohriatej termostatom na 50°C (nie do nemoty na 250°C !) Z nameraných údajov spraviť sw korekcie a “skoro” atómové hodiny sú na svete :slight_smile:

c2) Hodiny temperuj na teplotu napríklad 50°C. Prečo tak vysoko? Lebo ak by aj v byte bolo teplo, aby si ten Xtal stále musel ohrievať a nemusel chladiť. Preto 50°C a nie 20°C. Potom stačí nakalibrovať hodiny na tých 50°C a tepota okolia termostatovaním sa nebude meniť o viac ako +/-1°C. Je to ale veľmi energeticky náročné. Rozhodne náročnejšie,ako raz do mesiaca spraviť ručnú korekciu :slight_smile: Toto má zmysel, ak robíš merací prístroj typu presné meranie frekvencie a podobne.

  1. zobrazovadlo. Ak už raz máš císlo, ktoré chceš vystaviť na obdiv a ej jedno či sa jedná o čas, taplotu, tlak alebo výšku konta. Zobraz si ich ako len chceš. Niektorí použijú na normálne človeku zrozumiteľné zobrazenie 7-segmentovky, niektorý znakový LCD, niektorý LED a tu sú možnosti na aké také frajerenie:

2a) zobraziť binárne číslo interpretujúce počet sekúnd od roku 2000. By si bol inak frajer, keby si ho vedel len tak od oka interpretovať. Stačí na to 30 LED diód do roku 2034.

2b) zobraziť binárne číslo zodpovedajúce počtu sekúnd v tom dni. Stačí 17 diód. (Kurňa prečo tí, čo chcú frajeriť sa obmedzujú len na sekundy? Prečo nemachrujú so šesťnástinami sekundy? :slight_smile: )

2c) úplne defenzívny a slabošský prístup o snahu mať hodiny v BCD kóde. Tiež stačí 17 diód. 6 - sekundy, 6 - minúty a 5 hodiny. Ale aj tak ho bežne nikto nepoužíva ako ani predchádzajúce varianty. A zároveň je príliš prvoplánový na frajerstvo pred ostatnými. A ešte na krabičke “takýto frajeri” musia mať tie LEDky vhodne rozvrhnuté aby vôbec vedeli, že čo je čo :wink: Skrátka snúbenie slaboduchosti so slabou predstavivosťou :slight_smile:

2d) variant 2c s negovanými LEDkami. Je to predsa len trochu viac reatívne.

Díval jsem se na jiné hodiny, které měli krystal a napájení z USB a ani mě nenapadlo, že by ještě dnes mohl jít někdo jiným směrem a časovou referenci brát ze sítě. Děkuji za upozornění, dívám se na schéma a Big Bang Geek BCD Clock nepřipadají v úvahu.

Hodiny jsem původně chtěl pro děti jako jednoduchou stavebnici + výuku přepočtu BIN - DEC. Nakonec jsem se rozhodl, že si i jedny postavím pro sebe a z toho důvodu bych chtěl, aby byly praktické (přesné). Počet sekund od roku 2000 nebo třeba Unix time / POSIX time (od roku 1970) opravdu nepřipadá v úvahu :wink:. Způsob rozmístění LEDek je ideální pro rychlé čtení (nejsem frajer :wink:).

EDIT:
Teď mě ještě napadla synchronizace přes internet, a proto jsem do Google zadal jméno nejoblíbenějšího ARM počítače (Raspberry Pi clock bcd OR binary) a evidentně nejsem jediný, koho to napadlo: Freeman Electronics Kit - Binary Clock on Raspberry Pi. V tomto případě ale raději zůstanu u jednoduchého zařízení a relativně nepřesného krystalu.

Toho Xtalu by som sa nebál. Sem tam malá odchýlka je užitočná minimálne pre ten pocit, že tie stroje nás ešte potrebujú aby sme ich čas od času trochu napravili. Inak by sme tu už boli skoro zvytoční :slight_smile:

Souhlas :wink:. I obyčejný krystal bude v pohodě, je nepravděpodobné, že bych se dostal k mezním hodnotám 8,6 s. Teď ještě najít nějakou konstrukci, protože se mi to nechce vymýšlet.

BCD hodiny?

co tohle ? svetelektro.com/clanky/my-binary-clock-327.html