Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Czy kiedykolwiek myślałeś o stworzeniu systemu oświetlenia awaryjnego, gdy wyłączy się główne zasilanie? A ponieważ masz nawet odrobinę wiedzy w zakresie elektroniki, powinieneś wiedzieć, że możesz łatwo sprawdzić dostępność zasilania sieciowego, po prostu mierząc napięcie.
Ale to, co powiem, to zupełnie inne podejście. Sugeruję, aby zmierzyć natężenie pola elektrostatycznego w pobliżu głównego przewodu zasilającego i przefiltrować to odczytanie i używać go zgodnie z naszym użytkowaniem. Zaletą tego podejścia jest to, że jesteśmy całkowicie elektrycznie odizolowani od głównego zasilania i mogę powiedzieć, że nie jest inwazyjny (nawet ty używasz optoizolator, który musisz poradzić sobie z zasilaniem sieciowym)Ten projekt składa się z 3 głównych części,
- czujnik elektryczności statycznej,
- Procesor sygnału oparty na filtrze kalman
- przekaźnikowy sterownik oświetlenia.
Krok 1: Statyczny czujnik elektryczności
Chłopaki, to najprostszy czujnik elektryczności statycznej, jaki istnieje. to tylko darlington para tranzystorów.
- Użyłem 2 tranzystorów NPN C828, ale dowolne 2 tranzystory NPN ogólnego przeznaczenia wykonają pracę.
- Dzięki ekstremalnemu wzmocnieniu pary darligtonów możemy zmierzyć zmianę elektryczności statycznej w punkcie wejściowym.
- Wystarczy użyć taśmy klejącej i wkleić pin wejściowy z izolacją zasilania sieciowego.
jest przewód AC 230 V idzie do światła w moim pokoju i właśnie przykleiłem przewód pary darligton do obudowy przewodu, która przenosi ten przewód.
Krok 2: Przetwarzanie sygnału za pomocą Arduino
Użyłem do tego Arduino nano. Ale można użyć dowolnego wariantu Arduino.
Zasadniczo w tym miejscu zostanie przetworzony odczyt napięcia ze statycznego czujnika elektrycznego. Wyjaśnię kod na końcu dokumentu.
Następnie cyfrowy pin 9 jest odpowiednio zmieniany, aby światło awaryjne mogło być sterowane za pomocą przekaźnika
Krok 3: pełny obwód
Przekaźnik jest napędzany przez tranzystor mocy, a dioda jest odwrócona, aby zapobiec uszkodzeniu tranzystora przez odwrotne napięcie indukowane cewki przekaźnika.
Zapraszam do wymiany okablowania przekaźnika i posiadania żarówki o dowolnym napięciu.
Krok 4: Wyjaśnienie Kodeksu
W tym kodzie zaimplementowałem 2 kaskadowe filtry kalmana. Stworzyłem ten algorytm, obserwując dane wyjściowe na każdym kroku i opracowałem go, aby uzyskać pożądany wynik.
Krok 5: Obiekt Kalmana
tutaj zrobiłem klasę dla filtra kalmana. w tym wszystkie niezbędne zmienne. Tutaj nie zamierzam szczegółowo wyjaśniać znaczenia zmiennych, jak można to znaleźć w innych witrynach. Typ danych „podwójny” jest odpowiedni do obsługi wymaganej matematyki.
Wartość 'R' postawiłem na drodze śladu i błędu, obserwując wyjście pierwszego filtra, zwiększałem ją, aż uzyskałem singiel bez szumów, jak pokazano na drugim obrazku. Wartość „Q” jest ogólną dla wszystkich filtrów kalmana 1D. Znalezienie odpowiedniej wartości jest dość żmudnym zadaniem, więc lepiej iść prosto
Krok 6: Obiekt Kalmana i konfiguracja
- tutaj zaimplementowany jest filtr kalman
- Powstały 2 obiekty
- pinModes zostały ustawione, aby uzyskać dane i wyprowadzić sygnał dla przekaźnika
Krok 7: Pętla
Najpierw przefiltrowałem sygnał wejściowy, a następnie zaobserwowałem, co się dzieje, gdy zasilanie sieciowe jest obecne, a gdy nie ma.
Zauważyłem zmiany wariancji, gdy przełączam sieć.
więc odjąłem 2 kolejne wartości wyjścia filtra i wziąłem to jako wariancję.
potem zaobserwowałem, co się z nim dzieje, gdy włączałem i wyłączałem zasilanie. Zauważyłem, że po zmianie następuje znaczna zmiana. ale problem polegał na tym, że wartości znacznie się wahają. Można to rozwiązać za pomocą bieżącej średniej. ale ponieważ wcześniej używałem kalmana, po prostu kaskadowałem inny blok filtra do wariancji i porównałem wyniki.