Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Zegar Nixie z jedną lampą Z566M

leonow32 15 Oct 2013 18:35 17304 22
Automation24
  • Zegar Nixie z jedną lampą Z566M

    Duże wyświetlacze lampowe Nixie, takie jak Z566M, są drogie i na aukcjach osiągają ceny powyżej 50zł/szt. Jednak nie trzeba kupować czterech lamp, by zbudować funkcjonalny i estetyczny zegar – wystarczy zaledwie jedna sztuka! Oto gustowny gadżet ozdobny, dla osób lubiących zegary z poprzedniej epoki, posiadające jednocześnie drobną nutkę nowoczesności i nietuzinkowości.

    Jak działa zegar, wyświetlający zaledwie jedną cyfrę? Wyświetla on po kolei dziesiątki godzin, jedności godzin, dziesiątki minut i jedności minut, w odstępach co sekundę. Aby było wiadomo, która cyfra jest obecnie wyświetlana, przed lampą Nixie umieszczono cztery neonówki. Zaświecenie się pierwszej z nich oznacza, że lampa pokazuje obecnie dziesiątki godzin. Druga neonówka oznacza jedności godzin, itd.





    Układ zasilający jest bardzo prosty i wykorzystuje stabilizator 78L05. Dla bezpieczeństwa zastosowano bezpiecznik polimerowy PTC 250mA. Układ należy podłączyć do zasilacza wtyczkowego o napięciu 12V.

    Mózgiem zegara jest mikrokontroler ATmega88PA. Jeżeli jeszcze korzystasz ze starszej „ósemki”, to gorąco polecam zapoznać się z jego nowszą wersją, bo nowa ATmega88PA ma więcej możliwości i przede wszystkim jest tańsza. ATmega48PA jest jeszcze tańsza (funkcjonalnie identyczna, ale ma dwa razy mniejszą pamięć) i nadawała by się lepiej do tego projektu, ale w chwili robienia zakupów nie była dostępna w sklepie. Przedstawione urządzenie jest bardzo proste, więc postanowiłem, aby jak najwięcej zrealizować przy pomocy wewnętrznych zasobów procesora. Stosowanie zewnętrznych układów RTC czy specjalizowanych scalaków do przetwornic w tym przypadku jest bezcelowe.

    Do odmierzania czasu został wykorzystany 8-bitowy Timer2, pracujący w trybie RTC z kwarcem o częstotliwości 32kHz. Ustawiając preskaler na 128, uzyskujemy przerwanie od przepełnienia dokładnie co 1 sekundę. Wg dokumentacji producenta, do kwarcu 32kHz nie potrzeba podłączać kondensatorów 22pF, jednak niektórzy w Internecie twierdzą, że bez nich układ nie działa. Mi zegar działa poprawnie bez żadnych dodatkowych elementów, jednak na płytce zostało przewidziane miejsce na dolutowanie kondensatorów (C13, C14) na wypadek, gdyby komuś trafił się kapryśny kwarc.

    Zegar Nixie z jedną lampą Z566M

    Lampy Nixie potrzebują wysokiego napięcia rzędu 150-200V. Zastosowano przetwornicę step-up, podwyższającą napięcie z 12V do 180V. Najważniejszymi elementami przetwornicy są tranzystor MOSFET N typu IRF840, cewka 1mH raz dioda UF4004. Jest to dioda szybka, której nie należy pomylić ze zwykłą diodą prostowniczą 1N4004. Podczas prób okazało się, że w układzie występują spore zakłócenia. Zastosowano filtr tłumiący tętnienia, złożonego z rezystora R4 i kondensatora C3.

    Przetwornica jest zabezpieczona na wypadek zaniku sygnału sterującego, co mogłoby skutkować długotrwałym otwarciem tranzystora T1 i zwarciem cewki L1 do masy. Taka sytuacja mogłaby mieć miejsce podczas wgrywania programu do procesora lub jego resetu. W przypadku braku sygnału sterującego „ster”, pochodzącego z pinu PB1 procesora, rezystor R1 podciąga bazę tranzystora T2 do zasilania. Powoduje to otwarcie tranzystora T2 i tym samym zwarcie bramki MOSFET-a do masy, co skutkuje jego zamknięciem. Wtedy przetwornica nie wytwarza wysokiego napięcia, przez cewkę L1 nie płynie żaden prąd, a kondensatory C4 i C5 rozładowują się poprzez lampę i neonówki, które po chwili gasną.

    Napięcie na wyjściu przetwornicy regulowane jest poprzez współczynnik wypełnienia sygnału PWM, generowanego przez Timer1. Im współczynnik wypełnienia jest większy, tym wyższe napięcie uzyskamy.

    Okazało się, że sprzężenie zwrotne i pomiar napięcia na wyjściu przetwornicy nie są konieczne, ponieważ przetwornica zawsze ma takie samo obciążenie – w danej chwili świeci się jedna cyfra i jedna neonówka. Zatem wystarczy na stałe ustawić odpowiedni współczynnik wypełnienia i nie ma potrzeby, by go zmieniać podczas pracy zegara. Dzielnik napięcia R5 R6 służy do pomiaru napięcia na wyjściu przetwornicy i służy jedynie jako zabezpieczenie na wypadek, gdyby napięcie przekroczyło wartość 200V (np. gdy nie ma lampy w układzie). Wtedy procesor wyłączy przetwornicę.

    Lampa Nixie wymaga sterowania specjalnym układem 74141, który wyposażono w tranzystory wysokonapięciowe oraz dekoder BCD. Do sterowania neonówkami zastosowano tranzystory MPSA42. Rezystor R50 ogranicza prąd wyświetlacza Nixie, a R12, R22, R32 i R42 regulują prąd neonówek. Aby wyświetlacz i neonówki świeciły z taką samą jasnością, te elementy zostały dobrane „na oko”.

    Zegar Nixie z jedną lampą Z566M Zegar Nixie z jedną lampą Z566M

    Większość elementów jest w łatwych do lutowania obudowach 1206. Należy je przylutować w pierwszej kolejności. Do przylutowania układów scalonych SMD przydatna jest cienka cyna i topnik (może być zwykła kalafonia rozpuszczona w nitro). Układ 74141 można zamontować w podstawce. Elementy przewlekane na dolnej stronie płytki należy zamontować poziomo. Nie ma potrzeby przykręcać tranzystor MOSFET do płytki.

    Trochę więcej uwagi należy poświęcić złączu do lampy. Na Allegro dostępne są specjalne podstawki, jednak ich ceny bywają zaskakująco wysokie i dlatego zastosowano rozwiązanie alternatywne. Piny w gniazdach DB mają taką samą grubość jak nóżki lamp, więc nadają się znakomicie do zrobienia własnej podstawki. Rozcięto gniazdo żeńskie DB25 i wyciągnięto tulejki chwytające piny z wtyczki. Aby tulejki przylutować równo i prosto, najlepiej najpierw założyć je na nóżki lampy. Dopiero wtedy wtykamy je w płytkę i lutujemy.

    Zegar Nixie z jedną lampą Z566M Zegar Nixie z jedną lampą Z566M

    Dla estetyki można dodać przezroczyste płytki z pleksy, widoczne na zdjęciach. Światło pięknie się w nich odbija, a zegar wygląda bardziej efektownie. Przezroczyste płytki najłatwiej wziąć z pudełek po płytach CD, ale trzeba uważać przy wierceniu otworów – łatwo pękają. Płytki są łączone z zegarem na tulejkach sześciokątnych.

    Zegar Nixie z jedną lampą Z566M

    Aby ustawić godzinę, należy wcisnąć lewy przycisk. Pierwsza neonówka zacznie szybko mrugać, co oznacza, że ustawiamy właśnie dziesiątki godzin. Prawy przycisk zwiększa cyfrę o 1. Aby przejść do ustawiania jedności godzin, wciskamy ponownie lewy przycisk. Zaczyna mrugać druga neonówka. Analogicznie, prawym przyciskiem zwiększamy cyfrę jedności godzin o 1. Znów wciskamy lewy przycisk, ustawiamy dziesiątki minut, itd. Po ustawieniu jedności minut, wciskamy lewy przycisk, po czym zegar przechodzi do normalnej pracy i odmierzania czasu.

    W zegarze przewidziano tryb demo. Aby go uruchomić, wciskamy prawy przycisk. Zaświeci się cyfra 1 i pierwsza neonówka. Wciskając ponownie prawy przycisk, możemy zapalić kolejne cyfry i neonówki. Lewy przycisk cofa do poprzednio wyświetlanej cyfry. Aby wyjść z trybu demo, trzeba ustawić zero na wyświetlaczu i wcisnąć lewy przycisk.

    Podczas pracy zegar nie wymaga żadnych czynności od użytkownika. Cieszy oko łagodnym pomarańczowym światłem i wzbudza zainteresowanie wszystkich gości.

    Po więcej ciekawych projektów zapraszam na moją stronę :) Leon Instruments

    Cool? Ranking DIY
    About Author
    leonow32
    Level 30  
    Offline 
    leonow32 wrote 2010 posts with rating 1207, helped 37 times. Live in city Poznań. Been with us since 2007 year.
  • Automation24
  • #3
    tmf
    Moderator of Microcontroller designs
    Chyba pierwszy projekt na lampach, który mi się podoba :) Aż zaglądnę, po ile takie lampy są i chyba się w parę zaopatrzę :)
    Projekt oczywiście super wykonany, ale w twoim przypadku to norma. Ekstra pomysł z wykorzystaniem tulejek dystansowych i plastiku z opakowań na CD.
    A propos tych kondensatorów dla kwarcu zegarkowego - normalnie AVRy ich nie potrzebują, jednak dla kilku modeli w erracie jest napisane, że na skutek błedu krzemu nie da się włączyć wbudowanych kondensatorów i w takim przypadku trzeba stosować zewnętrzne. ATMega88 tego błędu nie ma, chyba ma go ATMega8 - jeszcze jeden powód, żeby nie używać rupieci :)
    Małe pytanie co do zabezpieczenia - ono zadziała tylko jeśli pin procka będzie w HiZ, jeśli będzie wystawiał stan aktywny to klapa. Czyli modyfikacje w programie lepiej przeprowadzać przy odłączonej przetwornicy.
  • Automation24
  • #4
    Gizmoń
    Level 28  
    Ładnie widać jak cyfry "skaczą" w lampie, fajny gadżet. Zabezpieczenie przetwornicy byłoby lepsze gdyby sygnał sterujący podłączyć przez kondensator o odpowiedniej pojemności, całkiem wykluczyłoby to możliwość włączenia na stałe tranzystora T1.
    Dlaczego opis jest w formie bezosobowej? Przez moment myślałem, że to DIY zagranica - zrobiono, wycięto, umieszczono... Czyli kto właściwie ten zegar zrobił? :P
  • #6
    excray
    Level 40  
    yogi009 wrote:
    Obejrzałem ten film, jednak problematyczne jest to umiejscowienie przycisków sterujących.

    Ale przecież te przyciski używasz raz na rok więc po co mają być gdzieś "wywalone na wierzch"?
  • #7
    yogi009
    Level 43  
    Nie muszą być "na wierzchu", nawet myślałem jakby je włożyć od spodu. Chodzi o to wkładanie ręki w środek elektroniki. Czasem jednak będzie to ustawiał ktoś niezbyt oblatany z prądem.
  • #8
    pier
    Level 24  
    yogi009 wrote:
    Chodzi o to wkładanie ręki w środek elektroniki


    Szczególnie że zaraz obok są neonówki. A 180V na palcu już da się poczuć.
  • #9
    dantesik
    Level 12  
    Witam

    Mam pytanie ( bo na filmach umieszczanych w internecie zawsze jest ten szczegół pomijany ) jak zegar wyświetla godziny w przedziale 1:00 - 9:00 czy dziesiątki godzin są wygaszone , czy wyświetlane jest 0 ??? . Sam projekt i wykonanie na wysokim poziomie ( choć osobiście zwolniłbym wyświetlanie kolejnych cyfr z 1 na 2 sekundy )
  • #10
    maciej_333
    Level 38  
    tmf wrote:
    ... Małe pytanie co do zabezpieczenia - ono zadziała tylko jeśli pin procka będzie w HiZ, jeśli będzie wystawiał stan aktywny to klapa. Czyli modyfikacje w programie lepiej przeprowadzać przy odłączonej przetwornicy.

    Niestety jest dokładnie tak, jak podajesz. W pewnym urządzeniu mam podobny problem. Umieszczanie programu w pamięci się raczej udaje. Większy problem to debugowanie. Można gdzieś ustawić breakpoint, ale jeżeli w chwili zatrzymania się na nim klucz jest załączony, to mamy zwarcie i tyle. Niestety nie mam pomysłu jak to rozwiązać. Mikrokontroler musi kluczować cewkę, bo chodzi tu o synchronizację pewnych sygnałów.

    Gizmoń wrote:
    ... Zabezpieczenie przetwornicy byłoby lepsze gdyby sygnał sterujący podłączyć przez kondensator o odpowiedniej pojemności, całkiem wykluczyłoby to możliwość włączenia na stałe tranzystora T1. ...

    Tak, ale wtedy mamy układ różniczkujący.

    Gizmoń wrote:
    ... Dlaczego opis jest w formie bezosobowej? Przez moment myślałem, że to DIY zagranica - zrobiono, wycięto, umieszczono... Czyli kto właściwie ten zegar zrobił?

    Opis jest w stronie biernej, bo tak się pisze teksty techniczne.
  • #11
    tmf
    Moderator of Microcontroller designs
    maciej_333 wrote:
    tmf wrote:
    ... Małe pytanie co do zabezpieczenia - ono zadziała tylko jeśli pin procka będzie w HiZ, jeśli będzie wystawiał stan aktywny to klapa. Czyli modyfikacje w programie lepiej przeprowadzać przy odłączonej przetwornicy.

    Niestety jest dokładnie tak, jak podajesz. W pewnym urządzeniu mam podobny problem. Umieszczanie programu w pamięci się raczej udaje. Większy problem to debugowanie. Można gdzieś ustawić breakpoint, ale jeżeli w chwili zatrzymania się na nim klucz jest załączony, to mamy zwarcie i tyle. Niestety nie mam pomysłu jak to rozwiązać. Mikrokontroler musi kluczować cewkę, bo chodzi tu o synchronizację pewnych sygnałów.


    Niektóre procki mają rozwiązanie tego problemu, m.in. niektóre AVRy - jest nim opcja umożliwiająca pracę timerów w czasie zatrzymania na breakpoincie. W efekcie jeśli klucz sterowany jest np. ze sprzętowego PWM to przebieg się nie zatrzymuje. Inne, np. XMEGA mają możliwość definiowania fault condition, czyli bezpiecznego stanu pinó IO po zajściu zdarzenia - oczywiście warunek - korzystasz ze sprzętowych mechanizmó generowania przebiegów. Ale faktycznie problem jest istotny i niełatwy do sensownego rozwiązania w tego typu układach.
  • #12
    Anonymous
    Anonymous  
  • #13
    leonow32
    Level 30  
    tmf wrote:
    maciej_333 wrote:
    tmf wrote:
    ... Małe pytanie co do zabezpieczenia - ono zadziała tylko jeśli pin procka będzie w HiZ, jeśli będzie wystawiał stan aktywny to klapa. Czyli modyfikacje w programie lepiej przeprowadzać przy odłączonej przetwornicy.

    Niestety jest dokładnie tak, jak podajesz. W pewnym urządzeniu mam podobny problem. Umieszczanie programu w pamięci się raczej udaje. Większy problem to debugowanie. Można gdzieś ustawić breakpoint, ale jeżeli w chwili zatrzymania się na nim klucz jest załączony, to mamy zwarcie i tyle. Niestety nie mam pomysłu jak to rozwiązać. Mikrokontroler musi kluczować cewkę, bo chodzi tu o synchronizację pewnych sygnałów.


    Niektóre procki mają rozwiązanie tego problemu, m.in. niektóre AVRy - jest nim opcja umożliwiająca pracę timerów w czasie zatrzymania na breakpoincie. W efekcie jeśli klucz sterowany jest np. ze sprzętowego PWM to przebieg się nie zatrzymuje. Inne, np. XMEGA mają możliwość definiowania fault condition, czyli bezpiecznego stanu pinó IO po zajściu zdarzenia - oczywiście warunek - korzystasz ze sprzętowych mechanizmó generowania przebiegów. Ale faktycznie problem jest istotny i niełatwy do sensownego rozwiązania w tego typu układach.


    I tak i nie ;) Rozwiązanie jakie zastosowałem jest kompromisem pomiędzy możliwościami a stopniem skomplikowania. W układzie jest jeszcze bezpiecznik PTC 250mA, a cewka i tranzystor wytrzymają dużo większe prądy. Uznałem, że takie zabezpieczenie jest wystarczające.

    Kiedyś widziałem fajne rozwiązanie, polegające na generowaniu przebiegu prostokątnego programowo, następnie sygnał przechodził przez filtr górnoprzepustowy, detektor szczytowy i dopiero był tranzystor kluczujący. W razie zawiechy procesora tranzystor zawsze się zamykał, obojętnie czy na wejściu tego układu był stan niski czy wysoki.

    dantesik wrote:
    Mam pytanie ( bo na filmach umieszczanych w internecie zawsze jest ten szczegół pomijany ) jak zegar wyświetla godziny w przedziale 1:00 - 9:00 czy dziesiątki godzin są wygaszone , czy wyświetlane jest 0 ??? . Sam projekt i wykonanie na wysokim poziomie ( choć osobiście zwolniłbym wyświetlanie kolejnych cyfr z 1 na 2 sekundy )

    Cały czas musi być wyświetlana jedna cyfra, bo takie założenie znacznie uprościło to budowę przetwornicy. Jeśli cały czas coś się świeci, to jest zawsze takie samo obciążenie. Gdyby lampę wyłączyć, to obciążenia by nie było, to układ regulacyjny musiałby to zauważyć i zmienić wypełnienie sygnału sterującego, by napięcie nie podskoczyło za wysoko. W sytuacji kiedy obciążenie zawsze jest stałe to wsp. wypełnienia jest też stały. Dzięki temu w programie nie trzeba było robić żadnego regulatora.

    yogi009 wrote:
    Gdzie Kolega robił płytkę i jaki jest orientacyjny koszt jej wykonania?

    W Satlandzie (prototypy.com). Koszt wykonania to chyba 60zł ale mogę się mylić. Dawno temu to robiłem.

    Quote:
    W jakim programie to projektowałeś i czy otworzyć załączone pliki?

    W Kicadzie 2012. Jakby co to instrukcja jest tu http://leon-instruments.blogspot.com/2012/05/kurs-kicad-wstep.html
  • #14
    treker
    Level 25  
    Nie jestem jakoś szczególnie zainteresowany takimi układami, jednak bardo mi się spodobał. Gratuluję pomysłu :) Aż mam ochotę poszukać w warsztacie odkładane lampy, które uznałem wcześniej za niepotrzebne... Może pora, na podobny projekt. Dzięki za inspiracje ;)
  • #15
    lukashb
    Level 39  
    Powiada kolega, że 4 sekundy trwa wyświetlenie godziny. A co w przypadku kiedy mamy np. 14:59:58 i pierwszy wyświetlacz trafi w dziesiątki godzin dokładnie o dwie sekundy przed upływem 14? to wyświetli 1, potem 4, i tu mija 14 i mamy 15 i 0, potem 0. Czyli znów mamy 14:00 według zegara. Co koledzy na to?
  • #16
    yogi009
    Level 43  
    Koledzy na to mówią prosto: to jest TAKA KONCEPCJA zegara. Można to polubić lub nie, w sumie nikt nikomu tego na siłę nie wciska. Podobnie jest np. z zegarem wyświetlającym czas... binarnie. Co Kolega na to?
  • #17
    Anonymous
    Anonymous  
  • #18
    leonow32
    Level 30  
    lukashb wrote:
    Powiada kolega, że 4 sekundy trwa wyświetlenie godziny. A co w przypadku kiedy mamy np. 14:59:58 i pierwszy wyświetlacz trafi w dziesiątki godzin dokładnie o dwie sekundy przed upływem 14? to wyświetli 1, potem 4, i tu mija 14 i mamy 15 i 0, potem 0. Czyli znów mamy 14:00 według zegara. Co koledzy na to?

    Bardzo trafne spostrzeżenie. Przed każdym cyklem wyświetlania, aktualna godzina jest kopiowana do zmiennych roboczych i to one są wyświetlane. Nawet jeśli w tym czasie godzina się zmieni, to użytkownik tego nie zauważy. Dopiero przed kolejnym wyświetleniem czasu, zmienne się uaktualnią i dopiero wtedy będzie pokazana nowa godzina. Kopiowanie czasu następuje przed wyświetleniem dziesiątek godzin.
  • #19
    maciek1221
    Level 18  
    Czy ktoś widział taki projekt, tylko wykonany z użyciem elementów przewlekanych? Chodzi o projekt płytki itd.
    Właśnie ukończyłem swój pierwszy zegar nixie, została mi jedna lampa i zrobiłbym kolejny zegar, taki jak ten, ale nie dam sobie rady z elementami SMD....
    Pozdrawiam :)
  • #21
    maciek1221
    Level 18  
    Tylko chyba takiej płytki nie wykonam w domu? Chciałbym to zrobić od początku do końca sam ;)
  • #22
    tmf
    Moderator of Microcontroller designs
    Bez problemu wykonasz termotransferem. Wymaga to pewnej wprawy, ale efekty potrafią być niezłe. Alternatywą jest metoda fotochemiczna, ale to bardziej skomplikowane i droższe. Popróbuj i więcej optymizmu, nie zakładaj na samym początku, że czegoś się nie da...
  • #23
    Trabi
    Level 36  
    Podoba mi się. Wykonanie super, fajnie że udało się uruchomić NIXIE w takim układzie. Zegar podobny do mojego a jednak inny. :)