Serwisy partnerskie:
Close icon
Serwisy partnerskie

Minizegar Nixie

AVT3226
kit
Prosty i wykonany z łatwo dostępnych elementów minizegar Nixie umożliwia odczyt godziny, a także, dzięki zegarowi czasu rzeczywistego, nie wymaga ponownego ustawiania godziny po zaniku zasilania.
Article Image

Zaprezentowany zegar jest kolejną propozycją dla osób, które chciałyby wykonać zegar oparty na lampach Nixie. Opisywana konstrukcja zapewnia podstawową funkcjonalność, czyli odczytywanie godzin i minut, nastawianie ich, a co ważne, także podtrzymywanie odmierzania czasu po zaniku zasilania. Całość urządzenia oparto na łatwo dostępnych i popularnych elementach. Układem steruje mikrokontroler ATmega8, a wykorzystany zegar RTC to PCF 8583.

Z tych powodów opisywany układ może być atrakcyjny szczególnie dla osób, które chcą wykonać swój pierwszy zegar Nixie. Jedynym podzespołem, którego zdobycie może być utrudnione, są same lampy Nixie, niemniej na rynku wtórnym takie lampy są bez problemu dostępne, m.in. na popularnych portalach aukcyjnych. Wygląd urządzenia w samodzielnie wykonanej obudowie można zobaczyć na fotografiach.

Opis układu - minizegar Nixie

Zegar składa się z dwóch zasadniczych modułów. Pierwszy z nich to płytka sterująca z mikrokontrolerem i zegarem RTC, drugi to moduł wyświetlacza z układem przetwornicy, tranzystorami sterującymi i lampami Nixie. Jest to moduł, który był już opisywany w artykule Zegar Nixie z „kukułką”, a dzięki swojej uniwersalności, może współpracować z różnymi układami sterującymi (niekoniecznie zegarami).

Ponieważ szczegółowy opis modułu był już przedstawiony na łamach EdW (jako okładkowy projekt w EdW 1/2018 i potem w 2, 3/2018), w kwestii płytki wyświetlacza przypomnimy tylko, że zawiera ona: układ przetwornicy DC-DC oparty na układzie MC34063, 14 tranzystorów wysokonapięciowych NPN typu MPSA42 i cztery komplementarne do nich tranzystory PNP typu MPSA92 oraz oczywiście cztery radzieckie/rosyjskie lampy Nixie typu IN-14.

Rys.1 Minizegar NIXIE - schemat ideowy

Sterowanie odbywa się w trybie multipleksowania. Schemat ideowy przedstawiony jest na rysunku 1. Z kolei schemat ideowy płytki sterującej na rysunku 2. Możemy wyróżnić standardowe obwody. Układ stabilizatora napięcia na układzie LM317 zapewnia napięcie zasilające dla mikrokontrolera i układu zegara czasu rzeczywistego (podczas normalnej pracy, gdy nie występuje zanik zasilania) o wartości około 3,1–3,2V (ustalone przez rezystory R1 i R2). Rola kondensatorów włączonych między napięcie zasilania i masę jest oczywista – filtrują one napięcie zasilania, pełnią funkcję kondensatorów blokujących.

Mikrokontroler ATmega8 połączony jest z rezonatorem kwarcowym Q2 o wartości 4MHz. W zasadzie zewnętrzna stabilizacja sygnału taktującego nie jest potrzebna, ponieważ za odmierzanie czasu nie odpowiada mikrokontroler, jednak doświadczenie uczy, że stabilny sygnał taktujący pozytywnie wpływa na niezawodność i prawidłowość działania systemu mikroprocesorowego w różnych sytuacjach.

Ponieważ, jak wiadomo, koszt rezonatora jest bardzo niski, dlatego warto zawsze go stosować. Do linii 2. portu B dołączony jest przycisk S1, podciągnięty przez rezystor R5 do dodatniego napięcia zasilania, służący do ustawiania właściwej godziny. Złącze JP1 służy do podłączenia standardowego programatora typu USB-ASP i umożliwia wygodne zaprogramowanie mikrokontrolera bez konieczności wyjmowania go z układu. Z kolei złącze JP2 służy do sterowania płytką wyświetlacza – linie 0–3 portu C służą do sterowania anod, a cały port D oraz linie 0 i 1 portu B sterują katodami lamp Nixie.

Rys.2 Schemat ideowy płytki sterującej - minizegar NIXIE

Zegar czasu rzeczywistego (układ U3) typu PCF8583 współpracuje z zegarkowym rezonatorem kwarcowym Q1 o częstotliwości 32,768 kHz. Prawidłowy dobór kondensatora C8 decyduje o precyzji odmierzanego czasu, dlatego jeżeli zależy nam na bardzo wysokiej dokładności, to należy zastosować trymer i dobrać jego pojemność. Karta katalogowa układu PCF 8583 podaje, że w przypadku zastosowania zwykłego kondensatora odchyłka czasowa nie powinna przekroczyć 5 minut na rok. Wartość ta wydaje się zupełnie wystarczająca w warunkach normalnych.

Zegar RTC komunikuje się z mikrokontrolerem za pomocą magistrali I2C (w mikrokontrolerze ATMEGA8 nazwana jest ona interfejsem TWI) poprzez linie SDA i SCL, które podciągnięte są do dodatniego napięcia zasilania przez rezystory R3 i R4 o standardowej wartości 4,7kΩ. Ważną rolę w minizegarku odgrywa bateryjka podtrzymująca działanie zegara RTC po zaniku napięcia zasilania.

Ponieważ układ PCF8583 nie ma w żaden sposób rozdzielonego zasilania standardowego i awaryjnego, zastosowano bardzo prosty sposób zasilania z wykorzystaniem diod D1 i D2. Napięcie uzyskiwane ze stabilizatora podczas normalnej pracy wynosi około 3,2V, a napięcie baterii 3V, więc prąd z baterii nie płynie, a dioda D1 nie pozwala na „doładowywanie” baterii. Z kolei po zaniku napięcia zasilania dioda D2 nie pozwala na zasilanie żadnego układu poza układem zegara RTC. Zastosowano diody Schottky’ego ze względu na niskie spadki napięcia.

Program sterujący pracą zegarka napisano w języku C. Projekt zrealizowano bez dodatkowych bibliotek (wykorzystano jedynie standardowe: avr/io.h i avr/interrupt.h), a wszystkie funkcje obsługi magistrali I2C napisano samodzielnie. Wprawdzie wymagało to sporo pracy, ale dzięki temu objętość programu to tylko około 1,2kB. Schemat blokowy jego działania przedstawiono w uproszczony sposób na rysunku 3. Po załączeniu zasilania następuje uruchomienie systemu.

Rys.3 Schemat blokowy  działania programu sterującego Minizegarem NIXIE

W pierwszej kolejności zostają skonfigurowane układy peryferyjne mikrokontrolera. Większość portów wejścia/wyjścia (GPIO) zostaje skonfigurowanych jako wyjściowe, gdyż służą do obsługi płytki wyświetlacza. Linia 2. portu B, jak wcześniej wspomniano, służy do obsługi przycisku i jest skonfigurowana jako wejściowa. Linie służące do transmisji magistralą I2C, czyli SDA i SCL, to linie 4. i 5. portu C.

Zostają one skonfigurowane automatycznie, po ustawieniu odpowiednich rejestrów odpowiedzialnych za pracę magistrali I2C. Została ona skonfigurowana do pracy z dużą częstotliwością – przy kwarcu 4 MHz wynosi ona około 140 kHz. Taka wartość przekracza nieco dopuszczalną wartość transmisji układu PCF8583 określoną jako 100kHz, jednak praktyczne testy wykazały, że układ działa z taką prędkością bez problemów.

Następnie skonfigurowane zostają dwa timery: TIM1 i TIM2. Obydwa z nich są źródłem przerwań, lecz każdy z nich pełni inną funkcję. W przerwaniu pochodzącym od TIM1, które jest wywoływane co około 4s, następuje odczytanie z zegara RTC aktualnego czasu. Z kolei w przerwaniu od TIM2 zrealizowana jest obsługa multipleksowania lamp Nixie. Przełączanie następuje z częstotliwością około 400Hz.

Minizegar NIXIE
Minizegar NIXIE

Można zastanawiać się, dlaczego nie zrealizować odczytywania aktualnego czasu w tym samym przerwaniu, które służy do obsługi wyświetlania. Przyczyna jest następująca: gdyby w ten sposób rozwiązać kwestię odczytywania czasu, to magistrala I2C byłaby bardzo intensywnie obsługiwana. W związku z tym istniałoby duże prawdopodobieństwo, że w przypadku zaniku zasilania przerwana zostanie, w trakcie trwania, komunikacja między mikrokontrolerem a zegarkiem RTC. Niestety oznaczałoby to poważne kłopoty, gdyż zasilanie awaryjne nie podtrzymuje pracy mikrokontrolera. W efekcie, po powrocie napięcia zasilającego, nastąpiłoby „zacięcie” zegarka RTC, który należałoby zresetować, wyjmując bateryjkę.

Aby takiej sytuacji uniknąć, wykorzystano właśnie timer TIM1 do odczytywania zegarka co 4 sekundy (można tę wartość jeszcze zwiększyć, gdyż zegar nie wyświetla sekund), a jednocześnie maksymalnie zwiększono prędkość transmisji. W efekcie prawdopodobieństwo, że zanik napięcia nastąpi akurat w trakcie transmisji, jest tak minimalne, że praktycznie można wykluczyć możliwość takiego zdarzenia. W głównej pętli programu następuje ciągłe badanie stanu przycisku S1. Jego wciśnięcie i przytrzymanie powoduje zwiększanie stanu minut, a po przekroczeniu wartości 59 zwiększanie wartości godzin.

Montaż i uruchomienie - minizegar Nixie

Szczegóły dotyczące montażu płytki wyświetlacza zostały już podane w EdW 1, 2 i 3/2018, dlatego ograniczymy się do podania jej schematu montażowego na rysunku 4. Należy także pamiętać, że na płytce występują stosunkowo wysokie napięcia, więc należy zachować ostrożność.

Więcej uwagi poświęcimy płytce sterującej. Schemat montażowy przedstawiono na rysunku 5. Została ona zaprojektowana jako jednostronna z ośmioma zworkami. Wszystkie elementy są typu przewlekanego, dlatego nawet początkujący nie powinni mieć problemów z jej wykonaniem i zlutowaniem. Montaż elementów przeprowadzamy w sposób standardowy, zaczynając od zworek, następnie elementów najmniejszych. Płytka jest na tyle duża, a elementy „luźno” rozłożone, że w zasadzie nawet lutowanie w odwrotnej kolejności jest możliwe.

Rys.4 Schemat montażowy - Minizegar NIXIE
Rys.5 Schemat montażowy płytki sterującej

Po wlutowaniu wszystkich podzespołów, przed włożeniem mikrokontrolera i zegarka PCF8583 do podstawek, podłączamy napięcie zasilające (w zakresie 6,5–12V) do złącza X1 i za pomocą multimetru kontrolujemy, czy napięcie na pinach zasilających układów scalonych wynosi około 3,2V. Jeżeli tak jest, to napięcie zasilające odłączamy, wkładamy układy do podstawek, podłączamy programator do złącza JP1, powtórnie dołączamy zasilanie i wgrywamy plik wsadowy typu hex: „zegar_z”(dostępny w materiałach do tego numeru).

Pamiętać należy także o skonfigurowaniu fusebitów mikrokontrolera do pracy z zewnętrznym rezonatorem kwarcowym. Do ustawiania fusebitów i wgrywania programu polecam program Avr-Dude z nakładką graficzną Burn-o-mat. Dostępne są one bezpłatnie w Internecie. Po tych zabiegach płytka sterująca jest gotowa do pracy. Musimy teraz połączyć płytkę sterującą i płytkę wyświetlacza za pomocą przewodu (taśmy) zakończonego złączem IDC 2x8. Dla ułatwienia pierwsze piny złączy na płytce sterującej i płytce wyświetlacza oznaczono kropką.

Należy także połączyć ze sobą złącza doprowadzające zasilanie do obydwu płytek. Eksperymenty pokazały, że zegar działa prawidłowo już od napięcia około 6 V – przy tym napięciu pracę rozpoczyna przetwornica. Tutaj uwaga – należy używać dobrej jakości napięcia zasilającego – próby wykorzystania zasilacza niestabilizowanego skutkowały bardzo dziwnymi i nieprzewidywalnymi zachowaniami zegara, a nawet uszkodzeniem układów scalonych. W przypadku niektórych zasilaczy (nawet stabilizowanych) do poprawnej pracy konieczne było włączenie szeregowo z zasilaczem dławika o znacznej indukcyjności, który zapewniał „miękki” start przetwornicy, ograniczając początkowy prąd.

Fot.1 Minizegar NIXIE bez obudowy

Indukcyjność można włączyć szeregowo: z zasilaczem albo z modułem wyświetlacza. Oczywiście dławik należy ukryć w obudowie (zegarka lub zasilacza) aby nie szpecił wyglądu. Płytka sterująca została dopasowana wymiarami do płytki wyświetlacza, aby można było je połączyć mechanicznie (np. za pomocą plastikowych nakrętek dystansowych i gwintowanych prętów o średnicy 3mm). Efekt można zobaczyć na fotografii 1.

Tutaj kolejna ważna uwaga: lampy należy wlutować, tak jak widać na fotografii, czyli od strony przeciwnej niż reszta elementów. Wlutowanie ich od drugiej strony jest co prawda możliwe, ale wymaga modyfikacji programu we fragmencie odpowiadającym za multipleksowanie. Ważnym elementem każdego zegara Nixie jest obudowa, szczególnie preferuje się obudowy drewniane lub drewnopodobne. W wykonanym urządzeniu obudowę zrealizowano z materiałów, które aktualnie były dostępne.

Górną część zrobiono z panelu podłogowego, w którym wywiercono otwory na lampy Nixie. Ścianki boczne, wycięte z cienkiej płyty pilśniowej, są do niego przykręcone wkrętami i jednocześnie między sobą sklejone klejem do drewna. Elektroniczny układ zegara jest przykręcony do „podłogi” obudowy, która również jest wykonana z panelu podłogowego. Całość została oklejona okleiną imitującą drewno.

Fot.2 Obudowa do minizegara NIXIE

Należy pamiętać, że jeżeli stosujemy wkręty, a następnie chcemy nakleić okleinę, to należy w miejscu, gdzie w płycie znajdować się będzie wkręt, nawiercić niewielki dołek, w którym po wkręceniu schowa się łeb wkrętu – w przeciwnym razie po oklejeniu wystąpią brzydkie bąble. Widok wykonanej obudowy, przed zamontowaniem w niej układu, zobaczyć można na fotografii 2.

Możliwości zmian

Do wyświetlania czasu można wykorzystać płytkę z lampami IN-2, również opisaną w EdW 1–3/2018. Należy jednak pamiętać, że jej wymiary nie są dopasowane do wymiarów płytki sterującej, trzeba też zmienić fragment programu mikrokontrolera odpowiedzialny za multipleksowanie, gdyż wyprowadzenia lamp są inne niż w lampie IN-14. Oczywiście w dużym zakresie można modyfikować program mikrokontrolera, wykorzystując np. kalendarz zawarty w zegarze RTC.

Dość prostym sposobem wydaje się możliwe np. automatyczne przestawianie czasu zimowego na letni i odwrotnie czy wyświetlanie daty. Do obsługi zegara RTC można wykorzystać w znacznym stopniu napisane już funkcje obsługujące magistralę I2C. Należy jedynie zmieniać adresy odczytywanych i zapisywanych rejestrów – niezbędna będzie karta katalogowa układu PCF8583. Jeżeli prędkość transmisji okaże się zbyt duża, to należy ją zmniejszyć, zmieniając zawartość rejestru TWBR na większą wartość niż domyślne 6.

Minizegar NIXIE
Minizegar NIXIE

Można także zmieniać częstotliwość wywoływania przerwania przez TIM1 i tym samym częstotliwość odczytywania czasu z zegara RTC. Zmiana wartości funkcji opóźniającej „wait2” pozwala na dostosowanie obsługi przycisku ustawiającego godzinę do własnych upodobań.

Wykaz elementów
R1
220Ω
R2
330Ω
R3,R4,R5
4,7kΩ
C1
1000uF/25V
C2,C3,C5,C9
100nF ceramiczny
C6,C7,C8
22pF
C4
100uF/25V
D1,D2
Schottky’ego np. BAT42
U1
LM317
U2
Atmega8
U3
PCF8583
Q1
rezonator kwarcowy zegarkowy 32,768kHz
Q2
4MHz
JP1
listwa goldpin 2x5
JP2
listwa goldpin 2x8
S1
przycisk microswitch (montowany na obudowie)
G1
złącze do baterii CR2032
X1
złącze śrubkowe podwójne
 
 
Tematyka materiału: Nixie
AUTOR
Źródło
Elektronika dla Wszystkich styczeń 2018
Udostępnij
UK Logo