Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

ArturAVS 31 May 2021 19:26 2406 5
  • Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB
    W poprzednich częściach pokazałem zasadę działania oraz uruchamianie pozyskanych wyświetlaczy (modułów) VFD. Teraz przyszła pora na zbudowanie własnego sterownika wraz z potrzebnym zasilaczem.



    • Zasilacz

    Ze względu na dość złożony sposób zasilania samego wyświetlacza postanowiłem zacząć od budowy zasilacza (przetwornicy). W większości fabrycznych modułów wyświetlaczy (wyświetlacz+elektronika sterująca) stosowane są przetwornice zawierające specjalny transformator impulsowy.

    Transformator przetwornicy wyświetlacza GU20x8-301 firmy Noritake Itron;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Oraz w module pochodzącym z dekodera NBOX;


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Mimo widocznych niewielkich rozmiarów kłopotliwe mogłoby być ustalenie parametrów rdzenia i samo wykonanie transformatora choć dla np. NBOXa dane nawojowe są podane w instrukcji serwisowej;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Wstępny założenia były takie aby zbudować w miarę uniwersalną przetwornicę zapewniającą przy zasilaniu +5V napięcie wyjściowe w okolicy -30-33V oraz napięcie żarzenia 4-5V AC. Jako osoba niepełnosprawna miałbym osobiście duży problem z wykonaniem transformatora o tak małych wymiarach :-( , dlatego szukałem innego rozwiązania. Nasz forumowy kolega @simw naprowadził mnie na układ LM9022 który jest dedykowany do zapewnienia odpowiednich napięć i nie potrzebuje żadnej indukcyjności;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Układ jest co prawda wycofany z produkcji jednak udało się znaleźć "nowszą wersję" o nieco lepszych parametrach który jest dedykowany do całkiem odmiennych zastosowań (wzmacniacz audio). Tym układem jest LM4871 który jest kompatybilny "noga w nogę" do LM9022;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Analizując działanie LM9022 powstał wstępnie taki oto projekt przetwornicy wykorzystujący LM4871;


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Układ wykorzystuje pracę LMa w trybie generatora zgodnie z notą aplikacyjną LM9022;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Powstał również zarys PCB;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Oraz sama płytka;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Która mimo pewnych niedoskonałości została obsadzona elementami i poddana testom;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Zworki JP1-JP6 miały służyć do ustawienia wymaganego prądu żarzenia dla wyświetlacza jednak na etapie uruchamiania zostały zmostkowane na stałe. Błędem było umieszczenie pod LM4871 zworki która w czasie uruchamiania przysporzyła trochę kłopotów. Układ ładnie wystartował dając na wyjściu spodziewane napięcia bez obciążenia (lewy -Vee a prawy to pobór prądu z zasilania (5V);


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Oraz z obciążeniem żarnikiem wyświetlacza;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Próba zaświecenia testowego VFD przebiegła pomyślnie;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Częstotliwość pracy jednak mocno się wahała zależnie od obciążenia, poniżej bez niego;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Nie mniej ten sposób wytwarzania stosownych napięć spełnia swoją rolę i dlatego postanowiłem pójść o krok dalej i zbudować kompletny moduł z przetwornicą oraz sterownikiem/driverem wyświetlacza na pokładzie.


    •Wybór strategii

    Zasilacz już jest, to co dalej? Można "iść na piechotę" jak kolega @phanick zrobił tu; https://www.elektroda.pl/rtvforum/topic3249310.html budując bufory na tranzystorach i sterując mikrokontrolerem lub użyć dedykowanego drivera VFD. Wybrałem użycie dedykowanego drivera ze względu na łatwość aplikacji i minimalną ilość potrzebnych dodatkowych elementów. Z wielu dostępnych układów wybrałem PT6315 który wydał mi się najbardziej uniwersalny dla "domowych" zastosowań.


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Sam PT6315 ma dość duże możliwości które oprócz sterowania wyświetlaczem dają możliwość podłączenia 32-przyciskowej klawiatury czy też dodatkowych diod LED. Mnie najbardziej zainteresowała możliwość dość szerokiej konfiguracji dla wyświetlacza;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Daje nam to możliwość obsługi wyświetlaczy od 4 znaków/24-ro segmentowych do 12-tu/ 16-to segmentowych zależnie od użytego wyświetlacza. Jedynym mankamentem jest brak generatora znaków ale ma to też swój plus jakim jest zupełnie dowolne sterowanie segmentami. Ponieważ LM4871 w konfiguracji gdzie pracuje jednocześnie jako generator miał tendencję do pływania częstotliwością zależnie od obciążenia postanowiłem zrobić pewien "myk" i użyć podzielonej częstotliwości zegara PT6315. Jako dzielnik użyłem układu seri CMOS 4040 (12-to bitowy licznik). Wstępny schemat jaki powstał prezentuje się następująco;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    4040 miał dzielić sygnał zegara PT przez 64 aby uzyskać częstotliwość około 31kHz i wypełnieniu 50% sterując swym sygnałem LM4871. Po zbudowaniu prototypu modułu i pomiarach okazało się że częstotliwość jest o wiele za niska. Jakimś dziwnym trafem wbiło mi się do głowy że Fclk to 2MHz a tak nie jest. 2MHz to typowa Fclk dla PT6302, dla 6315 to około 500kHz;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Zatem musiała nastąpić zmiana podziału. Ze względu na dość ubogą notę katalogową PT6315 nie byłem pewny jak zareaguje jego generator na dołączenie z zewnątrz wejścia układu CMOS. Jednak okazało się że jest ok i nie zrywa drgań i po zmianie stopnia podziału na 16 (pin5) mamy na wyjściu ładne 31kHz o wypełnieniu 50%. Wymagało to drobnej zmiany w docelowym projekcie PCB. Poniżej wersja prototypowa;


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Oraz wizualizacja 3D;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Ponieważ w zamyśle projekt miał być publicznie udostępniony to wymagał kilku kosmetycznych zmian (np. rozstaw pinów tak aby pasowały do płytki stykowej) tak aby dał się łatwo powielić. PCB po wytrawieniu;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Oraz wstępnie zmontowana (brakuje kondensatorów w sekcji -30V) z naniesioną poprawką dla stopnia podziału CD4040;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB


    Prototyp został jednak przypadkowo zniszczony (nie do uratowania), a zamówione w "płytkarni" płytki gdzieś zaginęły w drodze do mnie. W międzyczasie przeglądając projekt płytki zauważyłem brak jednego połączenia w powielaczu napięcia wyjściowego -Vee. Błąd łatwy do naprawienia poprzez dodanie zworki z drutu. Poprawiłem również połączenie LM4871 z 4040 w celu uzyskania wyższej częstotliwości pracy.

    "Wpadka" z zamówioną serią próbną płytek spowodowała że zamówiłem ponownie tym razem z dwóch firm, JLCPcb (tu z rozpędu wysłałem nie poprawione pliki) i PCBWay (poprawione pliki). Dla rozróżnienia płytki różnią się kolorem soldermaski i trochę warstwą opisową, po około tygodniu obie paczki dotarły :D;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Po lewej JLCPcb a PCBWay po prawej, różnice w wykonaniu praktycznie niezauważalne choć niebieska soldermaska bardziej mi się podoba :D.
    około tygodnia później zmontowałem jedną z płytek (niebieską bo jest ich więcej :D);


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Jednak pozostała kwestia jak sensownie połączyć moduł sterownika z wyświetlaczem, tu pomocna okazała się płytka prototypowa około 160x100mm wyposażona tylko w pojedyńcze pady (punkty) lutownicze. Rozstaw otworów to typowe 2,54mm do których pasował układ wyprowadzeń wyświetlacza Samsung którego użyłem wcześniej do sprawdzenia działania przetwornicy. Wyświetlacz po wpasowaniu w otwory przykleiłem do płytki dwustronną taśmą samoprzylepną. Po "uzbrojeniu" płytki w złącza goldpin (żeńskie dla modułu sterownika i męskie do połączeń wyświetlacz- sterownik i sterownik MCU) prototyp był gotowy do testów;


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    I po włożeniu modułu w gniazda;


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Początkowo chciałem obok modułu umieścić jeszcze Arduino NANO ale zrezygnowałem z tego pomysłu. Poniżej pierwsze połączenia oraz włączenie zasilania;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Coś się świeci czyli przetwornica działa :D Przy próbach dostępu do rejestrów PT treść wyświetlana była całkowicie odmienna od zaplanowanej oraz pokazywały się "duchy" na VFD. Tu wyszedł mój pierwszy błąd, płytka którą użyłem jako podstawy do uruchomienia leżała już kilka lat na warsztacie i pokryła się patyną co uniemożliwiło lutowanie. Ponieważ akurat nie miałem na warsztacie żadnego materiału ściernego do przeszlifowania to użyłem dość agresywnego topnika RT-9, lutowało się super jednak po kilkudniowej przerwie okolice lutowanych padów pokryły się przewodzącym nalotem powodującym wspomniane "duchy". Cała płytka wraz z wyświetlaczem (oprócz modułu sterownika) trafiła do mycia pod bieżącą wodą z użyciem płynu do mycia naczyń a następnie została jeszcze spłukana izopropanolem.

    Po ponownym połączeniu i dalszych próbach znów nie uzyskałem oczekiwanych rezultatów wyświetlania. Okazało się po zbadaniu oscyloskopem że PT nie dostaje sygnału STB (strobe, czyli zatrzask danych wejściowych), wynikało to z tego że w celach testowych przerabiałem driver dla PT6302 w Bascomie AVR i coś mi się ubzdurało że nie trzeba sterować sygnałem Strobe :-(. Po poprawkach było lepiej lecz jeszcze nie miałem kontroli nad PT. Wgrałem więc bootloader i dalsze prace kontynuowałem w Arduino IDE. Po jakimś czasie "walki" przy braku efektów postanowiłem wrócić do Bascom'a i tu zrobiłem błąd który kosztował mnie spalony PT6315 i LM4871. Wtyczkę programatora USBAsp wetknąłem odwrotnie do gniazda ICSP Arduino UNO. Po zauważeniu pomyłki (brak komunikacji z ATMegą 328P) i prawidłowym podłączeniu komputer po kilku sekundach wyłączał port USB. Było to spowodowane nadmiernym poborem prądu, znacznie przekraczającym typowe dla portu USB 500mA. Po podstawieniu drugiego Arduino i USBAsp'a to samo. Odłączyłem moduł sterownika od Arduino i wszystko się uspokoiło. Zatem podłączyłem sam moduł do zasilacza z ograniczeniem prądowym ustawionym na 100mA i stopniowo zwiększałem wartość ograniczenia. Po dojściu do około 500mA okazało się iż zarówno LM4871 jak i PT6315 bardzo mocno się grzeją wręcz parzą w palec. Na szczęście robiąc na początku roku zaopatrzenie kupiłem po kilka sztuk na zapas więc wymiana na nowe nie stanowiła problemu. Przy okazji wymieniłem również kondensatory w układzie powielacza z wcześniejszych elektrolitycznych 2,2µF/50V na MLCC 22µF/25V w obudowie 1210. Dlaczego? Dlatego że zależnie od ilości zapalonych segmentów mocno "przysiadało" napięcie Vee ( z -27V do nawet -13V). Dlaczego nie wstawiłem od razu właściwych kondensatorów? Odpowiedź jest prosta, w momencie składania sterownika nie miałem takich na stanie a poza tym jak każdy prototyp moduł mógł wymagać modyfikacji w trakcie uruchamiania.

    Ponowne podłączenie i jest sukces :D Mam pełny dostęp do PT jednak wyświetla głupoty, i tu dopiero przy użyciu solidnej lupy okazało się że sama płytka prototypowa ma dużo niedotrawień powodujących zwarcia (u mnie wyszło zwartych razem kilka siatek oraz segmentów). Znów trzeba było zdemontować wszystko i skrobać płytkę :-( Moja cierpliwość została jednak wynagrodzona, gdyż po ponownym podłączeniu wszystko ruszyło "od strzała" :shocked!:


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Oraz krótkie demo na którym widać regulację jasności wyświetlacza;


    Jak widać na filmie połączenia wykonałem przewodami zakończonymi żeńskimi złączami goldpin, takie połączenie jest zdeterminowane konfiguracją wyświetlacza i jego układem wyprowadzeń. W tym konkretnym przypadku PT6315 ma za mało wyjść, wyświetlacz potrzebuje sterowania dla 9 siatek (8 znaków+9 siatka dla ikonek) i 20 segmentów a PT w konfiguracji 9 siatkowej udostępnia jedynie 19 segmentów.
    O ile ikonki będą raczej rzadko wykorzystywane to znaki najczęściej. Wyprowadzenia tego wyświetlacza (narysowane w KiCad) są pokazane poniżej;


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Cyfry oznaczają numery siatek (od lewej strony wyświetlacza) z wyjątkiem "Icon grid" która to jest 9-tą siatką odpowiedzialną za wyświetlanie ikon po prawej stronie wyświetlacza. Oznaczenia literowe to zgodnie z przyjętą nomenklaturą oznaczenia segmentów (tu 14-to segmentowy);

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Poza oczywistym opisem ikon zauważyć można też oznaczenia P1-P4, są to cztery malutkie kropeczki nad każdym znakiem alfanumerycznym.
    Połączenia siatek z PT6315 są raczej oczywiste i po prostu kolejno połączone czyli Grid1-1, Grid2-2 itd. Z segmentami jest nieco inaczej a wynika to raczej z mojej chęci ułatwienia sobie życia :D. Taki sposób połączeń znacznie upraszcza sterowanie choć można to robić inaczej. Organizacja pamięci VRAM przedstawiona jest poniżej (na czerwono kolejność podłączonych segmentów);


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Jak widać, dla każdej z siatek mamy maksymalnie trzy bajty danych (zależnie od konfiguracji) gdzie bit ustawiony (logiczna 1) to segment zapalony a bit skasowany (logiczne 0) to segment zgaszony. Aby jednak PT6315 zechciał z nami "gadać" trzeba postąpić zgodnie z algorytmem inicjalizacji i sterowania;


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Tu trzeba jeszcze wyjaśnić działanie poszczególnych komend.

    •Komenda nr. 1
    Konfiguracja wyświetlacza;

    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    •Komenda nr. 2
    Sterowanie zapisem/odczytem i adresowaniem;


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB


    •Komenda nr. 3
    Wybór adresu VRAM;


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB


    •Komenda nr. 4
    Sterowanie jasnością i włączeniem/wyłączeniem wyświetlacza;



    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Poniżej widać sposób transmisji komend oraz danych przy włączonym automatycznym zwiększaniu licznika adresu (bit b2 komendy 2 skasowany). Po wysłaniu komendy 3 linia STB musi pozostać w stanie niskim do czasu wysłania wszystkich bajtów danych.


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Oraz wysyłanie bajtu pod konkretny adres VRAM (bit b2 komendy 2 ustawiony);


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Aby wysłać dane użyłem jak w poprzedniej części komendy shiftout z Bascom AVR;


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Poniżej kod w Bascom AVR z wersji prototypowej dema z dodanym sterowaniem dziewiątą siatką który może nie jest najbardziej elegancki ale działa i daje możliwość uruchomienia modułu sterownika;
    Code: vbnet
    Log in, to see the code



    Myślę że duża ilość komentarzy w powyższym kodzie powinna wystarczyć do uruchomienia modułu w Bascom AVR czy np. Arduino IDE. Sama nota PT6315 jest dość skąpa niestety lecz powyższy opis może posłużyć do uruchomienia innych układów tej firmy. Dzięki wymianie kondensatorów napięcie Vee przyzwoicie trzyma się około -26V a pobór prądu z 5V przy zapalonych wszystkich segmentach nie przekracza 250mA.

    Uwaga poniżej finalna wersja;


    Poprawiłem projekt płytki dla kondensatorów 1210;


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    Oraz schemat z naniesionymi poprawkami;


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    W załącznikach komplet plików w formacie Gerber oraz noty katalogowe najważniejszych elementów. Dla chętnych mam do podarowania kilka płytek które mi zostały, kontakt na PW. Pięć z niebieską soldermaską oraz trzy z zieloną. Ponieważ projekty obu wersji były wysłane z różnych komputerów (co wynikło z uszkodzenia jednego z twardych dysków) to obie zawierają błędy które są łatwe do naprawienia :D.

    W niebieskiej trzeba przeciąć ścieżkę idącą do pinu 2 4040 i z przelotki obok zrobić połączenie do pinu 5 co zaznaczyłem na poniższej fotografi;


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    W przypadku zielonej jest brakujące połączenie między diodami a jednym z kondensatorów w sekcji powielacza napięcia;


    Wyświetlacze VFD to nic strasznego. Część 3. Własny sterownik i PCB

    I jeszcze film z działania dema którego listing umieściłem;




    Nasuwa mi się jeszcze takie pytanie, czy chcielibyście aby w forumowym sklepiku można było "nabyć" zrobione w fabryce płytki do projektów publikowanych na forum?

    Linki do poprzednich części;

    Wyświetlacze VFD to nic strasznego. Część 1. Podstawy działania i budowa
    Wyświetlacze VFD to nic strasznego. Część 2. Identyfikacja i uruchamianie

    Cool! Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    ArturAVS
    Moderator of HydePark/Cars
    Offline 
    Z wykształcenia technik RTV, z zamiłowania elektronik/elektrotechnik konstruktor.
    Has specialization in: kf, audio, elektronika truck, inne dziwne konstrukcje
    ArturAVS wrote 12291 posts with rating 2072, helped 1430 times. Live in city Grajewo. Been with us since 2005 year.
  • CSICSI
  • #2
    pier
    Level 23  
    Super.
    ArturAVS wrote:

    Nasuwa mi się jeszcze takie pytanie, czy chcielibyście aby w forumowym sklepiku można było "nabyć" zrobione w fabryce płytki do projektów publikowanych na forum?


    No jasne że tak.
  • CSICSI
  • #4
    ArturAVS
    Moderator of HydePark/Cars
    ArturP wrote:
    Co prawda będą dopiero pod koniec czerwca, ale zawsze.

    W zeszłym tygodniu jak patrzyłem to sklep który Ci poleciłem miał na magazynie PT i LM'a. CD4040 i LM4871 są dostępne w TME.

    W artykule celowo pominąłem dodatkowe możliwości jakie daje PT czyli odczyt klawiatury i sterowanie dodatkowym portem do którego można podłączyć cztery diody LED. Moduł tej funkcjonalności nie wykorzystuje. Nic nie stoi jednak na przeszkodzie aby projektując swoje urządzenie z wyświetlaczem VFD wykorzystać te funkcje przy projektowaniu PCB przedniego panelu.

    I informacja której zabrakło :-( przetwornica zapewnia prąd wyjściowy max. około 250mA dla sekcji żarzenia i pasuje do wyświetlaczy o napięciu żarzenia 3-4V (większość typowych VFD ze sprzętu powszechnego użytku). Testowałem jedynie na dwóch wyświetlaczach które są w moim posiadaniu. W niektórych przypadkach może być potrzebna korekcja wartości kondensatorów C11 i C12 gdyż od nich zależy prąd żarzenia.
  • #5
    Thenatoorat
    Level 13  
    Ja w swoich konstrukcjach postawiłem na klasykę. Jako przetwornicę zastosowałem TL494, a jako driver Intel 8279. Z tym że ja używałem IW-18. Całość bardzo przyjemnie działała
  • #6
    ArturAVS
    Moderator of HydePark/Cars
    Thenatoorat wrote:
    Ja w swoich konstrukcjach postawiłem na klasykę. Jako przetwornicę zastosowałem TL494, a jako driver Intel 8279

    Co kto lubi :D Pisałem w pierwszej lub drugiej części jak to kilkadziesiąt lat temu uruchamiałem swój pierwszy VFD; Bufory na tranzystorach BC157, logika wyświetlania TTL i przetwornik ADC na BC147 (do wskaźnika wysterowania). Całość była zamontowana w MDS454 zastępując oryginalny licznik taśmy i wskaźnik wysterowania, żarzenie prądem stałym. Rewelacyjnie wyglądało. Kilkanaście lat później zbudowałem miernik częstotliwości gdzie bezpośrednio VFD sterowały liczniki 4026 z pełnym multipleksowaniem (żarzenie w czasie wygaszenia wyświetlania). Szkoda że żadne zdjęcia się nie zachowały, generator znaków dla wyświetlania funkcji to była matryca diodowa :D