Senokai (maždaug nuo 2011 metų pabaigos) naudoju savo neoninių indikatorių laikrodį (angl. Nixie clock). Laikrodį sudaro 4 vnt. IN-14 (rus. ИН-14), mikrovaldiklis Atmega8, realaus laiko laikrodis (RTC) DS1307 ir kiti komponentai. Nors lempos buvo jau naudotos (iš 1977 metų skaičiavimo mašinos Iskra-111), tačiau jos iki šiol puikiai šviečia.
Gan greit pastebėjau, kad RTC turi tendencija skubėti. Nuskuba apie 1 minutę per mėnesį. Tad per kelis mėnesius susidaro pastebimas laiko neatitikimas. Problemą galima buvo spręsti derinant talpas prie 32,768 kHz kvarco, suderinant tiksliam dažniui. Tačiau kintant temperatūrai vistiek greičiausiai dažnio pokyčio nepavyktų išvengti. Taip pat galima laiką koreguoti programiškai pagal įvairius parametrus (laiką, temperatūra), sinchronizuoti su kitomis sistemomis (GPS, NTP) ar taikyti kitus sprendimus.
Senokai ieškojau dažnio problemos sprendimo labiau „aparatiniame“ lygmenyje. Buvau radęs RTC su temperatūriškai stabilizuotu kvarciniu generatoriumi (angl. TCXO). Vienas iš toki sprendimo variantų buvo Maxim DS3231. DS3231 kas 60 sekundžių matuoja temperatūrą integruotu jutikliu ir iš lentelės parenką reikalingą talpą generatoriui. Kreivę papildomai galima koreguoti keičiant 10h registro turinį („Aging Offset“).
Išskirčiau tokius DS3231 privalumus:
- Temperatūriškai stabilizuotas dažnio generatorius
- Integruotas XO (nereikia papildomo kvarco)
- Yra aliarmo funkcija pagal laiką
Ir trukūmus:
- Didesnis mikroschemos korpusas
- Nėra vartotojui skirto RAM (DS1307 turėjo 56 baitus RAM)
Šių mikroschemų buvau įsigijęs gal maždaug prieš 4 metus, bet vis nebuvo laiko jų išbandyti, nes reikėjo perprojektuoti PCB, ją pagaminti, parašyti programos kodą. Supratęs, kad naujos PCB kolkas savo laikrodžiui artimiausiu metu negaminsiu, prieš metus įsigijau iš kinų bandymams skirtų PCB su DS3231. PCB pakankamai protingai suprojektuotos: išvesti visi reikiami DS3231 išvadai, įdėtas lizdas baterijai bei papildomai patalpintas EEPROM.
Pagaliau atsiradus trupučiui laiko, nusprendžiau išbandyti kinų PCB su DS3231 savo laikrodyje. Visų pirma išlitavau esamą RTC DS1307 iš savo laikrodžio. Kinų PCB su DS3231 pakako prijungti keletos laidelių pagalba ir jau galėjau programuoti. Kad būtų paprasčiau derinti, pasinaudojau loginiu analizatoriumi.
Taigi, Nixie laikrodžio realaus laiko mikroschemą pakeičiau į tobulesnę DS3231. Kiek tiksliau ji veiks parodys ilgalaikiai bandymai. Gal kažkada atnaujinsiu viso laikrodžio PCB ir DS3231 bus patalpintas ant jos.