English version

Multifunkční hodiny se 2 displeji

    Úvod:
Tyto hodiny vznikly kvůli potřebě zobrazovat současně čas včetně sekund, datum a den v týdnu. Jsou ale vybaveny i stopkami, budíkem a odpočítáváním (časovačem neboli minutkou) a automatickým přechodem mezi letním a zimním časem. Datum funguje správně i pro přestupné roky. Hodiny jsou vybavené zálohovací baterií. Jako zobrazovače slouží 2 šestimístné 7-segmentové LED displeje s regulovatelným jasem.
    Zapojení:
Displej DISP1 je tvořen třemi LD-D056UR-C, DISP2 třemi LD-D028UG-C, oba jsou typy se společnou anodou, řízené multiplexně. Anody jsou spínány pomocí tranzistorů T1 až T6 (emitorové sledovače) zesilujcích proud. Katody jsou řízeny přímo z mikroprocesoru IO1 přes sériové odpory R1...R16. Frekvence multiplexu je přibližně 100Hz. Přesnost hodin zajišťuje nízkofrekvenční krystal X1 (32 768 Hz). Malý reproduktorek Rep1 slouží jednak alarmu (budíku) a také signalizaci časovače (minutky). Současně se zvukem budíku a minuty svítí i LED1 (tu lze vynechat nebo tento výstup použít třeba ke spínání relé). Hodiny jsou ovládány tlačítky Minuty, Hodiny a Mód. Obvod se napájí zdrojem 5V +/- 10% (např. s obvodem 7805). Proudový odběr záleží hlavně na jasu displeje a množství právě svítících segmentů. Při nejvyšším jasu je odběr do cca 100mA. Hodiny mají zálohovací baterii. Při provozu z ní displej nesvítí a jsou také zablokována tlačítka s vyjímkou vypnutí budíku (alarmu) a zvuku minutky. Zálohovací baterii lze použít jakoukoliv např. 3V, 3,6V, 3,7V či 4,5V. Může to být např. jeden knoflíkový článek 3V, dva až tři články 1,5V, tři články NiMH / NiCd 1,2V či jeden Li-ion / Li-pol článek. Odběr při provozu z baterie s napětím 3V je jen cca 5 - 15uA. Doba provozu z 3V článku CR2032 s obvyklou kapacitou 200mAh je 2,5 - 3 let. Při zvonícím budíku odběr zbaterie stoupne. Přítomnost napájecího napětí 5V snímána vývodem 36 (PA4), log 0 přepne hodiny na úsporný provoz z baterie. Tento vstup lze využít i k vypínání displeje nebo krátkodobému zapnutí displeje během provozu z baterie. Oba zdroje napájení jsou sloučeny přes schottkyho diody D1 a D2 s nízkým úbytkem napětí. D1 brání zpětnému toku proudu z baterie do síťového zdroje a chrání obvod hodin před jeho přepólováním. D2 zabraňuje nechtěnému nabíjení baterie během provozu ze sítě.
    Program:
Program těchto multifunkčních hodin dávám ke stažení v HEX souboru přímo pro nahrání do mikrokontroléru i jako zdrojový kód v Assembleru pro případné úpravy. Varování: Program je dost složitý a nepřehledný. Vychází z osvědčeného programu předchozích Multifunkčních hodin. Na obrázku níže je vidět nastavení konfiguračních bitů AVR. MCU běží na 4MHz z interního RC oscilátoru, Časovač/čítač 2 běží asynchronně z krystalu 32 768 Hz. V nečinnosti během síťového napájení hodin přechází IO1 do sleep módu Idle. a při bateriovém napájení do Power Save módu a má tedy velmi nízkou spotřebu.
    Ovládání funkcí:
Tlačítka TL1 a TL2 se používají k ovládání aktuální funkce. Hlavní displej DISP1 zobrazuje vždy čas ve tvaru "Hodiny.Minuty.Sekundy", displej DISP2 zobrazuje další funkce, přepínané tlačítkem TL3 (mód):
1. Datum
Datum ve tvaru "Den_v_týdnu.Den.Měsíc". Tlačítka TL1 a TL2 slouží k nastavení jasu displeje v 6 stupních: 1/1, 1/2, 1/4, 1/8, 1/16 a 1/32.
2. Automatický čas + režim alarmu
Tlačítko TL1 slouží k zapínání/vypínání alarmu a volbě jeho režimu: "AL._" = vypnutý alarm, "AL.1" = jednorázový alarm (poté automaticky nastaven na vypnuto), "AL.5" = alarm jen ve všední dny (Po-Pá ano, So-Ne ne), "AL.7" = alarm každý den. Výchozí nastavení je vypnutý alarm. Tlačítko TL2 zapíná automatický čas. Pokud je zapnutý, zobrazí se "Au", pokud je vypnutý, zobrazí se "_ _".
3. Alarm
Zobrazení a nastavení času budíku (alarmu), tvar "HH.MM.AL". Tlačítko TL1 nastavuje minutu budíku, TL2 nastavuje hodinu budíku.
4. Stopky
Stopky umožňují měřit čas s přesností na 0,1s. Maximální čas je 9.59.59.9 (téměř 10 hodin). Zobrazení je ve tvaru Hodina.Minuty.Sekundy.Desetina_sekund). Tlačítko TL1 slouží ke spuštění a zastavení stopek. Tlačítko TL2 slouží k nulování (běžící stopky jsou prvním stiskem zastaveny a dalším nulovány).
5. Odpočet (časovač, minutka)
Nyní jste v módu odpočet - odpočítávání času od nastavené hodnoty k nule. Poté je spuštěn zvukový signál a rozsvícena LED1. Zvukový signál vypnete tlačítkem TL3. Zobrazení je ve tvaru "Hodiny.Minuty.Sekundy.". Poslední tečka svým svitem signalizuje zastavení odpočtu. Tlačítko TL2 slouží k přepínání cifer během nastavování počáteční hodnoty. TL1 slouží k nastavení. Právě nastavovaná cifra bliká frekvencí 5Hz. Maximální nastavitená hodnota je 99.59.59 (téměř 100 hodin). Po nastavení všech cifer se tlačítkem TL2 opět vrátíme do módu odpočtu. Zde tlačítko TL1 slouží ke spuštění a zastavení odpočtu.
    Nařizování hodin:
Dlouhým stiskem tlačítka TL3 vstoupíte do nařizování. Hodiny potom nařídíte ve třech krocích, přepínaných krátkým stiskem TL3.
I. Den v týdnu a rok
TL1 nastavuje rok, TL2 nastavuje den v týdnu.
II. Datum
TL1 nastavuje měsíc, TL2 nastavuje den.
III. Čas
TL1 nastavuje minuty, TL2 nastavuje hodiny.

Celý program ke stažení:
Zdrojový kód v assembleru (ASM)
Přeložený v HEX souboru (3 896 Bajtů)
Zapisování programu do AVR se podrobněji věnuji zde.

Případným zájemcům mohu naprogramovaný mikroprocesor poslat. Více info zde.


Schéma hodin se dvěma displeji s AVR ATmega16A / ATmega16L - klikněte pro zvětšení



Nastavení konfiguračních bitů.


Dokončené hodiny se dvěma displeji.


Hodiny - vývoj.


Vznikající pokusná deska.


Displeje


Zabudování hodin do krabičky.

------ SEM DÁT VIDEO -----
Video - Test hodin



Přidáno: 16. 10. 2013
zpět na úvodní stránku