Schemat ideowy licznika pokazano na rysunku 1. Jako mikrokontroler realizujący liczenie i sterowanie wyświetlaczem wybrano ATmega32L firmy ATMEL w obudowie TQFP44 - wersja "L" przystosowana do obniżonego napięcie zasilania. Konieczne było użycie układu z dużą liczbą wyprowadzeń, aby bezpośrednio sterować wyświetlaczem LCD typu JH17.
Sterowanie tym wyświetlaczem sprowadza się do ustawiania odpowiednich poziomów logicznych pomiędzy elektrodą sterującą (COM) a dowolną inną. Z punktu widzenia zacisków wyświetlacz taki prezentuje sobą jedynie pojemność, dlatego zasadniczym elementem pobierającym energię jest mikrokontroler.
Załączenie danego segmentu (każdy segment wyprowadzony jest oddzielnie, nie ma multipleksowania) polega na przyłożeniu między wyprowadzenie tego segmentu a elektrodę wspólną napięcia zmiennego. Z kolei, wyłączenie danego segmentu jest równoważne ze zwarciem jego wyprowadzenia z elektrodą wspólną.
Zostało to zrealizowane następująco: na elektrodę wspólną jest podawany przebieg prostokątny o wypełnieniu 50% i amplitudzie niemal równej napięciu zasilania. Załączenie segmentu polega na wysterowaniu odpowiadającego mu wyprowadzenia mikrokontrolera przebiegiem o tej samej częstotliwości, ale o przeciwnej fazie niż ten, który steruje elektrodą wspólną - pokazano to na rysunku 2.
Z kolei, wyłączenie segmentu odbywa się poprzez podanie przebiegu o tej samej fazie, co zasilający elektrodę wspólną - rysunek 3. Sygnał przykładany różnicowo ma dwukrotnie większą amplitudę, zaś podawany współbieżnie wytłumia się i nie polaryzuje ciekłych kryształów. Objaśnia to oscylogram na rysunku 4.
Wynika z tego jeszcze jedna, bardzo poważna zaleta: między elektrodami nie występuje składowa stała (wartość średnia obydwu sygnałów jest zerowa), co pozytywnie wpływa na trwałość tego elementu. Z tego względu, segmenty nieużywane zostały trwale połączone z elektrodą wspólną, przez co nie są uaktywniane.
Impulsy do zliczania powinny być przykładane do wejść P3 i P4. Jako impuls rozumiany jest jednokrotne zwarcie ze sobą tych zacisków. Obwód różniczkujący złożony z kondensatora C1 i rezystora R2 generuje bardzo krótki impuls w momencie zwarcia, który wprowadza tranzystor T1 w stan przewodzenia.
Rezystor R1 rozładowuje C1 po zakończeniu zwarcia, zaś R3 ogranicza prąd bazy tranzystora. Jako obciążenie kolektora włączony został obwód całkujący - zabezpiecza on z kolei przed wielokrotnym zliczeniem wskutek iskrzenia styków.
System przerwań mikrokontrolera został skonfigurowany do detekcji zbocza narastającego, dlatego inkrementacja wartości licznika odbędzie się w chwili zwarcia ze sobą P3 i P4. elementem zwierającym mogą być zarówno mechaniczne styki, jak i fototranzystor, włączony kolektorem do zacisku P3, a emiterem do P4.
Licznik liczy w przedziale 0 - 1999, próba wyświetlenia wartości większej od górnego zakresu zaowocuje wyświetleniem napisu "HI". Wyzerowanie licznika jest możliwe w każdej chwili poprzez wciśnięcie przycisku SW1 lub odłączenie zasilania.
Do zaprogramowania mikrokontrolera poprzez ISP służy złącze J1. Kolejność wyprowadzeń w nim przedstawia fotografia 5. Zasilanie układu może odbywać się napięciem stałym, z przedziału 2,7...5,5 V, na przykład z baterii. Przedział ten jest określony przez zakres poprawnej pracy mikrokontrolera ATMega32L. Pobór prądu waha się od ok. 600 mA (VCC=3 V) do ok. 1,25 mA (VCC=5 V).
Licznik zmontowano na jednostronnej płytce drukowanej o wymiarach 38 mm×70 mm, której schemat montażowy pokazano na rysunku 6. Podczas montażu należy pamiętać o pięciu zworkach z drutu, nad którymi znajduje się wyświetlacz. Z kolei, sam wyświetlacz winien być zwrócony wystającą z krótszej krawędzi "spoiną" w stronę zacisków SUPPLY i INPUT na płytce.
Jedyną czynnością uruchomieniową jest zaprogramowanie mikrokontrolera oraz ustawienie odpowiednich bitów zabezpieczających, gdyż konieczne jest wyłączenie interfejsu JTAG. Taktowanie odbywa się z wewnętrznego oscylatora RC o częstotliwości 1 MHz, jest to opcja programowana przez producenta. Po podaniu zasilania, licznik jest gotowy do pracy.
Michał Kurzela, EP