- zliczanie impulsów wejściowych w zakresie 0…999999,
- zadawanie wartości progowej, po której następuje załączenie przekaźnika,
- maksymalna częstotliwość impulsów: około 20 kHz,
- wejście impulsów z możliwością dołączenia rezystora typu pull-up lub pull-down,
- możliwość ustawienia reakcji na zbocze opadające, narastające lub oba,
- nastawy przechowywane w nieulotnej pamięci EEPROM,
- zewnętrzne wejście zerujące + przycisk monostabilny na płytce,
- dwa wyjścia (NO i NC) przekaźnika o obciążalności do 8 A,
- alfanumeryczny wyświetlacz LCD o organizacji 2 wiersze po 16 kolumn,
- zasilanie napięciem stałym 12 V (lub 24 V po modyfikacji).
Niektóre produkty można zliczać poprzez ich zważenie i podzielenie uzyskanego wyniku przez średnią masę jednej sztuki, lecz muszą one być jednakowe. W innym przypadku trzeba policzyć każdą sztukę z osobna. A gdyby tak układ elektroniczny mógł sygnalizować operatorowi, że odpowiednia liczba sztuk już wpadła do opakowania, byłoby cudownie. Taką możliwość daje zaprezentowany układ. Nie musi on służyć jedynie do określania liczby przedmiotów, gdyż po sprzęgnięciu z enkoderem inkrementalnym może wspomagać odmierzanie odcinków o określonej długości. Obsługa tego urządzenia jest banalnie prosta, a jego możliwości są naprawdę spore!
Budowa i działanie
Schemat ideowy omawianego układu znajduje się na rysunku 1. Do zliczania impulsów i obsługi wyświetlacza służy mikrokontroler US1 typu ATmega8A. Nie jest to najnowszy układ, lecz pozostaje popularny i niezawodny. Nie realizuje w tym urządzeniu zadań krytycznych pod względem czasowym, więc taktowanie jego rdzenia zegarem o częstotliwości 8 MHz, którego źródłem jest wbudowany oscylator RC, całkowicie wystarcza do poprawnego działania niniejszego układu. Nieopodal jego wyprowadzeń zasilania znajdują się kondensatory C1…C3, które filtrują napięcie zasilające z tętnień. Ich źródłem mogą być zarówno tranzystory wchodzące w skład struktury US1, jak i okoliczne elementy, na przykład diody zabezpieczające wejścia.
Aby wygodnie zadawać żądane wartości, w układzie znalazły się cztery przyciski monostabilne S1…S4. Wewnętrzne rezystory podciągające, które udostępnia mikrokontroler, zostały wsparte dodatkowymi, zewnętrznymi, co zwiększa odporność na zakłócenia. Zwiększeniu wygody - tym razem nie codziennej obsługi, lecz programowania pamięci Flash mikrokontrolera US1 - służy z kolei złącze J1, na które zostały wyprowadzone sygnały interfejsu ISP, popularnego w układach z rodziny AVR. Rezystory z drabinki RN1 ustalają ich potencjał względem masy, zapewniając tym samym możliwość rozładowania wyprowadzeń złącza J1 z nagromadzonych ładunków elektrostatycznych.
Impulsy wejściowe należy podawać na zaciski złącza J2. Sterują one bezpośrednio wejściem mikrokontrolera, więc dla poprawnego działania wymaga się, by ich amplituda była nie mniejsza niż 3,5 V. Jeżeli byłaby wyższa, diody D1 i D2 ograniczą ją do akceptowalnej wartości. Rezystor R5 ogranicza prąd tych diod, zaś R6 prąd diod zabezpieczających wbudowanych w mikrokontroler - takie dwustopniowe zabezpieczenie bardzo dobrze zabezpiecza nawet przed krótkotrwałymi wyładowaniami elektrostatycznymi. Do dyspozycji użytkownika są również rezystory podciągające: jeden do dodatniej linii zasilającej (R3), zaś drugi do masy (R4). Można je załączyć przez nałożenie zworki na jedno ze złączy, odpowiednio JP1 lub JP2, lecz można też ich nie załączać, wówczas wejście impulsów przedstawia sobą bardzo wysoką impedancję.
W prostszy sposób zostało zabezpieczone wejście zerujące, którego zaciski znajdują się w złączu J3. Rezystor R8 zapewnia ograniczenie prądu diod zabezpieczających wejście mikrokontrolera, ponieważ założono, że między zaciskami tego złącza a zewnętrznym przyciskiem monostabilnym będzie krótki odcinek przewodu. Tę samą funkcję spełnia również przycisk S3, znajdujący się na płytce, nie trzeba koniecznie montować zewnętrznego.
Napięcie zasilające układ podłącza się do zacisków złącza J4. Dioda D3 odcina zasilanie w przypadku pomylenia polaryzacji tego napięcia. Stabilizator liniowy typu 7805 dostarcza napięcia 5 V dla układów cyfrowych. Moc strat na nim jest na tyle niska, że nie ma potrzeby stosowania przetwornicy impulsowej - jego metalowa wkładka wystarcza do odprowadzania ciepła.
Użytkownik widzi informacje podawane przez układ na alfanumerycznym wyświetlaczu LCD1, który zawiera sterownik typu HD44780 lub zgodny z nim. Ma dwa wiersze po szesnaście znaków w każdym. Potencjometrem P1 ustawia się kontrast owego wyświetlacza. Rezystor R9 pozwala na zasilanie jego podświetlenia z niestabilizowanego napięcia wejściowego, nie obciążając tym samym stabilizatora US2.
Zasilanie dla sterowanego przez układ urządzenia powinno być poprowadzone przez zaciski złącza J5, do którego są doprowadzone wyprowadzenia styków normalnie otwartych (NO) oraz normalnie zamkniętych (NC) przekaźnika PK1. Rezystor (33 Ω) i kondensator (100 nF z dielektrykiem typu X2) tworzą prosty układ pochłaniający energię wydzielaną w momencie łączenia i rozłączania styków przekaźnika, kiedy dochodzi do ich iskrzenia. Zmniejsza to ryzyko wystąpienia błędu w funkcjonowaniu układu, ponieważ redukcji ulega poziom emitowanych zakłóceń elektromagnetycznych. Zabezpieczone są w ten sposób zarówno styki NO, jak i NC.
Montaż i uruchomienie
Układ został zmontowany na dwustronnej płytce drukowanej o wymiarach 120×90 mm, której schemat pokazano na rysunku 2. W odległości 3 mm od krawędzi płytki znalazły się cztery otwory montażowe, każdy o średnicy 3,2 mm. Dodatkowo, aby płytka nie uginała się podczas naciskania przycisków, w pobliżu środka płytki dodano dodatkowe otwory. Rysunek 3 pokazuje ich lokalizację na płytce.
Montaż proponuję rozpocząć od elementów o najmniejszej wysokości obudowy, czyli rezystorów i diod. Pod mikrokontroler warto zastosować podstawkę. Stabilizator US1 można dogiąć tak, aby położyć go na powierzchni laminatu lub też pozostawić w pionie, aby wygodniej móc przykręcić do niego niewielki radiator. Ten etap montażu można zobaczyć na fotografii 1.
Na drugiej stronie płytki jest miejsce dla wyświetlacza LCD1 oraz czterech przycisków S1…S4. Ich lokalizację po przylutowaniu przedstawia fotografia tytułowa. Na samym końcu, po wlutowaniu wszystkich przycisków, należy przykręcić wyświetlacz LCD za pomocą czterech tulei dystansowych oraz przylutować jego złącza. Warto lutowanie zostawić na sam koniec, po dokładnym przykręceniu, aby ewentualny naddatek wysokości tulei mógł być skompensowany przez lekkie wystawienie złączy z powierzchni płytki, lecz tak, aby część męska i żeńska wchodziły w siebie całkowicie. Rozmieszczenie przycisków i wyświetlacza na powierzchni płytki znajduje się na rysunku 4, dzięki niemu łatwiej będzie wykonać obudowę dla tego urządzenia.
Na etapie uruchamiania konieczne jest zaprogramowanie pamięci Flash mikrokontrolera dostarczonym wsadem oraz zmiana jego bitów zabezpieczających na takie wartości:
Low Fuse = 0x24
High Fuse = 0xD9
Szczegóły są widoczne na rysunku 5, który zawiera widok okna konfiguracji tychże bitów z programu BitBurner. W ten sposób zostanie uruchomiony wewnętrzny generator o częstotliwości wyjściowej 8 MHz oraz Brown-Out Detector, który wprowadzi mikrokontroler w stan zerowania, jeżeli jego napięcie zasilające spadnie poniżej 4 V. To znacznie zmniejsza ryzyko zawieszenia się układu podczas uruchamiania - zwłaszcza wtedy, gdy napięcie zasilające narasta powoli.
Poprawnie zaprogramowany układ jest gotowy do działania po ustawieniu kontrastu wyświetlacza potencjometrem P1. Do zasilania powinno służyć napięcie stałe o wartości około 12 V, a dokładniej z przedziału 10…16 V. Takie granice obejmują zakres prawidłowej pracy przekaźnika (z uwzględnieniem spadku napięcia na przewodzącej diodzie D3 i nasyconym tranzystorze T1) w temperaturze 20°C. Warto, aby owe napięcie było dobrze filtrowane, a jeszcze lepiej stabilizowane. Pobór prądu ze źródła napięcia o wydajności 12 V wynosi około 10 mA przy wyłączonym przekaźniku oraz około 40 mA, kiedy cewka zostanie załączona.
Układ można łatwo przystosować do zasilania napięciem 24 V. Aby to zrobić, w układzie wystarczy dokonać kilku niewielkich modyfikacji. Po pierwsze, przekaźnik PK1 powinien mieć cewkę przystosowaną do napięcia 24 V. Najlepiej pasujący podzespół ma oznaczenie JQC3FF/241ZS z oferty sklepu AVT. Po drugie rezystor R9, który ogranicza prąd pobierany przez diody LED wyświetlacza LCD, powinien mieć rezystancję 2,7 kΩ, aby zachować podobną jasność podświetlenia. Po trzecie, jeżeli obudowa urządzenia miałaby słabą wentylację, polecam do stabilizatora US2 przykręcić radiator, który rozproszy wydzielane w nim ciepło. Wystarczy niewielki radiator przeznaczony do chłodzenia elementów w obudowach typu TO220, na przykład D02A z asortymentu wspomnianego już sklepu AVT.
Z uwagi na szerokość ścieżek łączących wyprowadzenia przekaźnika ze złączem J5, proponuję przyjąć maksymalny prąd płynący przez to złącze na poziomie 8 A. Ścieżki te zostały odsłonięte spod maski lutowniczej, co ułatwia ich pogrubienie, na przykład spoiwem lutowniczym.
Eksploatacja
Widok ekranu działającego urządzenia jest widoczny na fotografii 2. W górnym wierszu mamy informację o liczbie zliczonych impulsów, począwszy od wyzerowania lub uruchomienia układu - wartość ta nie jest zapamiętywana po zaniku zasilania. W dolnym wierszu jest wyświetlana progowa liczba impulsów, zadana wcześniej przez użytkownika. Jeżeli liczba NOW jest większa lub równa liczbie SET, to przekaźnik załącza się (w prawym górnym rogu pojawia się ON). W przeciwnym razie pozostanie on wyłączony, co sygnalizuje napis OFF. Wyzerowanie układu wyłącza przekaźnik, gdyż warunek NOW >= SET przestaje być spełniony. W dolnym lewym rogu mamy informację o aktywnym zboczu sygnału wejściowego. RISE oznacza zliczanie na zboczu narastającym, FALL na opadającym, zaś BOTH na obu zboczach.
W jaki sposób ustawia się te parametry? Wciskając przycisk S4 (SET), zmieniamy aktywne zbocze. Natomiast trzymając S1 (PLUS) lub S2 (MINUS) i wciskając dodatkowo S4 (SET), można zwiększać lub zmniejszać zadaną liczbę impulsów, czyli wartość SET. Im dłużej te przyciski są trzymane, tym szybciej odbywa się przewijanie, dlatego przemiatanie pełnego zakresu może trwać zaledwie kilkanaście sekund. Po upływie około 10 s od ostatniej zmiany wartość ta jest zapamiętywana w nieulotnej pamięci EEPROM, podobnie jak rodzaj aktywnego zbocza.
Pojemność licznika impulsów wynosi 999999. Jeżeli wartość ta zostanie przekroczona, pokaże się napis OVF! (fotografia 3) - i układ przestanie liczyć dalej, lecz przekaźnik nie zmieni swojego stanu. Dopiero wyłączenie zasilania lub wyzerowanie układu, czyli wciśnięcie przycisku S3 (ZERO) lub zwarcie zacisków złącza J3, przywraca możliwość liczenia.
Maksymalna częstotliwość zliczania to około 20 kHz, powyżej tej wartości układowi zdarza się gubić impulsy. Należy też pamiętać, że sam przekaźnik ma pewien czas reakcji, rzędu kilku milisekund, które trzeba uwzględnić w działaniu całego systemu. Układ ten powstał z myślą o znacznie wolniejszych przebiegach do zliczania, o częstotliwości rzędu kilku czy kilkunastu herców, gdyż wtedy opóźnienia wynikające z obsługi przekaźnika czy wyświetlacza nie są istotne.
Impulsy wejściowe powinny mieć parametry odpowiadające sygnałom TTL, czyli stan niski w pobliżu potencjału 0 V, zaś stan wysoki o wartości około 5 V. Ten zakres może być szerszy, ewentualny naddatek napięcia zostanie ograniczony przez diody zabezpieczające wejście znajdujące się na zaciskach złącza J2. Z uwagi na moc traconą w rezystorach zaleca się, by wartości szczytowe sygnału wejściowego nie przekraczały ±25 V.
Impedancja wejściowa układu dla sygnałów o parametrach TTL jest bardzo wysoka, rzędu wielu megaomów, poza tym zakresem wynosi około 3,3 kΩ. Można ustalić rezystancję wejściową układu poprzez zastosowanie rezystora pull-up lub pull-down. Ten pierwszy załącza się poprzez nałożenie zworki JP1, zaś drugi zworką JP2. Mogą one być przydatne szczególnie wtedy, gdy chcemy wejście układu sprzęgnąć z elementem elektromechanicznym, na przykład przełącznikiem krańcowym lub ręcznym przyciskiem monostabilnym.
Prosty schemat z rysunku 6 ilustruje konfigurację zworek (JP1 zwarta, JP2 rozwarta) oraz elementy, które warto dodać, by zredukować wpływ iskrzenia styków na zliczanie. Bez tego obwodu RC, który w tym przykładzie składa się z kondensatora 100 nF i rezystora 330 Ω, pojedynczy ruch styków może być odebrany jako kilkanaście lub nawet kilkadziesiąt impulsów zliczonych przez układ.
Michał Kurzela, EP
- R1…R8, R12, R13: 3,3 kΩ
- R9: 1,5 kΩ (opis w tekście)
- R10, R11: 33 Ω 3 W
- RN1: 4 × 10 kΩ SIL5
- P1: 10 kΩ montażowy leżący jednoobrotowy
- C1: 220 μF 25 V raster 2,5 mm
- C2, C3, C5…C7: 100 nF raster 5 mm MKT
- C4: 100 μF 35 V raster2,5 mm
- C8, C9: 00 nF MKP X2 305 V AC raster 15 mm
- D1, D2, D4: 1N4148
- D3: 1N5819
- LCD1: 2×16, zgodny z HD44780 np. LCD2X16 15
- T1: BC546
- US1: ATmega8A-PU DIP28
- US2: 7805 TO220
- J1: goldpin 5 pin męski 2,54 mm THT
- J2…J4: ARK2/500
- J5: ARK3/500
- JP1, JP2: goldpin 2 pin męski 2,54 mm THT + zworka
- PK1: JQC3FF/121ZS (opis w tekście)
- S1…S4: microswich 6×6 13,5 mm
- Jedna podstawka DIP28 wąska
- Złącze męskie i żeńskie goldpin 1×16 pin 2,54 mm
- Cztery tuleje dystansowe gwint wewnętrzny M3 12 mm poliamid
- Osiem śrub M3 6 mm