English version

Digitronové hodiny

    úvod:
Po 22 letech bastlí?ského ?ivota jsem se kone?ně dostal ke stavbě toho, co by ka?dy bastlí? někdy měl postavit. Digitronové hodiny jsou prostě takovou Mekkou bastlení :). Co to jsou digitrony popisuji podrobněji v tomhle ?lánku.
    Funkce hodin:
Hodiny samoz?ejmě zobrazují ?as. Ten zobrazují v?etně sekund, proto?e bez pohybujících se sekund s ?íslicemi skákajícími do r?znych hloubek digitronu to prostě nejsou správné digitronové hodiny. Dále zobrazují i datum a den v tydnu. Umí po?ítat p?estupné roky a automaticky p?echázejí na letní a zimní ?as. Nechybí ani budík s mo?ností budit jednorázově, v?ední dny nebo ka?dy den. Mají také digitální korekci rychlosti chodu a po?ítadlo provozních hodin, které je pro sledování ?ivotnosti digitron? velmi u?ite?né. V pravidelnych intervalech dochází k rotaci ?íslic kv?li prevenci otravy katod. Manuálně také lze vyvolat trvalou rotaci pro regeneraci digitron?. K zobrazení jsem pou?il ?est digitron? IN-12B (vy?ka znaku 18mm) a jako te?ky stejnosměrné doutnavky INS-1.
    Zapojení:
Hodiny mají ?estimístny displej sestaveny z digitron? IN-12B. Lze beze změny pou?ít i IN-12A. Ty se li?í jen absencí desetinné ?árky, která zde není vyu?ita. Digitrony jsou ?ízeny tzv. sí?ovym duplexem. Je to obdoba dvoukrokového multiplexu, kde jedna p?lperioda sítě rozsvěcí jednu skupinu cifer a druhá druhou. V tomto p?ípadě je zobrazení rozděleno na sudá a lichá místa. Vyhodou tohoto zapojení je, ?e oproti statickému buzení se sní?í po?et budi?? digitron? MH74141 ze ?esti na t?i. V porovnání s bě?nym multiplexem je zde také několik vyhod. Není nutné aktivně spínat anody (ka?dá anoda dva VN tranzistory) a není nutny tak velky pulzní proud pro dosa?ení po?adovaného jasu, jako p?i ?estikrokovém multiplexu. Klasicky multiplex byvá problematicky i z d?vodu velkého napětí obdélníkového pr?běhu, které vlivem kapacitních proud? vyvolává slaby svit neaktivních ?íslic (duchy). U sí?ového duplexu k takovému problému nedochází, proto?e se pracuje se sinusovym pr?během napětí, nikoliv obdélníkovym. Odpadá tím i pe?livá filtrace napájecího napětí, typická pro klasicky multiplex, a jakékoliv kondenzátory nabité na nebezpe?né napětí. Jako oddělova? ?íslic slou?í dvě dvojte?ky tvo?ené doutnavkami INS-1. Jsou rozděleny do dvou dvojic zapojenych v sérii. Jednu tvo?í horní te?ky, druhou dolní. To umo?ňuje pou?ít dolní te?ky jako te?ky za datumem. Obě skupiny doutnavek jsou také spojeny do duplexu, tak?e k jejich ?ízení sta?í jediny VN tranzistor T2.
    Jako ?ídící obvod byl zvolen Atmel AVR ATmega8A (ATmega8L). Ten zaji??uje v?echny pot?ebné funkce pro provoz hodin. Pin PD3 (INT1) slou?í k synchronizaci duplexu p?es tvarovací tranzistor T1. Pokud by byl duplex prohozeny (prohodí se zobrazení jednotek s desítkami), p?epólujte primár nebo sekundár pomocného trafa. Trafo Tr1 (230V / 9V - 1,5VA) slou?í nejen jako zdroj napájení pro logiku, ale také k rozli?ení p?lperiod. Stabilizaci napětí 5V zaji??uje tradi?ně obvod IO5 (7805) s malym chladi?em. Aby nedo?lo k vynulování hodin p?i vypadku sítě, nechybí jim ani zálohovací baterie. Ta má napětí 4,5V (pop?. 3V, 3,6V nebo 3,7V). Já jsem pou?il t?i AA ?lánky. Sta?ila by i mnohem men?í baterie, proto?e spot?eba během zálohování je jen asi 9uA. Během provozu z baterie digitrony pochopitelně nesvítí a tak sta?í napájet jen IO1, nikoliv hladové 74141, odebírající dle katalogu a? 32mA, změ?eno 24mA. Zpětnému toku proudu z baterie do budi?? 74141 a do 7805 zabraňuje schottkyho dioda D1. Dioda D2 zabraňuje nechtěnému nabíjení baterie p?i provozu ze sítě.
    Piezoreproduktorek Rep1 zaji??uje zvukovy signál budíku (alarmu). Lze ho nahradit induk?ním reproduktorkem s kondenzátorem 1u v sérii. Budík funguje i p?i napájení z baterie. Hodiny se ovládají pomocí tla?ítek TL1 a TL2. Pin PD3 (INT1) slou?í kromě synchronizace duplexu i ke zji?tění, zda je p?ítomno sí?ové napětí. Pokud nedojde po dobu 250ms k ?ádné změně úrovně, p?ejdou hodiny na úsporny bateriovy provoz. Vystupy IO1 vedoucí do budi?? 74141 a T2 jsou nastaveny na log 0. Obvod hodin je napájen ze sítě bez oddělení. Sí?ové napětí okolo 230V je p?ibli?ně to nejvhodněj?í napětí k napájení digitron?. Provoz bez oddělovacího transfomátoru je mo?ny, pokud jsou celé hodiny uzav?ené do vhodné bezpe?né sk?íňky a ?ádná ?ivá ?ást není zven?í p?ístupná. Zálohovací baterie musí byt uzav?ena a nep?ístupná z ven?í (nelze pou?ít nap?. pouzdro pro baterii s dví?ky). Tla?ítka musí byt dimenzována na 250Vac, proto?e nejde jen o napětí kontakt-kontakt, ale i napětí kontakt-?lověk ma?kající hmatník :). Digitrony samoz?ejmě nejsou odkryté, jsou pod bezpe?nym pr?hlednym krytem. Konstrukce s odkrytymi digitrony je dle mého názoru nejen nebezpe?ná (i v p?ípadě oddělení od sítě), ale také dost náchylná k po?kození digitron? a v neposlední ?adě zna?ně anachronická (nevím o ?ádném za?ízení z dob bě?ného pou?ívání digitron?, které by mělo digitrony odkryté). Samoz?ejmě je ale mo?né konstrukci doplnit o oddělovací transformátor. Hodiny napájené ze sítě bez oddělovacího transformátoru pochopitelně nelze p?ipojit k programovacímu rozhraní, ale programování MCU lze provést mimo desku a nebo s pou?itím zálo?ní baterie.
    Proud digitrony je zvolen co nejmen?í pro prodlou?ení jejich ?ivotnosti. Některé datasheety uvádějí rozmezí proudu 2 - 3,5 mA a některé 2,5 - 3 mA. Minimum se tedy pohybuje kolem 2 - 2,5 mA. P?íli? maly proud m??e zp?sobit, ?e se nerozsvítí celá katoda, ale jen její ?ást. P?i napájení pulzujícím proudem musí tedy ?pi?kovy proud p?esáhnout alespoň na chvíli minimální hodnotu. Odpory R1 - R6 ur?ují proud digitrony. Odpor R9 slou?í k jemnému doladění proudu a lze ho vypustit. úbytek digitron? IN-12B je cca 130V a ?pi?kové napětí sítě je 325V, na odporech je tedy ?pi?kové napětí 195V. Odpory jsou voleny tak, aby ?pi?kovy proud mírně p?esáhl minimální provozní proud. R = UR ?p. (195V) / Imin. (2-2,5mA). Pokud by proud nesta?il ke správnému zobrazení, lze hodnoty odpor? sní?it. Já jsem zvolil ?pi?kovy proud cca 2,3mA (st?ední proud je cca 0,5mA). Ukázalo se, ?e to bohatě sta?í ke správnému zobrazení i k dobré ?itelnosti digitron? dokonce i za denního světla.
    Program:
Program digironovych 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 nízkofrekven?ním krystalem 32 768 Hz, ktery umo?ní nízkou spot?ebu p?i provozu z baterie. MCU je taktován na 4MHz z vnit?ního RC oscilátoru. V ne?innosti během sí?ového napájení hodin p?echází IO1 do sleep módu Idle. P?i bateriovém napájení hodin p?echází během ne?innosti do módu Power Save, co? umo?ní velmi nízkou spot?ebu. Taktování MCU je v tomto stavu vypnuto a bě?í pouze asynchronní ?asova?/?íta? 2. 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 ukládána také kompenzace krystalu. P?i st?ídavém zobrazení data a ?asu se cyklus opakuje po 7 sekundách. ?íslo 7 bylo zvoleno, proto?e je nesoudělné s ?ísly 10 a 60, a tak nedochází k nerovnoměrnému opot?ebení katod digitron? sekund p?i zobrazování ?asu. ?as je v zájmu digitron? zobrazován déle, ne? datum, proto?e je to proměnlivěj?í údaj.
    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 "DD.MM.0T" (Den.Měsíc.Den v tydnu). Den v tydnu je zobrazen pomocí jeho ?ísla (01 = pondělí ... 07 = neděle). Mezi těmito dvěma módy lze p?epínat tla?ítkem TL1. V obou módech se ka?dych 49 sekund rotují ?íslice po dobu 1,25 sekundy.
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. Nastavování budíku je indikováno st?ídavě blikajícími te?kami. Zvonící budík lze zastavit kterymkoliv tla?ítkem.
3. Na?izování
Dlouhym stiskem tla?ítka TL2 se dostanete do procesu na?izování hodin. Postupně na?ídíme hodiny, desítky minut, minuty, sekundy, rok, den, měsíc, den v tydnu a automaticky p?echod na letní a zimní ?as (111111 = zapnuto, 000000 = vypnuto). K nastavování slou?í TL1, k p?epínání mezi jednotlivymi kroky TL2. Po ?ty?minutové neaktivitě se hodiny automaticky vrátí z na?izování do zobrazení ?as+datum.
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. Speciální funkce
Dlouhym stiskem tla?ítka TL1 se dostaneme ke speciálním funkcím. První z nich je test digitron?, p?i kterém na v?ech cifrách postupně bě?í ?íslice od 0 do 9. Lze pou?ít i k údr?bě digitron? (proti otravě katod). Stiskem TL2 se dostanete k dal?í speciální funkci, co? je kompenzace krystalu. Pokud hodiny nejdou p?esně, m??ete je se?ídit v rozmezí -75 a? +75 ppm s krokem 3ppm (3 miliontiny). Tla?ítkem TL1 nastavíte hodnotu. Záporné hodnoty se zobrazují vlevo, kladné vpravo (nap?. -12ppm se zobrazí jako "12 00 00", +75ppm jako "00 00 75"). Je?tě jedním stiskem TL2 se dostaneme do poslední speciální funkce, co? je po?ítadlo provozních hodin. Zobrazuje celkovou dobu provozu za?ízení (v hodinách). Následujícím stiskem TL2 se ji? dostanete zpět k zobrazení ?asu. 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ě. Te?ky rychle zablikají a po?ítadlo se nastaví na 000000. Nulování se doporu?uje provést pouze p?i vyměně digitron?. Za normálních okolností tedy propojku DP1, povolující nulování, nepropojujte.
    Zku?enosti z provozu hodin:
20. 8. 2015 - prvních 1000h provozu bez poruchy, bez známek opot?ebení.
31. 1. 2016 - 2000h provozu bez poruchy, bez známek opot?ebení.

     Upozornění: Za?ízení pracuje se ?ivotu nebezpe?nym sí?ovym napětím. Obvod není oddělen od sítě a v?echny jeho ?ásti musí byt vhodně izolované. Tla?ítka musí byt dimenzována na sí?ové napětí a zálo?ní baterie nesmí byt p?ístupná zven?í. Mikroprocesor nesmí byt p?ipojován k programovacímu rozhraní p?i napájení ze sítě. Za?ízení musí byt vybaveno vhodnou pojistkou. Konstrukce je vhodná jen pro konstruktéry znalé zásad bezpe?né práce se 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 (2 900 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 digitronovych hodin
Schéma digitronovych hodin s AVR ATmega8A / ATmega8L. (Klikněte pro zvět?ení)


Nastavení konfigura?ních bit? v progamu PonyProg.
(Hexadecimální hodnoty jsou Low Fuse: E3, High Fuse: D1.)


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

Hotové digitronové hodiny






















Digitronové hodiny během stavby


Sovětské digitrony IN-12B (ИН-12Б) z let cca 1987 - 1990.


Testy IN-12B.


Oválné patice pro IN-12B. Nejspí? to je typ PL31a-p (ПЛ31а-п) nebo SK-136. Jsou z roku 1983.


Srovnání digitron? p?i pulzujícím (jednocestně usměrněném bez filtrace) st?edním proudu 0,3mA a p?i stejnosměrném proudu 0,3mA. P?i pulzujícím proudu se doutnavy vyboj mnohem lépe rozdělí po celé katodě ne? p?i stejnosměrném proudu, a? st?ední hodnota proudu je stejná.


Doutnavky INS-1 - vyndávání ze starodávné krabice.


Pr?běh tvorby ?ídící desky


Vy?ezávání děr pro patice


Tvorba desky s paticemi


První úspě?né spu?tění.


Deska s ATmega8A, 3x MH 74141 a dal?ím


Více méně hotové digitronové hodiny, chybí sk?íň.


Animace nazna?uje 50x zpomaleně, jak probíhá duplex.


Pr?běh proudu digitronem.


Krabice pro vestavbu digitronovych hodin.


Volba trafa ze ?uplíkovych zásob.


Tohle se stane, kdy? digitrony nete?e dostate?ny proud. Svítí jen ?ást ?íslice.


Za?íná vestavba do krabice








Zálohovací baterie. Sta?ily by daleko men?í, ale kdy? u?, tak u? :).











Video - témě? hotové hodiny, u? je zbyvá jen zask?ínit.



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