środa, 22 października 2014

Wyświetlacze VFD z kas fiskalnych, jak to ugryźć?...

Witam w moim pierwszym wpisie na blogu. Dziś zajmiemy się wyświetlaczami ze sklepowych kas fiskalnych. Wyświetlacze VFD zawsze budziły dreszczyk emocji wśród elektroników hobbystów, a już na pewno takich którzy mieli okazje programować mikrokontrolery. Wszyscy dobrze wiedzą też, że takie wyświetlacze oparte chociażby o popularny sterownik HD44780 nie są tanie. I tutaj dochodzimy do sedna. Nie dość że można tanio kupić wyświetlacz VFD z kasy fiskalnej to zazwyczaj jest on bardzo duży i ma standardowo 2x20 znaków. Świetnie ! Musimy też wiedzieć, że do takich wyświetlaczy zazwyczaj wykorzystuje się interfejs RS232, większość mikroprocesorów także posiada sprzętowy UART. Wszystko fajnie, tylko jak to podłączyć? Bez żadnej ingerencji w taki wyświetlacz potrzebowalibyśmy konwertera napięć TTL/RS232. Tylko, że to bez sensu. Po co konwertować napięcia TTL z mikroprocesora na RS232 skoro w wyświetlaczu jest kolejny konwerter tylko, że w drugą stronę? Logicznym wyjściem z sytuacji jest ominięcie konwertera napięć w wyświetlaczu. Ja zrobiłem to w ten sposób i działa znakomicie. Zwykle jest tak, że nie wiemy, jaki wyświetlacz nam się trafi, ale łączy je wspólna cecha czyli sposób wysyłania do nich informacji. Dzięki temu możemy dostosować do swoich mikroprocesorowych potrzeb każdy wyświetlacz. Generalnie pierwszym etapem jest odnalezienie pinów zasilających wyświetlacz. Można to zrobić na podstawie specyfikacji technicznej znalezionej w internecie. osobiscie przerobiłem dwa wyświetlacze. jeden z nich to IEE PC322 http://www.ieeinc.com/specs/PDK_0003_INOPML_REVC.pdf a drugi to VFD WD-202 http://www.eposintl.com/manual/Magnum%20%28WD%20202%29%20Customer%20Display%20Manual.pdf. Niestety, w obydwu przypadkach nie znajdziemy informacji o zasilaniu. Dlatego odnajdujemy charakterystyczne punkty na płytce, czyli masę układu, kondensatory filtrujące, w razie potrzeby szukamy datasheetu pierwszego lepszego układu na płytce, szukamy pinów zasilania i sprawdzamy czy zgadza się ze znalezionym przyłączem zasilania. Kolejnym krokiem jest odnalezienie pinu RxD. UWAGA - w niektórych specyfikacjach napisane jest na odwrót (TxD zamist RxD). Weryfikujemy wszystko po znalezieniu układu konwertera napięć RS232/TTL. U mnie wyglądało to tak:

Chip Sipex SP232ECT http://www.ecs.umass.edu/ece/tessier/courses/354/lab1/SP231A.pdf


Chip Intersil ICL232CB http://www.intersil.com/content/dam/Intersil/documents/icl2/icl232.pdf

Dosyć łatwo poznac te układy na płytce wyświetlacza, zapewne będą one zawierać liczbę 232 w swojej nazwie. Znaleźliśmy konwertery. Co teraz? Sprawdzamy który pin to wyjście RxD. Dla wyświetlacza WD-202 jest to nóżka numer 9. Teraz odłączamy nóżkę układu i do miejsca gdzie nóżka była przylutowana możemy podawać sygnał z mikroprocesora. Oczywiście nie tak od razu. Dla pewności proponuję podać sygnał poprzez rezystor 10kOhm i wsatwić diodę zenera 3,6V. Całość tej niewielkiej modyfikacji widać na zdjęciu wyżej przedstawiającym układ ICL232CB oraz jego okolice. Tutaj mały schemat:

Od strony procesora naturalnie podłączyć do TxD. Teraz wysyłając znaki poprzez UART bez problemu wyświetlimy teksty. Najpierw jednak konfiguracja. Teraz dużą pomocą będzie specyfikacja wyświetlacza. Mamy tam tabele znaków, tryby wpisywania tekstu, Wszystko co potrzeba. Komendy wysyłamy najczęściej binarnie lub hexadecymalnie. Przykładowy kod w popularnym BASCOM'ie:
$regfile = "m16def.dat"
$crystal = 4000000
$baud = 9600


Printbin 12        'czyszczenie wyświetlacza w hex jest to liczba 0C
Print "testowy napis"
Print "         druga linia"

Do
Loop
End
Program czyści wyświetlacz i wyświetla prosty napis, warto wspomnieć, że po każdym Print w Bascom'ie wysyłany jest znak CR (carriage return), dlatego automatycznie przechodzi do nowej linii. Efekty możemy podziwiać na wyświetlaczu:
Uważam, że takie rozwiązanie jest bardzo wygodne w późniejszym projektowaniu, ponieważ wykorzystujemy tylko jedna linie procesora do sterowania wyświetlaczem tekstowym, nie trzeba stosować specjalnych bibliotek do wyświetlaczy. Cena jest zadowalająca, ten ze zdjęcia kosztował 40 zł, a użyteczna powierzchnia wyświetlania ma 176x39mm.

1 komentarz:

  1. Jako elektronik hobbysta mogę potwierdzić, że to nie takie proste już układy, wystarczy spojrzeć na płytki pcb jak są zaprojektowane i wykonane. Nie każdy z takim zadaniem już by sobie poradził. Ale na szczęście takie gotowe płytki można zamawiać, na https://tspcb.pl/ znaleźć można ofertę sprawdzonego producenta tego typu układów. Są w stanie wykonać najbardziej zaawansowane obwody, zgodnie z projektem klientów.

    OdpowiedzUsuń