English version

Radiově ?ízené VFD (itronové) hodiny s DCF-77

     úvod:
Rozhodl jsem se postavit si hodiny s vakuovym fluorescen?ním displejem (VFD), nazyvanym také itron. Aby měly tyto hodiny i nějakou funkci navíc, p?idal jsem p?íjem radiového ?asového signálu z vysíla?e DCF-77. Hodiny se tedy samy na?izují a jdou v?dy p?esně. Nechybí jim ani datum, automaticky letní a zimní ?as, budík a nastavitelny jas displeje. Jeliko? se mi hodiny s p?íjmem DCF zalíbily, rozhodl jsem se postavit i hodiny s DCF-77 ve verzi s LED displejem.
     Zapojení:
Hodiny mají ?estimístny displej sestaveny jednomístnych sovětskych VFD zobrazova?? IV-22 (ИВ-22). Po úpravě ?havícího zdroje lze ale pou?ít témě? jakékoliv VFD, nap?. IV-3, IV-6, IV-11, IV-12, nebo i moderní VFD v?etně plochého monolitického. Jako ?ídící obvod jsem zvolil Atmel AVR ATmega8A (ATmega8, ATmega8L). Ten zaji??uje v?echny pot?ebné funkce pro provoz hodin. Taktován je z krystalu 4MHz. Napájení je ?e?eno pomocí dvou trnansformátork?: Tr1 a Tr2. Tr1 (15V) zaji??uje anodové napětí pro VFD a napětí pro mikroprocesor. Anodové napětí cca 42V je získáno zdvojova?em. Napětí pro mikroprocesor je sní?eno z napětí 21V na 5V pomocí obvodu 7905, co? je obdoba známého 7805, pracující se spole?nym kladnym pólem. Tr2 zaji??uje st?ídavé ?havící napětí pro VFD displeje. ?havící napětí IV-22 je 1,2V a proud 100mA. P?i sériovém zapojení je tedy pot?eba 7,2V a 100mA. Sériové zapojení bylo zvoleno, proto?e hotové transformátorky s tak nízkym vystupním napětím, jako je 1,2V, nejsou bě?né. Lze pou?ít jakékoliv trafo a vystupním proudem alespoň 100mA a nejbli??ím vy??ím napětí, které se doupraví pomocí odporu Rx na 7,2V. P?vodně jsem zamy?lel trafo 7,5V. Jeliko? ale malé transformátorky mají p?i ni??í ne? plné zátě?i o dost vy??í sekundární napětí, ukázalo se, ?e i p?i pou?ití trafa 6V s vykonem 1,5VA (nejni??í vykon bě?ně dostupného zalitého transformátorku) je vystupní napětí p?i zátě?i 100mA stále vy??í, ne? 7,2V, a je tedy t?eba je?tě p?idat odpor. St?ed ?havícího okruhu slou?í jako katoda. Je p?ipojen k Zenerově diodě ZD1, která ur?uje zavírací napětí VFD. Pro jeho úplné zhasnutí je toti? na anodě ?i m?í?ce pot?eba ur?ité záporné napětí v??i katodě. Zavírací napětí je pot?eba dostate?ně vysoké, proto?e ?havení je p?ímé a na katodové napětí je tedy superponováno ?havící napětí. Napětí anod a m?í?ek je spínáno pomocí vysokonapě?ovych PNP tranzistor? T1...T14 s povolenym napětím alespoň 80V. Ty jsou zapojeny se spole?nym emitorem a jejich báze jsou ovládány z mikroprocesoru IO1. Na neaktivní anody a m?í?ky je p?es odpory p?ivedeno záporné napětí. Displej je ?ízen multiplexně s frekvencí multiplexu cca 100Hz. Kladné napětí je p?ivedeno v?dy na m?í?ku jedné cifry a zároveň na po?adované anody (segmenty). Segment VFD svítí, jen pokud je kladné napětí p?ivedeno zároveň na anodu i m?í?ku. To umo?ňuje jednoduché multiplexování VFD displej?. Vystup PC0 aktivuje první ?íslici zprava, vystup PC1 druhou zprava ... vystup PC5 ?íslici zcela vlevo. Piezoreproduktorek Rep1 zaji??uje zvukovy signál budíku (alarmu). Lze ho nahradit induk?ním reproduktorkem s kondenzátorem cca 1u v sérii. Hodiny se ovládají pomocí tla?ítek TL1 a TL2. Modul pro p?íjem signálu z vysíla?e DCF-77 má rozsah napájecího napětí 1,2 a? 3,3 V. Odběr je méně ne? 90uA, a tak jako zdroj sta?í jednoduchy stabilizátor se Zenerovou diodou ZD2 (tu lze nahradit i bílou ?i modrou LED). Stabilizátor kromě sní?ení napětí také omezí digitální ru?ení ?í?ící se z mikroprocesoru. Jeliko? se p?ijíma? napájí z men?ího napětí, ne? mikroprocesor, jsou logické úrovně upraveny pomocí T2. Vystupní signál modulu je pozitivní (pulzy 100ms ?i 200ms jsou log. 1) a tranzistor T2 signál invertuje, program proto po?ítá s negativním signálem (pulzy jsou log. 0). Signál vstupuje do vyvodu PD2 (INT0).
     P?íjem DCF-77:
Hodiny p?ijímají signál z vysíla?e DCF-77 umístěného v Mainflingenu poblí? Frankfurtu nad Mohanem. Jeho dosah je a? 2000km a pokryvá tak vět?inu Evropy. ?asovy údaj vysílá na dlouhovlnné frekvenci 77,5 kHz s amplitudovou modulací a vykonem 50 kW. Kompletní údaj o ?ase vysílá Ka?dou minutu. údaj je kódován tím, ?e na za?átku ka?dé celé sekundy vy?le zna?ku v podobě poklesu vykonu s délkou 100ms pro logickou 0 nebo 200ms pro logickou 1. Vysílá se tedy 1 bit za sekundu. Pro p?íjem je vhodné pou?ít hotovy modul. Ten má na vystupu demodulovany signál, tedy kladné impulzy s délkou 100ms ?i 200ms, v?dy 1x za sekundu. Vyjimkou je ka?dá 59. sekunda v minutě, kdy je jeden impulz vynechán. To signalizuje, ?e dal?í impulz bude znamenat za?átek nové minuty. Vyznamy bit? jsou znázorněné ní?e. Nulty bit je v?dy logická 0 (pulz 100ms) a spolu s p?ede?lym vynechanym impulzem znamená, ?e sekundy právě p?e?ly na hodnotu "00". Bity 1 - 14 obsahují informace o p?edpovědi po?así, p?ípadně civilní varování. P?edpově? vyu?ívají r?zné domácí meteostanice. Kódování p?edpovědi po?así není, zdá se, oficiálně zve?ejněno. Nejspí? za ú?elem monopolu na prodej meteostanic a vět?ího vydělku. K dispozici jsou asi jen vysledky reverzního in?enyrství a pokus? o rozlu?tění ?ifry r?znymi nad?enci. Zda jejich zve?ejňování je legální netu?ím. Pro ú?ely těchto hodin ale nejsou zajímavé. Bity 15 a? 19 obsahují informaci o nouzovém provozu vysíla?e, blí?ícím se p?echodu na letní ?as, zda platí letní ?i zimní ?as a informaci o blí?ící se p?estupné sekundě.
     Pro na?e ú?ely v?ak jsou zajímavé jen bity 20 - 59 a nulty bit. Ty obsahují informace o ?ase (minuty, hodiny, den měsíce, den tydne, měsíc, rok) a kontrolní paritní bity. Sta?í tedy během p?íjmu zaznamenávat bity od 20. do nultého. S vynechanym 59. bitem je to tedy 40-bitová informace. Bity 1 - 19 jsou ignorovány a jejich chybny p?íjem nemá vliv. K úspě?né synchronizaci hodin tedy sta?í, aby byl signál bezchybně zachycován od 20. sekundy do nulté sekundy. Po prvním zapnutí hodin tedy jejich automatické na?ízení trvá dle okam?iku zapnutí 40 - 100 sekund. P?ijaté bity se postupně rolují do pětice 8-bitovych registr?, celkem tedy 40 bit?. P?ebyte?né bity p?etékají. V okam?iku, kdy poslední bit byl p?ijat po 2-sekundové meze?e, jsou v posuvnych registrech bity od 20. do nultého (bit 59 není zapo?ítán). P?ijetí bitu po 2-sekundové meze?e spustí vyhodnocení p?ijatych dat. Během něj je kontrolována správnost v?emi dostupnymi zp?soby. Jsou kontrolovány 3 paritní bity (minut, hodin a datumu). Dále je kontrolováno, zda nulty bit byl "0" a 20. bit byl "1". Dále je je?tě zkontrolováno, zda ?ísla jsou v povoleném rozmezí (tedy minuty 00-59, hodiny 00-23, den 1-31, měsíc 1-12, den tydne 1-7) a zda ?ádny BCD kód nenabyvá zakázanych hodnot (tedy hodnota více ne? 9). Nakonec je zkontrolována i konzistence ?asu s p?edchozím správnym vzorkem. Pokud je v?e v po?ádku, hodiny se podle p?ijatého signálu na?ídí.
     Je nutno dodat, ?e signál z hotového p?ijímacího modulu rozhodně nemusí byt bezchybny. Ukázalo se, ?e pulzy na vystupu nejsou ?isté pulzy délky 100 nebo 200ms, ale jsou rozt?í?těny na sled krátkych impulz?, viz obrázek ní?e. Program s tím tedy musí po?ítat a musí odfiltrovat krátké mezery v pr?běhu pulzu. V p?ípadě mého programu je sestupná hrana vyhodnocena a? pokud signál setrvá na log. 0 déle, ne? 25ms. Dále je pot?eba po?ítat i s ru?ivymi impulzy v náhodnych místech mezi skute?nymi impulzy z vysíla?e. Krátké ru?ivé pulzy jsou potla?eny u? na základě jejich nedostate?né délky. Jeliko? pulzy vysíla?e p?icházejí v?dy po 1s, je mo?né také odli?it del?í ru?ivé impulzy od impulz? vysíla?e díky tomu, ?e p?ijdou p?íli? brzy. Program tedy ignoruje pulzy, které se objeví do 900ms od za?átku p?edchozího vyhodnoceného pulzu. Díky tomuto hodiny správně synchronizují, i pokud je signál méně kvalitní, a umí si poradit i s ru?ivymi pulzy a rozt?í?těním pulz? vysíla?e.
     Pulzy jsou kódovány poklesem vysílacího vykonu. Ru?ivé signály z jinych zdroj? se k vykonu vysíla?e p?i?tou a demodulátor tedy vytvo?í ve vystupních pulzech krátké mezery. Krátké vypadky signálu vysíla?e zase zp?sobují ne?ádoucí vystupní pulzy, jeliko? se chovají podobně, jako pokles vysílacího vykonu. Bez softwarového opravování chyb signálu se témě? nelze obejít. P?ijímací anténa je feritová. Ferit je nutno umístit vodorovně bokem k vysíla?i. Z pohledu ?R je vysíla? na západní straně a feritovou anténu je tedy nutno umístit do severo-ji?ní polohy.
     Program:
Program VFD hodin je ní?e ke sta?ení v HEX souboru p?ímo pro nahrání do mikrokontroléru i jako zdrojovy kód v Assembleru pro p?ípadné úpravy. Na obrázku ní?e je nastavení konfigura?ních bit? mikroprocesoru v programu AVRISP i PonyProg. Hodiny jsou ?ízeny krystalem 4 MHz. Zajímavostí je po?ítadlo provozních hodin. Aby nedo?lo ke ztrátě údaje (24bit) ani p?i odpojení sítě i baterie, je ukládán do EEPROM a 8x za hodinu aktualizován. Aby nedo?lo k brzkému opot?ebení EEPROM (garantovaná ?ivotnost ka?dého bajtu je 100 000 zápis?), pou?ívá se rozdělování zátě?e (wear leveling). Pro nejni??í bajt je postupně st?ídáno 96 r?znych bajt? v EEPROM. Pro vy??í dva bajty to není pot?eba, proto?e se aktualizují jen p?i p?ete?ení ni??ího. Ke 100 000. zápisu toho samého bajtu by do?lo a? po 137 letech trvalého provozu. Do EEPROM je ulo?eno také nastavení jasu, no?ního stmívání, automatického letního/zimního ?asu a vychozí mód zobrazení, aby po vypadku napájení z?stalo v?e zachováno.
     Ovládání:
Hodiny se ovládají pomocí tla?ítek TL1 a TL2.
1. Zobrazení
Hodiny mají dva základní módy zobrazení. První z nich zobrazuje pouze ?as ve tvaru "HH.MM.SS" (Hodiny.Minuty.Sekundy). Druhy zobrazuje st?ídavě ?as a datum s periodou 7 sekund. ?as je v?dy zobrazen po dobu 5 sekund a datum po dobu 2 sekundy. Datum je zobrazeno ve tvaru "TT.DD.MM" (Den v tydnu.Den.Měsíc). Tla?ítko TL2 p?epíná mezi zobrazením ?asu, ?asu+data a nastavením budíku. Tla?ítko TL1 umo?ňuje volbu jasu v 6 stupních (1/32 - 1/16 - 1/8 - 1/4 - 1/2 - max). Pokud v posledních 10 minutách do?lo k úspě?né synchronizaci s DCF, te?ky za hodinami a za minutami blikají s frekvencí 1Hz. V opa?ném p?ípadě svítí trvale. V okam?iku úspě?né synchronizace rychle zablikají (4Hz). Te?ka za sekundami bliká v rytmu impulz? z p?ijíma?e DCF a indikuje jeho správnou funkci (ka?dou sekundu záblesk dlouhy 0,1 - 0,2s).
2. Budík
Hodiny jsou vybavené budíkem. Tla?ítkem TL2 postupně p?echázíte mezi zobrazením ?asu, ?asu+data a ?ty?mi kroky nastavení budíku: Hodiny budíku, desítky minut budíku, minuty budíku, mód budíku. K nastavení slou?í tla?ítko TL1. Módy budíku jsou: 0 - vypnuty, 1 - jednorázovy, 5 - v pěti pracovních dnech, 7 - ka?dy den. Zobrazení je "hh.mm.Ax" (hh jsou hodiny, mm minuty, x je mód budíku). Zvonící budík lze zastavit kterymkoliv tla?ítkem.
3. Ru?ní na?izování, speciální funkce
Hodiny se na?izují samy podle signálu DCF, ale v p?ípadě pot?eby je mo?né je na?ídit i ru?ně. Dlouhym stiskem tla?ítka TL2 se dostanete k na?izování hodin a také ke speciálním funkcím a nastavením. Mezi jednotlivymi funkcemi pak p?epínáte krátkym stiskem TL2. Nastavení provádíte pomocí TL1. Nejprve se zobrazí po?ítadlo provozních hodin. Zobrazuje celkovou dobu provozu za?ízení (v hodinách). Následujícím stiskem TL2 se zobrazí doba uplynulá od poslední úspě?né synchronizace s DCF. Dal?í stisk TL2 zobrazí r?zná surová data z p?ijíma?e DCF - tedy po?ítadlo p?ijatych bit?, hodnotu právě p?ijatého bitu a stav vyhodnocení. Poslední dvě ?íslice jsou sekundy reálného ?asu. Dal?ím stiskem TL2 se dostanete do procesu ru?ního na?ízení hodin. Postupně na?ídíme hodiny, desítky minut, minuty, sekundy, rok, den v tydnu, den a měsíc. Poté následuje nastavení no?ního stmívání (n.di). hodnota 0 znamená vypnuto. Hodnoty 1 a 2 znamenají, ?e v noci (od 21:00 do 5:00) bude jas displeje sní?en o 1 ?i 2 stupně. Dále nastavíme automaticky p?echod na letní a zimní ?as (dSt). Hodnota 0 znamená vypnuto, hodnota 1 zapnuto. Pak nastavíme synchronizaci se signálem DCF-77 (dCF). Hodnota 0 znamená vypnuto, hodnota 1 zapnuto. Dal?ím stiskem TL2 se ji? dostaneme nastavení budíku (popsáno vy?e) a poté do základního zobrazení.
4. Automaticky letní a zimní ?as
Pokud je automaticky p?echod povolen, p?esun na letní ?as proběhne poslední neděli v b?eznu tím, ?e po 1:59:59 následuje 3:00:00. P?esun na zimní ?as proběhne poslední neděli v ?íjnu tím, ?e po 2:59:59 následuje 2:00:00. (Dle pravidla platného pro témě? v?echny evropské státy v?etně ?R a SR od r. 1996.)
5. Vynulování po?ítadla provozních hodin
Po?ítadlo provozních hodin lze vynulovat tím, ?e p?i propojené drátové propojce DP1 dlouze stisknete tla?ítka TL1 i TL2 sou?asně. Po?ítadlo se nastaví na 000000. Nulování se doporu?uje provést pouze p?i vyměně VFD. Za normálních okolností tedy propojku DP1, povolující nulování, nepropojujte.

     Zku?enosti z provozu hodin:
13. 2. 2019 - 29 700 h provozu bez poruchy, bez viditelného opot?ebení.

     Upozornění: Napětí v celém obvodu m??e byt nebezpe?né. Zdrojová ?ást pracuje s neoddělenym sí?ovym napětím. V?e děláte na vlastní nebezpe?í. Autor nebere ?ádnou zodpovědnost za jakékoliv va?e újmy.

     Cely program ke sta?ení:
Zdrojovy kód v assembleru (ASM)
P?elo?eny v HEX souboru (4 990 Bajt?)
Zapisování programu do AVR se podrobněji věnuji zde.

P?ípadnym zájemc?m mohu naprogramovany mikroprocesor poslat. Více info zde.

Schéma VFD / itronovych hodin
Schéma itronovych (VFD) hodin s IV-22 a p?íjmem DCF-77. (Klikněte pro zvět?ení)


Nastavení konfigura?ních bit? v progamu PonyProg.
Hexadecimálně: Low Fuse: BF, High Fuse: D1.


Nastavení konfigura?ních bit? v progamu AVRISP.

Hotové radiově ?ízené VFD (itronové) hodiny s DCF-77













Hodiny během stavby


Dosah DCF-77 (p?evzato z wikipedie).

Schéma VFD / itronovych hodin
Tabulka vyznamu jednotlivych bit? vysílanych v pr?běhu ka?dé minuty (p?evzato z wikipedie). ?erveně jsem vyzna?il, které bity jsou pro tyto hodiny vyu?ity a jak je 40-bitová informace rozdělena mezi 5 8-bitovych registr?. (Klikněte pro zvět?ení)


Je?tě jeden nákres kódu vysílaného ka?dou minutu - tentokrát kruhovy (p?evzato z ptb.de).


Signály DCF. Ideální a skute?ny pr?běh na vystupu p?ijíma?e.


VFD displeje IV-22 (ИВ-22) zvolené pro stavbu hodin.


První test - ?havení z ?áste?ně vybitého mono?lánku.





Spektrum VFD. Obsahuje spoustu modré, azurovou a spoustu zelené. Je tu i trocha ?ervené, ale chybí ?lutá.


Patice PL31a-p (ПЛ31а-п) v hnědé verzi, vyrobené 1985.


?ídící deska VFD hodin. Zatím se napájí z externího zdroje.


První test proběhl s jinym VFD - miniaturním plochym 8-cifernym.


Modul pro p?íjem DCF-77 s laděnou feritovou anténou.


Modul po úpravě - pou?it bytelněj?í kabel k anténě a p?idána desti?ka s tvarova?em a blokujícím kondenzátorem.


Deska s VFD displeji IV-22


?ídící deska po doplnění zdroje.


První úspě?né testy ?estimístného displeje z baněk IV-22.


Pokus s barevnymi filtry ukázal, ?e z VFD se dá získat za cenu men?ích ?i vět?ích ztrát témě? jakákoliv barva. Nakonec jsem se ale rozhodl pou?ít neutrální ?edy filtr, proto?e typické barvě VFD se prostě nic nevyrovná :). Je to nepopsatelná modro-zeleno-tyrkysovo-azurová barva, kterou nemá nic jiného.


Vestavba do krabice.





Témě? hotové.


Sovětské vs. mezinárodní zna?ení segment? sedmisegmentovky. Pozor, tyto VFD jsou nejen zna?ené azbukou, ale také v jiném po?adí, ne? obvykle.


VFD IV-22 (ИВ-22) - datasheet 1


VFD IV-22 (ИВ-22) - datasheet 2


Video



P?idáno: 1. 7. 2015
zpět na úvodní stránku
手机捕鱼游戏