UPOZORNĚNÍ! V této konstrukci se nachází nebezpečné napětí. Vše děláte na vlastní riziko.
V provozu (klikněte pro plné rozlišení)
Schéma hlavní desky plošných spojů (klikněte pro plné rozlišení)
Hlavní deska se skládá z těchto částí:
Zdroj +180 V je klasický zvyšovací (step-up, boost) měnič na bázi integrovaného obvodu MC34063. Pracuje v nespojitém režimu. Špičkový proud je nastaven rezistorem R1 (0.22 Ω - později zvýšený na 0.47 Ω). MOSFET Q2 spíná tlumivku L1, po jeho rozepnutí je energie z tlumivky vybíjena přes diodu D6 do kondenzátoru C8 a externího filtračního foliového kondenzátoru 1 µF (který je připojený k J10, J11). Součástky R3, D2, R4, Q1 řídí gate MOSFETu. R2 omezuje proud, R3 a Q1 vybíjí gate, D2 přemosťuje Q1 při nabíjení gate. Výstupní napětí je nastaveno součástkami R12, R13, RV1. RV1 je trimr použitelný k přesnějšímu nastavení výstupního napětí. R16, D7 se starají o vypnutí měniče, dokud MCU ATtiny88 nepřizemní uzel HV_INHIBIT.
Katody digitronů jsou řízeny pomocí tranzistorů Q3-Q7, Q10-Q14. Anody jsou řízeny pomocí Q16-Q23. Proud digitrony je omezen rezistorem R17 (10 kΩ 2 W) na přibližně 4 mA (je zde uvažován úbytek napětí na digitronech 140 V), tzn. cca 1 mA na digitron v průměru (jsou multiplexované). Dvojtečka se skládá ze dvou doutnavek (NE-2H) a je řízena pomocí Q8, Q15, proud je omezen rezistory R40, R41 na přibližně 250 µA (při úbytku napětí doutnavek 80 V). Všechny výstupy pro doutnavky a digitrony jsou vyvedeny na konektory J3-J6 (vysoké kolíkové řady). Takovéto kolíkové řady byly použity i přes to, že jsou určeny pouze pro malá napětí.
Mikrořadič (U1: ATtiny88) je napájen z větve +5 V. Provozní frekvence je 8 MHz - je použitý vnitřní oscilátor. Mikrořadič řídí budiče anod/katod. Multiplex anod je kombinován s multiplexem tlačítek (uzly DRV_A-DRV_D). R8, C11 filtrují signál z obvodu multiplexu tlačítek. Podpěťová ochrana měniče napětí je také implementována ve firmware mikrořadiče, využívá ADC a dělič napětí R25, R42. Uzel HV_INHIBIT je řízen pinem PB1. Uživatelské rozhraní je popsáno níže. Některé funkce (externí hodinový vstup J8, výstup pro bzučák J7) zatím nejsou implementovány. Komunikace mezi MCU a RTC probíhá po sběrnici I2C, která je vyvedena na konektor J9.
Jako RTC je zde použit integrovaný obvod DS3231MZ s bateriovým zálohováním (BT1). IO DS3231MZ má přesnost lepší než ±5 ppm. Při návrhu DPS bylo počítáno s umístěním držáku baterie na zadní stranu desky, nicméně nakonec byl umístěn na stejnou stranu jako ostatní součástky (s miniaturními gumovými podpěrami, aby se nedotýkal ostatních součástek).
Digitrony a doutnavky jsou na vlastní desce.
Deska digitronů a doutnavek (klikněte pro plné rozlišení)
Zde je pouze minimum součástek. V provozu se ale bohužel projevil problém z "duchy"/prosvítáním číslic na další digitrony - možná bude nutné přidat rezistory (cca 2.2-4.7 MΩ) mezi každý uzel buzení anod (A_10H, A_1H, A_10M, A_1M) a GND. Byla použita kombinace digitronů Z570M a Z574M, lze použít kterýkoliv z nich, ovšem je dobré použít pouze jeden typ. Zde použité trubice již měly poškozený červený lak, takže byl opatrně úplně odstraněn.
Mezi deskami jsou distanční sloupky vysoké 14 mm.
Na ovládání jsou použita 4 tlačítka, DRV_A (nejvíce vlevo při pohledu na hodiny ze zadní strany digitronů) odpovídá funkci "zpět" v nastavování, další tlačítko je "vpřed", další "-" a další "+". Při pohybu vpřed je možné postupně nastavit hodiny, minuty, sekundy, rok, měsíc a den. Datum je ve formátu DD.MM. V režimu nastavování doutnavky neblikají. Pokud se nezmění žádná hodnota, nic se neukládá (aby čas nezůstal "zaseknutý" a neposunul se při ukončení nastavování), takže je možné zobrazit sekundy a datum bez zdržení času RTC.
Do kalibračního režimu lze vstoupit podržením všech 4 tlačítek během zapínání hodin. V tomto režimu lze nastavit "aging offset" IO DS3231M. Po vstupu do kalibračního režimu na digitronech problikne "9999". Horní doutnavka značí kladnou hodnotu, spodní zápornou. Hodnota lze nastavit mezi -127 a +127. Každý +1 LSb odpovídá změně frekvence +0.12 ppm (dle datasheetu DS3231M). Pět stisknutí tlačítka "vpřed" uloží hodnotu do EEPROM ATtiny i RAM integrovaného obvodu DS3231M, způsobí opět probliknutí "9999" a obnovení normálního provozu-
V normálním provozu, kdy tyto hodiny zobrazují čas ve formátu HH:MM, probliknou doutnavky jednou za sekundu.
Je možné implementovat další funkce, jako například budík.
Firmware je napsán v C v prostředí Code::Blocks. Pojistky jsou: EFUSE: 0xFF; HFUSE: 0xDC; LFUSE: 0xEE. Příkaz pro AVRDUDE je:
avrdude -c usbasp -p t88 -U flash:w:'<cesta>/Tiny88_NixieClock.hex' -U hfuse:w:0xdc:m -U lfuse:w:0xee:m
HEX soubor i zdrojový kód je dostupný v souborech ke stažení.