Mam przycisk dzwonka do drzwi w moim domu podłączony do płyty deweloperskiej GHI EMX . Oprogramowanie ocenia porę dnia i określa, czy dzwonek do drzwi powinien zadzwonić.
Uwaga dodatkowa: Zostało to zaimplementowane jako sposób radzenia sobie z dowcipami ding-dong-rowie, które otrzymywałem.
To wszystko działa świetnie, z wyjątkiem jednego problemu, drut podłączony do płytki EMX ma około 50 stóp (~ 15 metrów) długości i generuje wystarczającą interferencję, aby deska mogła pomyśleć, że ktoś nacisnął przycisk, a zatem mój dzwonek do drzwi dzwoni w przypadkowych odstępach czasu dzień. Zarówno moja żona, jak i mój pies nie doceniają tego (ale dzieci myślą, że to świetna zabawa).
Próbowałem rozwiązać problem, postępując zgodnie ze wskazówkami zawartymi w tym artykule i wdrażając następujący obwód:
Nie rozwiązało to problemu, ale znalazłem, że włożenie rezystora 3k do 1k i zastąpienie kondensatora .01uF 40uF działało trochę lepiej, ale cokolwiek więcej niż 3k powoduje zauważalne opóźnienie po naciśnięciu przycisku przed Dźwięki dzwonków. Różnica w moim obwodzie polega na tym, że płytka działa na 3,3 V zamiast 5 V (co, jak zakładam, pogarsza problem) i zamiast podłączenia do uziemienia przełącznik kończy obwód (tj. Dwa przewody biegną między mikrokontrolerem a przełącznikiem).
Drut biegnący między przełącznikiem a mikrokontrolerem jest standardowym drutem dzwonka do drzwi, który nie jest ekranowany ani skręcony. Zastąpienie drutu dzwonka drzwiowym drutem ekranowanym niestety nie jest opcją, ponieważ wymagałoby to oderwania suchej zabudowy.
Spojrzałem na następujące pytanie tutaj , ale wydaje się, że dotyczy to ADC, które może nieco różnić się od mojego problemu. Każda pomoc będzie mile widziana.
Aktualizacja
Po przeczytaniu większej ilości dokumentacji wydaje się, że chociaż mikrokontroler jest zasilany napięciem 3,3 V, toleruje 5 V na swoich pinach we / wy. Mogę dostosować do wyższej wartości rezystora, jeśli używam 5V, ale czy to coś pomoże?
źródło
Odpowiedzi:
Schemat nie pokazuje ogromnego szumu 60 Hz w trybie wspólnym oraz tego, jak uziemienia są połączone z bliskością linii prądu przemiennego i stanów nieustalonych linii zasilania.
Twój przykład jest dobrym przykładem tego, jak nie łączyć długich przewodów.
Czy mogę zasugerować w przyszłości;
Ponieważ wiele opcji nie jest dostępnych. Zrób to;
Dzięki temu rozwiązaniu impedancja obwodu przełącznika będzie miała niską impedancję przy zamknięciu i niską impedancję z elektrozaczepem na przełączniku po otwarciu. Brzęczenie CM zostanie pochłonięte, a różnicowy szum RF zostanie tłumiony.
-podłączenie do tego samego napięcia zasilania co uC z dobrym ograniczeniem RF na chipie.
źródło
Prostym rozwiązaniem może być pozostawienie systemu dzwonka jak przed rozpoczęciem tego projektu i użycie mikrokontrolera do zabicia zasilania głośnika dzwonka za pomocą przekaźnika, gdy nie chcesz słyszeć dzwonka.
Aktualizacja
Nie znam się dobrze na systemach dzwonków do drzwi (innych niż szybkie google), dlatego poniżej założono, że masz co najmniej dwa przewodniki biegnące od MCU do przełącznika.
Posiadana płyta GHI EMX ma 10-bitowy przetwornik ADC, dzięki czemu można wysłać sygnał 12 V DC (lub więcej) do dzwonka i użyć prostego dzielnika napięcia napięcia, aby napięcie na MCU nie przekroczyło 5 woltów. Następnie po stronie oprogramowania wystarczy przeczytać ADC, a jeśli wartość wynosi> 1000 (być może będziesz musiał się pobawić tym numerem, a 1023 to maksimum na 10-bitowym ADC), wtedy dzwonek do drzwi zostanie naciśnięty.
Wyglądałoby to mniej więcej tak (staraj się nie przytłaczać moimi niesamowitymi umiejętnościami edycji grafiki):
Inną podobną opcją jest użycie wyzwalacza Schmitta o wyższym napięciu wejściowym. Wymagałoby to jednak dodatkowych części i wymaga więcej wysiłku niż opcja ADC.
Edytować
Chris Stratton odpowiedź to dobry punkt na temat przepływu prądu. Jeśli zmienisz 100k rezystor podciągający na ~ 220ohm, który może załatwić sprawę.
źródło
W rzeczywistości istnieje bardzo proste rozwiązanie tego problemu.
Kluczem do zrozumienia tego rozwiązania jest zastanowienie się, dlaczego zwykły elektromechaniczny dzwonek do drzwi nie dzwoni z powodu podobnych zakłóceń. Odpowiedź jest oczywiście taka, że wymaga faktycznej mocy pierścienia, aby przepłynąć przez obwód zamknięty - zakłócenia nie połączą wystarczającej mocy z obwodem otwartym, aby fałszywie zadzwonić.
Możesz stworzyć podobną sytuację, używając rezystora podciągającego o niskiej wartości, z przyciskiem dzwonka do drzwi podłączonym do masy. Sto omów oporności oznaczałoby, że około 25 miliamperów prądu musiałoby przepłynąć, zanim wejście mikrokontrolera zostanie wystarczająco niskie, aby odczytać jako „0”. Komunikacja szeregowa na długim dystansie często odbywa się przy prądzie 20 mA, więc 25 mA powinno wystarczyć, ale można łatwo regulować w górę lub w dół.
Możesz dodatkowo odrzucić zakłócenia, mając oprogramowanie na mikrokontrolerze, które wymaga, aby przycisk był zamknięty - bez przerw - przez około 100 mS, zanim zostanie on rozpoznany jako prawidłowy pierścień.
Można argumentować, że ta metoda marnuje moc, jednak energia jest zużywana tylko w czasie, gdy brzęczyk jest wciśnięty. Rezystor musi mieć zdolność przenoszenia mocy (termiczną), aby możliwe było trwałe zamknięcie przycisku, ale nie byłby to zwykły przypadek przy obliczaniu zużycia energii.
źródło
Kabel o długości 15 metrów działa jak antena. Musisz użyć kondensatora przejściowego (na przykład W2F11A4708AT1F ), aby odfiltrować zakłócenia RF.
źródło