Wszystko zaczęło się od wyświetlacza od kasy fiskalnej IBM 93F1090, który w roku 2006 dostał się w moje ręce.
Chciałem go uruchomić lecz niestety nigdzie nie mogłem odnaleźć informacji jak się do niego dobrać.
http://www.elektroda.pl/rtvforum/topic558072.html
Nikt nie potrafił mi wówczas pomóc, więc zrezygnowałem z jego uruchomienia.
Wiosną tego roku przeglądając elektrodę natknąłem się na projekt zegara/termometru na vfd, który ku mojemu zdziwieniu wykorzystywał właśnie wyświetlacz taki jak ten mój:
http://www.elektroda.pl/rtvforum/viewtopic.php?t=1371279
Po zapoznaniu się z tematem postanowiłem też spróbować uruchomić swój.
Założeniem projektu było zrobienie wyświetlacza vfd z zegarem oraz z datą. Dane do wyświetlenia miały być przesyłane przez rs232, w przypadku ich braku przez kilka sekund miałby się pojawiać zegar i data.
Posiłkując się informacjami udostępnionymi przez kolegów z elektrody uruchomiłem całość. Jednak przy kolejnym usuwaniu małego błędu w programie zapomniałem zmienić napięcia zasilania z 12V na 5V co zniszczyło lampę wyświetlacza. Drugiego takiego niestety nie udało mi się dostać przez co projekt został niezrealizowany. (dla zainteresowanych mogę udostępnić informacje jego dotyczące)
Jednak urzeknięty zaletami vfd postanowiłem dalej szukać...
I tak zakupiłem wyświetlacz od kasy fiskalnej INNOVA (kasy te są najczęściej wykorzystywane w supermarketach - również pod innymi markami - siemens itp).
Wyświetlacz od razu potrafił wyświetlać dane jakie otrzymywał przez port rs232, jednak nie robił tego w sposób standardowy, traktując ekran jako bufor cykliczny znaków, tylko wyświetlał znaki wierszami - zakończenie wypisywania ostatniego znaku w drugim wierszu powodowało przesuniecie drugiego wiersza na pierwszą pozycję i powrót na początek linii, itd.
Postanowiłem przerobić go w taki sposób aby działał standardowo + posiadała funkcje założone w poprzednim projekcie.
Lampa VFD (202-md-18gok) jest typu CIG - czyli chip in glass, dzięki czemu sterowanie polega na szeregowym przesyłaniu informacji do 108-bitowej pamięci, na podstawie której zapalane są piksele.
[http://www.noritake-itron.com/SubPages/ApplicNotesE/vfdcigapn.htm]
(Poprzednia lampa miała anody i katody każdego piksela wyprowadzone na piny.)
Na płycie głównej oryginalnego wyświetlacza zastąpiony został główny procesor, płytką z procesorem atmega8 oraz zegarem pcf.
Funkcje wyświetlacza:
- zegar i data, wyświetlane tylko w czasie, gdy nie są wysyłane dane przez port rs232 - możliwe włączenie i wyłączenie funkcji (zapamiętane w eeprom)
- podtrzymywanie bateryjne, wraz z informowaniem o wykasowaniu ustawienia zegara przez ikonę na wyświetlaczu (przy długim braku zasilania)
- zmiana jasności o określonych godzinach, dwie możliwe do zaprogramowania - na noc i na dzień (ustawienie zapamiętane w eeprom)
- możliwość standardowego sterowania podświetleniem - 13 poziomów
- możliwosć włączenia kursora (zapisane w eeprom)
- wyświetlanie polskich znaków + kilka dodatkowych
- możliwość zapalenia trójkątów pod każdą pionową linią znaków
- czyszczenie ekranu
- ustawianie kursora
- ustawianie urzÄ…dzenia z aplikacji (okienkowej) uruchamianej na komputerze
- ustawianie zegara z aplikacji konsolowej - wykorzystującej aktualny czas na komputerze - możliwa okresowa synchronizacja
Wyświetlacz pracuje z prędkością 9600,8,1,n i jest u mnie podłączony do komputera media center pracującego na programie Media Portal. Przy każdym ponownym uruchamianiu komputera, czas zegara jest synchronizowany.
Załączam wsad do procesora, programy oraz schemat płytki. Program z konsoli wymaga w parametrach podania portu com oraz czy ma sprawdzać jasność czy jest prawidłowa czy też nie. Przykładowe wywołanie:
- ustawia godzinę na comie pierwszym i sprawdza jasność: VFDautoSet.exe COM1 dm:au
- ustawia godzinę na comie drugim i nie sprawdza jasności: VFDautoSet.exe COM2 dm:man
Programy do konfiguracji: (wymagajÄ… .NET 3.5)
Wzór płytki:
Wsad procesora atmega8: