Postanowiłem zbudować wyłącznik wstrząsowy. Podwójne puknięcie w lustro (jak dwukrotne kliknięcie myszką) włącza światło, a jedno puknięcie – wyłącza. Ponadto, światło samoczynnie wyłącza się po określonym czasie.
Budowa
Schemat ideowy włącznika wstrząsowego pokazano na rysunku 1. Układ jest zasilany z zasilacza szeregowego. Reaktancja kondensatorów C7 i C6 obniża napięcie sieciowe. Połączenie szeregowe pozwala na zastosowanie kondensatorów o niższym napięciu i tym samym mniejszych wymiarach. Rezystor R1 zabezpiecza układ i w razie awarii ulega zniszczeniu. Napięcie jest prostowane w mostku Graetza B1 i stabilizowane do wartości 5 V za pomocą stabilizatora IC4. Transil D2 zabezpiecza układ LM78L05 przed pojawieniem się impulsu napięcia w chwili włączenia sieci. Napięcie +5 V ze stabilizatora zasila mikrokontroler IC1 oraz wzmacniacz operacyjny IC3.
Podczas drgań element piezoceramiczny generuje napięcie o wartości proporcjonalnej do ich siły (od kilku do kilkudziesięciu mV). Sygnał ten jest wzmacniany przez wzmacniacz IC3A. Wzmocnienie wzmacniacza wynosi Ku=4,7. Dioda D1 tłumi ujemne połówki sygnału generowanego przez czujnik piezo. Z układu IC3 wykorzystywany jest tylko jeden wzmacniacz. Druga połowa układu (IC3B) połączone ma wejścia do masy, aby ograniczyć pobór energii przez kład. Sygnał ze wzmacniacza IC3A podłączony jest do wejścia AN0 mikrokontrolera IC1.
Układ IC1 stanowi serce (logikę) układu. Wejście AN0 skonfigurowane jest jako wejście komparatora (peryferia mikrokontrolera) którego drugie wejście podłączone jest do wewnętrznego napięcia referencyjnego. Wyjście komparatora nadzorowane jest przez mikrokontroler i po spełnieniu kryterium włączenia lampy jest zerowany port GP2 mikrokontrolera, który steruje diodą optotriaka IC2. Zastosowanie optotriaka typu MOC3041 zapewnia komutację w zerze sinusoidy. Rezystory R3 i R4 mają za zadanie ochronę transoptora w przypadku uszkodzenia triaka T1.
Wejście GP3 mikrokontrolera skonfigurowane jest jako wejście programowania MODE. Zwarcie tego wejścia do masy pozwala programować parametry układu.
Montaż i uruchomienie
Przed zamontowaniem mikrokontrolera należy wgrać program ww1.hex. Do podłączenia czujnika piezoceramicznego przeznaczone są dwa pady. Do masy można przylutować goldpin, do którego przylutujemy pierwszy biegun elementu piezo, a drugi biegun podłączamy przewodem z padem połączonym z wyprowadzeniem 3 układu IC3.
Czujnik piezoelektryczny można odzyskać ze złomu elektronicznego. Może być to sygnalizator dźwiękowy z chińskiej zabawki. Podczas uruchomienia należy zachować szczególną ostrożność z uwagi na obecność napięcia sieciowego i brak separacji galwanicznej układu.
Najlepiej byłoby użyć transformatora separacyjnego. Pod żadnym pozorem nie należy podłączać układu zasilanego z sieci z programatorem mikrokontrolera.
Na wyjście układu należy podłączyć niedużą żarówkę (zwykłą lub halogen). Po włączeniu napięcie należy zmierzyć obecność napięcia 5 V. Jeśli jest można przejść do trybu programowania ustawień użytkownika.
Programowanie funkcji użytkownika
Aby rozpocząć procedurę programowania należy założyć zworę łącząca goldpin wejścia GP3 mikrokontrolera z masą, a następnie włączyć napięcia zasilania. Najlepiej używać zwory z długim uchwytem z tworzywa sztucznego, aby uniknąć porażenia prądem przez dotyk z układem, który nie jest separowany.
W pierwszej kolejności jest programowany czas, po jakim lampa ma być wyłączona automatycznie. W tym trybie lampa miga co 2 sekundy. Każde mignięcie oznacza, że czas świecenia lampy jest zwiększany o 1 minutę. Po uzyskaniu żądanej wartości należy zdjąć zworę z goldpinów, co zostanie potwierdzone dwoma błyskami lampy. Czyli jeśli chcemy, aby lampa automatycznie wyłączała się po 10 min, to należy zdjąć zworę z goldpinów po dziesiątym błyśnięciu lampy. Maksymalny czas to 255 minut (zmienna 8-bitowa).
Po zaprogramowaniu czasu świecenia lampy układ przechodzi do programowania czułości. Mamy do dyspozycji 15 poziomów czułości, co odpowiada podziałowi napięcia referencyjnego podłączonego na wejście komparatora mikrokontrolera. Układ zaczyna od najmniejszej czułości (na wejściu komparatora maksymalne napięcie referencyjne Uref=15/24×5 V). Można na bieżąco próbować czy układ reaguje na wstrząs (stuknięcie). Jeśli mikrokontroler odbierze sygnał z czujnika wstrząsu, to na 1 sekundę zaświeci lampę. Co 6 sekund czułość jest zwiększana o jeden poziom (Uref=14/24×5 V), co jest sygnalizowane dwoma błyśnięciami lampy. Po uzyskaniu żądanej czułości należy założyć zworę na goldpiny łączące wejście GP3 z masą. Lampa błyśnie trzykrotnie potwierdzając zapis ustawień do pamięci EEPROM mikrokontrolera. Następnie należy wyłączyć napięcie zasilania i zdjąć zworę z goldpinów.
Układ jest gotowy do pracy i można go przetestować. Podwójne stuknięcie (jak dwa kliknięcia myszką – ma to zapobiegać przypadkowemu włączeniu) zapalają lampę, a jedno stukniecie gasi lampę. Ponadto po włączeniu lampy powinna zgasnąć o zaprogramowanym czasie.
Grzegorz Mazur
- R1: 22 kΩ
- R2: 470 Ω
- R3, R4: 100 Ω
- R5, R6: 470 kΩ
- R7: 47 kΩ
- R8: 10 kΩ
- R9: 330 kΩ
- R10: 1 Ω/0,125 W
- C1, C2: 100 nF (SMD 1206)
- C3: 47 μF/50 V
- C4: 470 μF/10 V
- IC1: PIC12F675 (SO8)
- IC2: MOC3041 (DIP6)
- IC3: LM358 (SO8)
- IC4: LM78L05 (TO92)
- T1: BT136 (TO220)
- B1: B10S (mostek SMD)
- D1: LL4148 (SMD)
- D2: 1,5KE15 (DO201)