Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Wyświetlacze próżniowe VFD - drugie życie

phanick 16 Wrz 2016 22:36 12750 13
  • Wyświetlacze próżniowe VFD - drugie życie

    Motywacja
    Jakiś czas temu kupiłem garść wyświetlaczy VFD za grosze i postanowiłem dać im drugą szansę aby znów zaświeciły.
    Wyświetlacze próżniowe VFD - drugie życie

    Tego typu wyświetlacze są coraz mniej popularne, a kiedyś można było je znaleźć w magnetowidach, wieżach audio, itp. Ich zaletą może być:
    * bardzo dobry kontrast wyświetlania,
    * przyjemny dla oka kolor i mniej męczące światło niż w przypadku wyświetlaczy siedmiosegmentowych LCD.

    Wadami są przede wszystkim:
    * konieczność zasilania wyższym napięciem (20-30V),
    * większa delikatność (z uwagi na próżnię i siatki w środku),
    * duży pobór prądu zwłaszcza do żarzenia (nawet 100 mA @ 3V),
    * konieczność ciągłego sterowania multipleksowego (wymagana duża liczba portów wyjściowych, jeśli nie dysponujemy dedykowanym sterownikiem).

    Ponieważ aby wykorzystać tego typu wyświetlacz w swoim urządzeniu, potrzebujemy wytworzyć napięcie 30 V, przeznaczyć sporą liczbę końcówek procesora do jego sterowania oraz kilkadziesiąt razy na sekundę zapalać i gasić segmenty, może to zniechęcać do jego używania. Dlatego postanowiłem zrobić dedykowany sterownik do takiego wyświetlacza, zasilany typowym napięciem 5 V, który można sterować z zewnątrz jedynie dwoma liniami i wysyłać doń test przeznaczony do wyświetlenia.

    Analiza wyprowadzeń
    Pierwszym krokiem w tego typu zabawie jest określenie, które nogi wyświetlacza za co odpowiadają. Z reguły dwa skrajne wyprowadzenia to żarzenie, a pozostałe już w różnych kombinacjach odpowiadają za siatki i segmenty. Aby dokładnie poznać, co jest podłączone do czego, potrzebny jest jakiś zasilacz 30 V do podawania napięć na siatki i segmenty + zasilacz ok 3 V do żarzenia..

    Wyświetlacze próżniowe VFD - drugie życie Wyświetlacze próżniowe VFD - drugie życie Wyświetlacze próżniowe VFD - drugie życie Wyświetlacze próżniowe VFD - drugie życie Wyświetlacze próżniowe VFD - drugie życie Wyświetlacze próżniowe VFD - drugie życie Wyświetlacze próżniowe VFD - drugie życie Wyświetlacze próżniowe VFD - drugie życie Wyświetlacze próżniowe VFD - drugie życie





    Po zrobieniu zdjęć wyświetlaczy, ich wydruku i naniesieniu wyników testów mogłem przystąpić do dalszych prac.

    Niestety, wiele tego typu wyświetlaczy jest specjalizowanych, tzn. posiadają jakieś ikonki, a pozycji do wyświetlania cyfr jest niewiele, stąd wybrałem 4 wyświetlacze które można użyć do dalszych prac.
    Wyświetlacze próżniowe VFD - drugie życie

    Budowa sterownika
    Największy i najfajniejszy z tych wyświetlaczy (8 cyfr 14 segmentowych) wymaga aż 14 (segmenty) + 1 (kropka) + 8 (cyfry) = 23 nogi do sterowania.
    Pomyślałem, że wykorzystam Atmegę 8 jako mikrokontroler w sterowniku. Kupiłem kilkadziesiąt sztuk tego u chińczyków za 1.6zł, więc niech znajdą zastosowanie.
    Niestety Atmega posia 20 pinów I/O + 2 piny I/O, jesli nie korzystamy z zewnętrznego kwarcu. Dlatego też w największym z wyświetlaczy na kropkę zabrakło połączeń, ale co z liniami do komunikacji ze światem zewnętrznym (odbieranie danych do wysyłania?) Na szczęście atmega8 w wersji SMD posiada dwa dodatkowe piny, które mogą służyć jako wejścia ADC. Dlaczego by ich nie wykorzystać do próbkowania poziomu napięcia i jego zamiany na stan logiczny? :)

    Jako przetwornicę 5 V -> 30 V wykorzystałem nieśmiertelny układ MC33063. Natomiast żarzenie zrealizowane jest stałym napięciem 5 V (reszta napięcia ponad 3 V wymagane do żarzenia odkładana jest na rezystorze szeregowym).

    Do sterowania segmentami i siatkami wykorzystałem tranzystory NPNBC847 (odpowiednik SMD BC547). Trochę było lutowania, ale i tak mniej pracy, bo nie trzeba wiercić otworów, obcinać końcówek, itp, a dzięki małym rozmiarom, cała PCB zajmuje niewiele więcej powierzchni, niż sam wyświetlacz.
    W sumie powstały 4 sztuki, dla każdego z wyświetlaczy.

    Wyświetlacze próżniowe VFD - drugie życie Wyświetlacze próżniowe VFD - drugie życie

    Wyświetlacze próżniowe VFD - drugie życie Wyświetlacze próżniowe VFD - drugie życie Wyświetlacze próżniowe VFD - drugie życie Wyświetlacze próżniowe VFD - drugie życie

    Komunikacja ze światem zewnętrznym
    Same wyświetlacze w sobie oczywiście mogą być cudowne, ale bez możliwości odbierania z zewnątrz danych do wyświetlania są zupełnie bezużyteczne. Ponieważ miałem jedynie 2 linie przeznaczone do dyspozycji na odbiór danych, postanowiłem zaprojektować i zaimplementować prosty protokół szeregowy - jedna linia to sygnał zegarowy CLK, generowany przez nadającego, a na drugiej linii CLK w takt sygnału zegarowego wysyłane są dane bit po bicie (sterownik wyświetlacza odbiera bit na zboczu narastającym CLK), od najbardziej znaczącego do najmniej.

    Aby całość była jeszcze ciekawsza, postanowiłem każdemu z wyświetlaczy dać unikalny numer tak, aby wszystkie 4 sztuki można było spiąć ze sobą na raz do urządzenia, a podczas wysyłania polecenia, na początku określa się numery wyświetlaczy, które mają odbierać ciąg tekstu.
    Dzięki temu na każdym z wyświetlaczy można wyświetlać co innego.

    Protokół komunikacji:
    * najpierw co najmniej osiem bitów równych 1, aby zresetować wyświetlacz
    * potem numery wyświetlaczy, które mają wyświetlić tekst
    * potem bajt zero
    * potem znaki do wyświetlenia
    * na końcu bajt zero
    Wyświetlacze próżniowe VFD - drugie życie

    Jeden lub dwa wyświetlacze na raz można nawet zasilać z USB, niestety przy podłączeniu wszystkich czterech, jasność każdego drastycznie spada (prawdopodobnie kontroler USB ogranicza prąd). Zasilając całość zewnętrznym zasilaczem 5 V problem znika.

    W kodzie sterownika zaszyłem definicję prostej czcionki, dzięki czemu można nawet wyświetlać literki.


    Link


    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz pendrive 32GB.
  • #2 17 Wrz 2016 09:42
    andrzejlisek
    Poziom 28  

    Dobry pomysł, mam kilka pytań:

    1. Jak widać, wyświetlacze pochodzą z różnych odtwarzaczy. Czy wszystkie steruje się tak samo (napięcia, polaryzacja, przebiegi na pinach od segmentów/ilon), czy do każdego trzeba dobierać indywidualnie?
    2. Czy przewidujesz sterowanie "specjalizowanymi ikonami" w swoim sterowniku? Teoretycznie można ponumerować wszystkie cyfry, a potem osobno wszystkie dodatkowe ikonki, ale wiadomo, że program pracujący na komputerze musi być dostosowany do konkretnego wyświetlacza.

  • #3 17 Wrz 2016 10:38
    phanick
    Poziom 28  

    Wszystkie wyświetlacze mają te same parametry, na początku trochę eksperymentowałem z wartością rezystorów na bazie/kolektorze tranzystorów, bo te grzały się lekko. Potem sprawdziłem i okazało się, że nie wchodziły w stan nasycenia. Najlepsze wartości takie RB = 24 k, RC = 100k.

    Sam program sterujący dla wszystkich wyświetlaczy jest identyczny, różni się jedynie załączaniem innego pliku nagłówkowego .H dla każego z wyświetlaczy. Różnica polega na innym przypisaniu pinów do końcówek oraz innym przekładaniu ciągu znaków w buforze, którzy jest wyświetlany, na machanie pinami - np. w jednym wyświetlaczu na jednej siatce jest jedna cyfra, a w innym są po dwie.

    Samo sterowanie specjalnymi ikonkami wymaga tylko lekkiej modyfikacji w programie - np jeśli na wyświetlaczu oprócz czterech cyfr są jeszcze dwie ikonki, to można zamiast wysyłać tylko ciąg 1234 do wyświetlenia, wysyłać ciąg XY1234, gdzie
    X=0/1: zgaś/zapal pierwszą ikonkę
    Y=0/1: zgaś/zapal drugą ikonkę

    Załączam kod, jeśli komuś się przydał.

  • #5 17 Wrz 2016 22:17
    rekinisko
    Poziom 22  

    Kolega zapomniał dopisać że duża większość wyświetlaczy VFD potrafi komunikować się przez UART więc wstarcza zasilanie i jedna szyna danych. Trzeba tylko zadbać o odpowiednie poziomy logiczne.

  • #6 17 Wrz 2016 22:37
    phanick
    Poziom 28  

    leonow32 napisał:
    Bardzo ciekawy projekt. Leży u mnie taki oto wyświetlacz alfanumeryczny. Ciekawe czy kiedyś uda mi się go uruchomić. Żarniki świecą, a po podłączeniu zasilania czasami uda się zaświecić jakieś literki przez przypadek.

    Na EEVBlogu kiedyś facet uruchamiał podobny wyświetlacz, tylko jego miał jeden rządek.
    https://www.youtube.com/watch?v=clUVEyi_YNM

    rekinisko napisał:
    Kolega zapomniał dopisać że duża większość wyświetlaczy VFD potrafi komunikować się przez UART więc wstarcza zasilanie i jedna szyna danych. Trzeba tylko zadbać o odpowiednie poziomy logiczne.

    Raczej wyświetlaczy z wbudowanym sterownikiem. Ja miałem gołe szklane wyświetlacze.

  • #7 18 Wrz 2016 00:56
    Gizmoń
    Poziom 28  

    phanick napisał:
    Największy i najfajniejszy z tych wyświetlaczy (8 cyfr 14 segmentowych) wymaga aż 14 (segmenty) + 1 (kropka) + 8 (cyfry) = 23 nogi do sterowania. [...] Niestety Atmega posia 20 pinów I/O + 2 piny I/O, jesli nie korzystamy z zewnętrznego kwarcu. Dlatego też w największym z wyświetlaczy na kropkę zabrakło połączeń, ale co z liniami do komunikacji ze światem zewnętrznym (odbieranie danych do wysyłania?)


    "Nogi" sterujące cyframi można było z powodzeniem zastąpić jakimś dekoderem z binarnego na 1 z 8 albo licznikiem typu 4017. W pierwszym rozwiązaniu z 8 wyjść zajęte pozostają trzy; w drugim tylko dwa (CLK i RST). Kolejnym usprawnieniem mogło być zastosowanie rejestrów SIPO do sterowania segmentami, ale to już w przypadku gdy mikrokontroler ma sterować nie tylko wyświetlaczem i naprawdę ważne jest "oszczędzanie" wyjść. Właśnie tego typu system testowałem kiedyś z wyświetlaczem VFD mającym aż 16 pól po 15 segmentów każde (14+kropka). O ile dobrze pamiętam wystarczyło 8 wyjść mikrokontrolera: 4 do wyboru pola przez dekoder na 1 z 16 i 4 do sterowania segmentami (sygnały CLK, DATA, LATCH oraz OE dla wygaszania bez konieczności wysyłania ciągów zer do rejestrów).

    phanick napisał:
    Wadami są przede wszystkim: [...] konieczność ciągłego sterowania multipleksowego (wymagana duża liczba portów wyjściowych, jeśli nie dysponujemy dedykowanym sterownikiem).


    Duża liczba portów to by była potrzebna gdyby segmenty nie były łączone w matrycę, a tu są. Sterowanie multipleksowe to akurat chyba zaleta? Przy wyświetlaczach LED nikomu ono jakoś nie przeszkadza, wręcz przeciwnie - jest chętnie stosowane i ludzie "z własnej woli" łączą tak wyświetlacze.

  • #8 18 Wrz 2016 13:02
    Milek79
    Poziom 14  

    phanick napisał:
    Same wyświetlacze w sobie oczywiście mogą być cudowne, ale bez możliwości odbierania z zewnątrz danych do wyświetlania są zupełnie bezużyteczne. Ponieważ miałem jedynie 2 linie przeznaczone do dyspozycji na odbiór danych, postanowiłem zaprojektować i zaimplementować prosty protokół szeregowy - jedna linia to sygnał zegarowy CLK, generowany przez nadającego, a na drugiej linii CLK w takt sygnału zegarowego wysyłane są dane bit po bicie (sterownik wyświetlacza odbiera bit na zboczu narastającym CLK), od najbardziej znaczącego do najmniej.

    I2C albo UART to nie istnieje?
    phanick napisał:
    Największy i najfajniejszy z tych wyświetlaczy (8 cyfr 14 segmentowych) wymaga aż 14 (segmenty) + 1 (kropka) + 8 (cyfry) = 23 nogi do sterowania.

    Można wykorzystać rejestry przesuwne: http://spritesmods.com/?art=vfdcontroller&page=2

  • #9 18 Wrz 2016 16:23
    prosiak_wej
    Poziom 26  

    Jakiś czas temu trafiły do mnie dwa wyświetlacze VFD, które miały swój sterownik. Podłączenie chyba na 20 pinów, ale wystarczyło tylko dać GND, +5V oraz UART. Zapewne można też było dać transmisję równoległą. W zestawie był prosty tranzystorowy konwerter z RS-232 i to działało bez problemu z komputerem oraz LCD Smartie. Bez konwertera można było podłączyć prosty konwerter z USB (na All... po kilka złotych) bezpośrednio do płytki wyświetlacza - czterema kablami. Ciekawe było to, że wyświetlacz fizycznie 2x20 znaków był traktowany jako 1x40 znaków. Ale tak czy inaczej, w przypadku prostych wyświetlaczy (alfanumeryczne) warto iść w UART, bo to proste i... proste :)

  • #10 19 Wrz 2016 09:44
    simw
    Poziom 18  

    rekinisko napisał:
    Kolega zapomniał dopisać że duża większość wyświetlaczy VFD potrafi komunikować się przez UART więc wstarcza zasilanie i jedna szyna danych. Trzeba tylko zadbać o odpowiednie poziomy logiczne.


    Myślę, że Kolega o niczym nie zapomniał. Niniejszy projekt, wg mnie, ma ożywiać wyświetlacze, które są bez sterownika, "saute" i na tym polega sztuka.
    Opracować sposób zasilania, zrobić własny protokół komunikacji itd.
    Z niektórych komentarzy, tych "o uartach" wynika niezrozumienie założeń dot. projektu.
    Wg mnie świetny projekt, czytelny, jasno napisany soft, a właściwie to już biblioteka. Można ewentualne mieć wątpliwości co do lutowania płytki (kulki cyny), ale to w końcu prototypy.
    Można też mieć pewne wątpliwości co do sterowania filamentu napięciem stałym. Taki rodzaj zasilania nie jest korzystny, bo dla niektórych wyświetlaczy może to skutkować różnicą jasności dla poszczególnych segmentów.

    Żeby uzupełnić ten projekt warto zajrzeć tutaj:
    http://magictale.com/category/mvfd-16s7d-panel/
    Praktyczny, bardzo dobrze udokumentowany projekt sterownika do VFD.

    Warto też zajrzeć do producenta:
    https://www.noritake-elec.com/display/vfd_operation.html
    Kompendium wiedzy teoretycznej o wyświetlaczach VFD.

  • #12 21 Wrz 2016 08:21
    dawiid88
    Poziom 7  

    Wow, super sprawa, mam kilka starych odtwarzaczy w domu, może wydłubię z nich wyświetlacze i uda się je uruchomić ;)

  • #14 11 Paź 2016 19:16
    minde1
    Poziom 9  

    Kod na atmega mcu ? Co mikrokontroler uziwat ?

  Szukaj w 5mln produktów