- 4 tryby pracy (podtrzymanie przez zadany czas, opóźnione załączenie, opóźnione wyłączenie, załączenie natychmiastowe).
- Nastawy czasu do 100 godzin (-1 sekunda) z rozdzielczością 1 sekundy.
- Napięcie zasilające 8…30 V DC/maks. 0,2 A.
- Płytka drukowana o wymiarach 130 mm×65 mm.
- Mikrokontroler ATtiny24A.
Użytkownik może wybrać jeden spośród podanych trybów pracy:
- Podtrzymanie załączenia przekaźnika przez zadany czas po zaniku sygnału wyzwalającego.
- Opóźnienie w załączeniu po pojawieniu się sygnału wyzwalającego, niezależnie od czasu jego trwania. Następne załączenie będzie możliwe po zaniku sygnału wyzwalającego.
- Wyłączenie po ustalonym czasie od pojawienia się sygnału, nawet, jeżeli trwa nadal.
- Załączanie bez opóźnienia (zwykły przekaźnik ON/OFF), opcja przydatna zwłaszcza podczas testów lub diagnostyki całego systemu.
Zadany czas może wynosić aż do 99 godzin, 59 minut i 59 sekund, ustawiany z rozdzielczością 1 sekundy. Interfejs użytkownika jest bardzo prosty, ponieważ składa się z trzech przycisków do ustawiania poszczególnych wartości oraz przełącznika, do wyboru trybu pracy.
Budowa urządzenia
Na rysunku 1 pokazano schemat ideowy omawianego przekaźnika czasowego. Zadany przez użytkownika czas jest wyświetlany na trzech 2-cyfrowych, 7-segmentowych wyświetlaczach LED. Wyprowadzenia anod segmentów każdej z cyfr są połączone razem wewnątrz obudowy, więc do załączania poszczególnych segmentów używa się niskich poziomów logicznych. Ze względu na liczbę segmentów, sterowanie odbywa się w trybie multipleksowym – w danym momencie jest załączana tylko jedna cyfra.
Aby ograniczyć potrzebną liczbę wyprowadzeń mikrokontrolera nadzorującego pracę całego układu, ponieważ do załączania jest 7 segmentów i 6 anod, czyli 13 wyprowadzeń, użyto dwóch rejestrów przesuwnych typu 74HC595. Dzięki temu, potrzebne są tylko trzy linie:
- danych (wyprowadzenie SER),
- zegara danych (wyprowadzenie SCK),
- zegara równoległego rejestru wyjściowego (wyprowadzenie RCK).
Układy 74HC595 zostały połączone kaskadowo, toteż zachowują się jak jeden rejestr, o pojemności 16 bitów. Zapewniają w ten sposób dostateczną liczbę wyprowadzeń wyjściowych. Wadą tego rozwiązania jest konieczność wysyłania szeregowo 16 bitów przy każdym odświeżeniu zawartości wyświetlacza, lecz dostatecznie szybki zegar taktujący rdzeń mikrokontrolera pozwala ominąć ten problem.
Katody poszczególnych segmentów wszystkich wyświetlaczy zostały połączone razem, a ich prąd jest ograniczony przez rezystory R1…R8 (510 V) do około 5,5 mA – zakładając, że napięcie przewodzenia diody w segmencie to ok. 2 V. Segmenty świecą dostatecznie jasno, nie pobierając przy tym znacznego prądu. Anody segmentów są sterowane za pośrednictwem kluczy nasyconych na tranzystorach PNP, gdyż całkowity prąd danej cyfry może osiągnąć 44 mA, co jest wartością zbyt dużą, jak dla jednego wyprowadzenia układu 74HC595 (maksymalnie 35 mA). Można zastosować inne wyświetlacze (w szczególności, o innej barwie świecenia) niż zaproponowane w spisie części, muszą tylko mieć wymiary i układ wyprowadzeń zgodny z zastosowanymi – rysunek 2.
Układy 74HC595 mają wejście Output Enable (nóżka 13). Jeżeli znajduje się w stanie niskim, wyprowadzenia QA-QH przyjmują napięcia odpowiadające stanom logicznym zapisanym w rejestrze wyjściowym. Natomiast, gdy nóżka 13 jest w stanie wysokim, bufory wyjściowe odłączają wyprowadzenia od rejestrów wyjściowych, umieszczając je w stanie wysokiej impedancji.
Ta właściwość została wykorzystana do wykonania bardzo prostego zabezpieczenia przez niekontrolowanym „błyśnięciem” wyświetlaczy po włączeniu zasilania, kiedy to mikrokontroler jeszcze nie podjął pracy, a w rejestrach znajdują się wartości losowe. Kondensator C5 polaryzuje to wejście stanem wysokim, ponieważ jest rozładowany. Zanim przeładuje się on (poprzez rezystor R15) na tyle, aby logika cyfrowa uznała to za niski stan logiczny, mikrokontroler rozpocznie pracę i umieści w rejestrach wyjściowych prawidłowe wartości poszczególnych bitów. Użytkownik zauważy jedynie, że wyświetlacze włączyły się z niewielkim opóźnieniem.
Jako mikrokontroler został wybrany Attiny24A, ponieważ posiada dostateczną liczbę programowalnych wyprowadzeń, ma wbudowany generator dla rezonatora kwarcowego oraz kosztuje relatywnie niewiele. Jego rdzeń jest taktowany sygnałem zegarowym pochodzących z generatora stabilizowanego rezonatorem kwarcowym o częstotliwości 16 MHz. Daje to wystarczającą dokładność odmierzania czasu. Kondensatory C8 i C9 są zalecane przez notę katalogową producenta mikrokontrolera.
Do zaprogramowania pamięci Flash układu US3 zostało przewidziane złącze zgodne z ISP KANDA, J1. Można do niego wpiąć dowolny programator ISP za pomocą dziesięciożyłowej taśmy IDC, bez potrzeby dokonywania jakichkolwiek dodatkowych połączeń.
Podanie sygnału wyzwalającego ma formę zwarcia zacisków w złączu J2. Jeden z nich jest dołączony do masy, a drugi do bazy tranzystora PNP w układzie wspólnego emitera (T7), zatem wystarczy tylko to wyprowadzenie zewrzeć z masą, gdziekolwiek w układzie. Filtr dolnoprzepustowy, składający się z rezystora R17 i kondensatora C10, chroni układ przez uszkodzeniem wywołanym przez ładunki elektrostatyczne. Rezystor R16 polaryzuje bazę potencjałem emitera, aby tranzystor, przy rozwartych zaciskach J2, na pewno był zatkany.
Na płytce został dodany mikroprzełącznik impulsowy S1. Zwarcie jego styków łączy kolektor i emiter tranzystora T7, symulując wprowadzenie go w stan nasycenia. Umożliwia to ręczne wyzwolenie układu, przydatne podczas wykonywania testów, bez potrzeby otwierania obudowy.
Przyciski monostabilne S2…S4 służą do ustawiania pożądanej wartości odmierzanego czasu. Zostały podłączone do mikrokontrolera w typowy sposób, tj. z użyciem rezystorów podciągających do dodatniej linii zasilającej +5 V. Równolegle do styków są dołączone proste obwody filtrujące RC, których zadaniem jest eliminacja iskrzenia. Gdyby składały się one z samego kondensatora, zwieranie go stykami mogłoby wzmagać iskrzenie, ze względu na relatywnie wysoki prąd rozładowania. Rezystor szeregowy ogranicza ten prąd do ok. 10 mA, czyli wartości bezpiecznej dla styków.
Ustawienie trybu pracy odbywa się poprzez przesunięcie odpowiedniej sekcji przełącznika S5. Nadaje to wejściu przetwornika analogowo-cyfrowego mikrokontrolera jeden z ustalonych potencjałów:
- 1 – potencjał masy – 0 V,
- 2 – dzielnik napięcia 5 V przez R27 i R25 – około 2,5 V,
- 3 – dzielnik napięcia 5 V przez R26 i R25 – około 4,55 V,
- 5 – potencjał zasilania – pełne 5 V.
Kondensator C15 zmniejsza poziom szumu na wejściu przetwornika, przy polaryzowaniu go napięciem z dzielników rezystancyjnych. Jeżeli żadna sekcja nie zostanie załączona, rezystor R25 spolaryzuje to wejście potencjałem 0 V. Można to wykorzystać zamiast ustawiania sekcji nr 1 tego przełącznika.
Zaciski przekaźnika obsługującego wyjście są dołączone do złącza J3 – zarówno styk normalnie zwarty (NC), jak i normalnie otwarty (NO). Cewkę przekaźnika załącza tranzystor T8, po wprowadzeniu go w stan nasycenia. Prąd z jego bazy jest wyciągany poprzez diodę LED4, sygnalizującą załączenie przekaźnika, oraz rezystor R29, ograniczający prąd. Przekaźnik załącza się po ustawieniu stanu niskiego na wyjściu QH układu US2. Natężenie prądu wypływającego z bazy T8 to ok. 4,3 mA, zakładając 2 V spadku napięcia na diodzie świecącej.
Wszystkie obwody znajdujące się na płytce przekaźnika czasowego są przystosowane do zasilania napięciem 5 V. Aby zwiększyć uniwersalność tego układu, dodano prostą przetwornicę step-down na popularnym i tanim układzie typu MC34063A w typowej dla niego aplikacji. Dioda D2 zabezpiecza go przed zniszczeniem w przypadku odwrotnego podłączenia zasilania do zacisków złącza J4. Dopuszczalny zakres napięć zasilania układu rozciąga się od ok. 8 V aż do ok. 30 V.
Rezystory R32 i R33 ustalają napięcie wyjściowe tej przetwornicy na ok. 5,4 V. Niewielka nadwyżka ponad nominalną wartość 5 V jest pożądana ze względu na prawidłowe przyciąganie kotwiczki w przekaźniku, ponieważ tranzystor T8 wprowadza pewien spadek napięcia.
Montaż i uruchomienie
Układ uniwersalnego przekaźnika czasowego został zmontowany na dwustronnej płytce drukowanej o wymiarach 130×65 mm, której schemat montażowy i wzór ścieżek przewodzących przedstawia rysunek 3. W odległości 3 mm od krawędzi płytki znajdują się otwory o średnicy 3 mm każdy, służą zamocowaniu płytki w obudowie.
Od strony wierzchniej (Top) jest miejsce dla wyświetlaczy LED1-LED3, przycisków chwilowych S1-S4, przełącznika S5 i diody LED4. Wszystkie pozostałe elementy należy zamontować od spodu płytki. W ten sposób, po przykręceniu płytki do płyty czołowej obudowy, będzie dostęp do wszystkich złącz od strony jej wnętrza, a wysokie podzespoły (np. przekaźnik), nie utrudnią dosunięcia wyświetlaczy do otworu na nie. Zmontowana płytka od strony spodniej (Bottom) jest do zobaczenia na fotografii 4.
Prawidłowo zmontowany układ należy zaprogramować, aby stał się funkcjonalny. Do tego służy dostarczony wsad pamięci Flash mikrokontrolera ATtiny24A. Oprócz tego, należy ustawić jego bity zabezpieczające (tzw. fusebity) według widoku z rysunku 5. Aby było to możliwe, do złącza J4 należy doprowadzić zasilanie.
Eksploatacja
Prawidłowo zmontowany i zaprogramowany układ jest gotowy do działania. Po włączeniu zasilania, na wyświetlaczu pokaże się numer wybranego trybu pracy. Następnie zostaje wczytana, zapisana uprzednio w nieulotnej pamięci EEPROM, nastawa czasu do odmierzania – fotografia 6.
Jeżeli nie ma sygnału wyzwalającego, układ znajduje się w stanie oczekiwania, kiedy to można dowolnie zmieniać ustawienia czasu. Odbywa się to poprzez pojedyncze klikanie lub dłuższe przyciskanie microswitcha pod odpowiednim wyświetlaczem: godzin (H), minut (M) i sekund (S). Maksymalna, możliwa do ustawienia wartość to 99:59:59.
Po sekundzie od ostatniego wciśnięcia przycisku, uruchamiany jest zapis do EEPROM. Układ sygnalizuje to poprzez zaświecenie na krótko prawej (skrajnej) kropki. Dzięki temu, że zapis nie odbywa się na bieżąco, pamięć ta zużywa się znacznie wolniej (posiada ograniczoną liczbę cykli zapisu/odczytu).
Ustawiając przełącznik S5 należy pamiętać, że załączenie więcej niż jednej sekcji może spowodować nieprawidłowe działanie układu.
Dla ciekawskich polecam przejrzenie kodu źródłowego programu załączonego w materiałach dodatkowych. Odświeżanie zawartości wyświetlaczy oraz odmierzanie czasu zrealizowano na tym samym przerwaniu od przepełnienia licznika Timer0. Dzięki temu, nie wystąpi nieestetyczny efekt w postaci chaotycznego migotania wyświetlaczy, kiedy wykonanie podprogramu odświeżania wyświetlaczy zostaje wstrzymane na rzecz innego. Dodatkowo, sprawdzanie stanu wejścia wyzwalającego odbywa się w tym samym przerwaniu, co 2 ms. Jest to zatem najkrótszy możliwy czas trwania impulsu wyzwalającego, aby został on poprawnie wykryty.
Michał Kurzela, EP
- R1…R8, R20, R22, R24, R29: 510
- R9…R14, R17, R26: 1 k
- R15, R16, R18, R19, R21, R23, R25, R27, R28, R30, R33: 10 k
- R31: 1
- R32: 33 k
- C1, C3, C6: 10 nF
- C2, C4, C5, C7, C18: 10 F/10 V
- C8, C9: 15 pF
- C10…C15: 100 nF
- C16: 220 F/35 V (elektrolit.)
- C17: 470 pF
- D1…D3: BYS11-90 (lub podobna)
- LED1…LED3: AD5624BS (opis w tekście)
- LED4: czerwona 5 mm THT
- T1…T8: BC856 (lub podobny)
- US1, US2: 74HC595 (SO16)
- US3: ATtiny24A (SO14)
- US4: MC34063A (SO8)
- J1: IDC 10 pin, męskie, THT, proste/li>
- J2, J4: ARK2/5 mm/li>
- J3: ARK3/5 mm/li>
- L1: 330 H/800 mA (dławik pionowy)/li>
- PK1: przekaźnik JQC3FF 5VDC SPDT/li>
- Q1: rezonator kwarcowy 16 MHz (HC49 SMD)/li>
- S1…S4: przycisk 6×6/10 mm, THT/li>
- S5 DIP switch 4 sekcje THT