Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Samochodowy odstraszacz kun na Arduino Pro Mini

tzok 18 Nov 2016 15:24 24012 17
Optex
  • Samochodowy odstraszacz kun na Arduino Pro Mini
    Chciałem przedstawić bardzo prosty akustyczny odstraszacz kun do samochodu zbudowany w oparciu o Arduino Pro Mini (ATMega 328P) oraz moduł przetwornicy step-down na układzie MP1584. Inspiracją do konstrukcji był używany dotychczas analogowy odstraszacz akustyczny zbudowany w oparciu o układ UL1111. Działał on bardzo skutecznie, niestety z wiekiem stawał się coraz mniej odporny na niskie temperatury. Przy ostatnich przymrozkach, w połączeniu ze słabym akumulatorem niestety przestał działać i "kosztowało" mnie to konieczność wymiany wygłuszenia maski. W sumie to dziwne, bo kuny zazwyczaj wchodzą pod maskę kiedy silnik jeszcze jest ciepły, a wtedy odstraszacz powinien był jeszcze działać - w kilka minut od wniesienia go do ciepłego pomieszczenia zaczął poprawnie działać.

    Oryginalny układ pobierał ok 18mA, prezentowany tutaj - zaledwie 2mA. Obudowa (KM-36) jak i przetwornik akustyczny ("zegarkowy" głośnik piezoelektryczny z nakładką rezonansową) pozostały z oryginalnego odstraszacza produkcji PPUH PAI z Bielska-Białej. Odstraszacz generuje dźwięki w paśmie akustycznym, tak jak oryginał, z przemiataniem częstotliwości w zakresie 7kHz - 11kHz. Czas przemiatania to 0,5s, po czym następuje 0,5s ciszy. Jak widać na zdjęciu wkładka piezoelektryczna z membraną rezonansową jest przyklejona na środku kratki głośnika obudowy, a cały otwór wraz z głośnikiem jest oddzielony od wnętrza obudowy kawałkiem "folii" PET (np. z okładki teczki), tak aby zapobiec dostaniu się wody do środka obudowy. Układ jest przymocowany w górnej części obudowy, tak by w razie gdyby jednak do środka dostała się woda, układ w niej nie "stał".

    Płytka Arduino jest połączona z płytką przetwornicy przy pomocy 2 goldpinów, łączących - przetwornicy z pinem GND złącza programatora i + przetwornicy z pinem 5V Arduino.

    Z płytki Arduino usunąłem rezystory 1k (102) zasilające diody POWER i USER, oraz stabilizator napięcia (nie można więc korzystać z pinu RAW). Używane przeze mnie klony Pro Mini nie mogą być zasilane napięciem wyższym niż 11V, nie było więc możliwe zasilenie układu bezpośrednio z instalacji elektrycznej samochodu (przy uruchomionym silniku panuje w niej napięcie 14,4V, a w stanie spoczynku ok 12,6V). Sumaryczny pobór prądu z akumulatora na postoju nie powinien przekraczać 80mA, dlatego w tego typu układzie warto powalczyć o każdy mA. Z tego powodu zdecydowałem się na użycie wysokosprawnej przetwornicy step-down typu GW1584 na układzie MP1584, kluczującej z częstotliwością ok 0,9MHz. Przerobiona płytka Pro Mini (zwracam uwagę, na odwrotną kolejność pinów złącza programowania w tym konkretnym klonie - dwie masy są po prawej stronie) oraz moduł przetwornicy:
    Samochodowy odstraszacz kun na Arduino Pro Mini

    Wykaz rzeczy:
    Arduino Pro Mini 5V/8MHz - 11zł
    Przetwornica GW1584 - 6zł
    Membrana piezoelektryczna FT27t4.2a1 - 2zł
    Przetwornik dźwiękowy KPR-2310 - 1zł
    2 goldpiny - ?
    Obudowa KM-36 - 6zł
    Bezpiecznik z oprawką - 5zł

    W moim samochodzie układ jest zasilany przez dodatkowy sterownik zasilania, posiadający dwa wyjścia - na jednym występuje napięcie gdy alternator nie ładuje (styk N.C. przekaźnika, więc sam układ praktycznie nie pobiera prądu w tym stanie), a na drugim gdy ładuje (styk N.O., ale pobór kilkudziesięciu mA gdy silnik pracuje nie jest problemem). Sterownik jest podłączony wprost do akumulatora, przez bezpiecznik 5A.

    Układ jest wystarczająco głośny, bez żadnego wzmacniacza, ale możliwe jest sterownie głośnika przez dodatkowy tranzystor i zasilanie go wprost z 12V. Celem poprawy głośności można też dołączyć do niego równolegle cewkę o indukcyjności kilkunastu-kilkudziesięciu mH.

    Generowanie dźwięku odbywa się sprzętowo, pin 6 (PD6) jest sterowany wprost z układu timera 0 - stan tego pinu jest zmieniany na przeciwny w momencie zrównania się licznika z rejestrem porównawczym, odpowiada za to ustawienie flagi COM0A0 w rejestrze TCCR0A. Równolegle generowane jest przerwanie TIMER0_COMPA, za co odpowiada flaga OCIE0A w rejestrze TIMSK0. Wewnątrz procedury obsługi tego przerwania zmniejszana jest zawartość rejestru porównawczego, tym samym zwiększana jest częstotliwość generowanego dźwięku i skracany czas trwania kolejnego tonu, dodatkowo co 2gi cykl zerowana jest flaga COM0A0, co powoduje zaprzestanie generowania dźwięku w danym cyklu. W pętli głównej programu mikrokontroler jest przełączany do stanu oszczędzania energii. Jest to najniższy ze stanów oszczędzania energii - SLEEP_MODE_IDLE, gwarantujący działanie TIMER0 oraz obsługę jego przerwań.

    W przypadku wersji 8MHz należy zmienić wartość bazową OCR0A ze 140 na 70, oraz linie:
    ++cnt %= 180; --> ++cnt %= 90;
    ++tdev %= 53; --> ++tdev %= 27;
    Wersje 8MHz Pro Mini pracują z napięciem 3,3V, które przy braku drivera głośnika piezoelektrycznego może okazać się zbyt niskie do jego prawidłowego wysterowania, lepiej więc użyć 16MHz wersji na 5V (oczywiście można ją przestawić na 8MHz poprzez wymianę rezonatora kwarcowego lub przełączenie się na wewnętrzny oscylator RC - da to dalszą redukcję zapotrzebowania na prąd).

    Kod źródłowy:
    Code: c
    Log in, to see the code


    W moim samochodzie odstraszacz jest zamocowany do ściany grodziowej podszybia w okolicy akumulatora. Teoretycznie nie jest to optymalne miejsce ze względu na umiejscowienie źródła dźwięku, ale pisk słychać w odległości ponad metra od samochodu jak i we wnętrzu kabiny, niemniej w tym miejscu jest najmniej narażony na wodę i pył drogowy. Widoczne na zdjęciu uszkodzenie wygłuszenia ściany grodziowej powstało przed założeniem odstraszacza.
    Samochodowy odstraszacz kun na Arduino Pro Mini

    ***

    Sprawdziłem inny typ przetwornika i spisuje się on nawet lepiej. Opisany był jako KPR-2310 przetwornik dźwiękowy piezo 12V 80dB 3mA 23x,6mm PBF.

    Cool? Ranking DIY
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
    About Author
    tzok
    Moderator of Cars
    Offline 
    Interesuję się elektroniką, informatyką oraz motoryzacją, a w szczególności połączeniem tychże. Pracuję na uczelni jako pracownik naukowy oraz wykładowca.
    tzok wrote 37251 posts with rating 5294, helped 2984 times. Live in city Bielsko-Biała. Been with us since 2002 year.
  • Optex
  • Optex
  • #3
    tzok
    Moderator of Cars
    Przetwornica kupowana na Allegro jako "przetwornica step-down MP1584". Zakres napięć 4,5-28V, pobór prądu w stanie jałowym 100uA.

    ***

    Na fakturze ta przetwornica figuruje jako GW1584 i pod tym hasłem również można ją znaleźć na Allegro jako gotowy moduł z układem MP1584.
  • #4
    EuroGenio
    Level 18  
    Aby dwukrotnie zwiększyć napięcie na przetworniku piezo wystarczy na innym pinie generować w przerwaniu sygnał w przeciwfazie i do niego podłączyć wyprowadzenie przetwornika podłączone obecnie do GND.
  • #5
    dudik56
    Level 15  
    Mnie też kuna zeżarła to miękkie i podobnie jak Ty postanowiłem ją nastraszyć. Zrobiłem takie pudełko uruchamiane czujnikiem ruchu z głośnikiem ultradźwiękowym.
    Generator nastrojony na częstotliwość rezonansową przetwornika ok. 22kHz uruchamiany grasującym złoczyńcą. Poprzez transformator dopasowujący zasila w rezonansie głośnik napięciem 35V. Zmontowane na płytce uniwersalnej.

    Działa tylko wtedy gdy potrzeba i zwierzęta nie przyzwyczajają się do dźwięku. Ale najskuteczniejsze było znalezienie zimowego siedliska kuny na strychu i uniemożliwienie jej tam dostępu (wymagało trochę prac budowlanych), kuna się wyniosła i urządzenie jest teraz bezużyteczne.
    Pipkanie różnymi częstotliwościami jest nieefektywne bo tylko w częstotliwości rezonansowej przetwornika uzyskamy tę "zastraszającą moc". Poza rezonansem uzyskuję na przetworniku ledwie kilka Volt i pobór prądu jest niski.
    Aha, w stanie czuwania pobiera 10mA, w czasie "pracy" 0,18A.

    :sm9: Samochodowy odstraszacz kun na Arduino Pro Mini

    to wersja samochodowa, jest jeszcze strychowa - mniej elegancka.
  • #6
    tzok
    Moderator of Cars
    Na dużym parkingu się sprawdza, gdyby to był jedyny samochód w okolicy to kuny by się pewnie przyzwyczaiły, ale mając duży wybór takie rozwiązanie wydaje się być wystarczające. Poza tym, z uwagi na bezpośrednie sprzężenie (brak transformatora czy choćby kondensatora), na głośnik trafia przebieg prostokątny, czyli mnóstwo harmonicznych. Niestety membrany piezo znalazłem jedynie w dwóch odmianach 2,4kHz i 4,1kHz (różniących się pojemnością), nie potrafię też znaleźć do kupienia tych nakładek rezonansowych.
  • #7
    burur
    Level 21  
    W swoim aucie od kilku lat pod maską wieszam kostkę domestosa do wc.
    Podobno zapach z kostki nie odpowiada im, przez to omijają takie auta.
    Ja nie miałem problemu z kunami, ale kilku kolegom na parkingu pod zakładem narobiła bałaganu. O kostce dowiedziałem się od klienta, który miał częste problemy z kunami, nie pomagały jemu żadne fabryczne odstraszacze, po powieszeniu kostki nie miał żadnej szkody spowodowanej przez kunę.
  • #8
    dudik56
    Level 15  
    tzok wrote:
    Na dużym parkingu się sprawdza, gdyby to był jedyny samochód w okolicy to kuny by się pewnie przyzwyczaiły, ale mają c duży wybór takie rozwiązanie wydaje się być wystarczające.


    Możliwe, że w specyficznych warunkach będzie skuteczne :D

    Ale z kunami wojna sam na sam jest totalna, nie ma negocjacji, nie ma pardonu.
    Jak straszyć, to na całego.
    Jak zeżre wygłuszenie to pół biedy, ale jak coś co może mieć wpływ na bezpieczeństwo?

    :sm9:

    Użyłem tych przetworników.
    http://www.ebay.com/itm/High-power-ultrasonic...656898?hash=item236c3aeec2:g:V5wAAOSwBahVQe-6
  • #9
    tzok
    Moderator of Cars
    Jeśli chodzi o sterowanie przetworników piezoelektrycznych to mogę polecić artykuł z Elektroniki dla Wszystkich, zatytułowany Podręczny poradnik elektronika - Przetworniki piezoelektryczne.
  • #10
    mario205
    Level 18  
    W moim wygłuszeniu maski samochodu, kilka lat temu kuny zrobiły sobie siedlisko. Zanim je zdemaskowałem, naznosiły skórek z chleba ale na szczęście nie zainteresowały się przewodami,
    Zaniepokojony ich obecnością szukałem w necie informacji, jak sobie z nimi poradzić. Porad było sporo, polecali różnego rodzaju odstraszacze akustyczne ale ich skuteczność użytkownicy raczej negowali. Szukałem, szukałem, aż natknąłem się na poradę najtańszą z możliwych i łatwo dostępną, a co ważne, w moim przypadku okazała się skuteczna. Od 4 lat mam spokój, mimo iż na parkingu widywane są kuny. Otóż, należało postarać się o psią sierść i włożyć ją do dwóch, trzech woreczków ( np z potarganych pończoch małżonki lub podobnego materiału, przez który ulatniałby się zapach z załadowanego sierściowego ładunku :ok: ). Woreczki do dziś wiszą sobie w komorze silnika i póki co odpukać :shii: mam z kunami spokój. Myślę, że warto spróbować tej metody, koszty są zerowe bo każdy ma na pewno znajomego, który posiada psiaka i od czasu do czasu go szczotkuje.
    Dodam, że nigdy nie uzupełniałem woreczków świeżą sierścią, która w moim przypadku pochodziła od sporawego kundla a'la owczarek podhalański. Być może gabaryty psa, dawcy sierści mają znaczenie dla skuteczności oddziaływania woreczków, who knows ?:spoko:
  • #11
    SylwekK
    Level 32  
    Z pewną nieśmiałością zacząłem czytać artykuł i obiecuję, że już nie będę podgryzał kabli i robił legowisk w bagażniku. :D
    Teraz już na poważnie. Wydaje mi się, że wszelkiego rodzaju odstraszacze dźwiękowe to niestety tylko kiepska proteza. Mówię to na podstawie moich doświadczeń innego nieznośnego zwierza jakim jest kret. Wcześniej czy później zwierzęta przyzwyczają się do tonów i skuteczność będzie minimalna. Ile ja się nakombinowałem, żeby takiego kreta ekologicznie wypędzić. Oryginalny odstraszacz działał chyba jak wabik, bo po jego zainstalowaniu miałem kilka kolejnych kopców na drugi dzień... Kombinowałem ze zmianą częstotliwości, mocy - wszystko na nic. Już chyba karbid robił więcej, bo kretowiska nieco się oddaliły.
    Zastanawiam się jakby taki odstraszacz kun wyposażyć w czujnik ruchu i dopiero po zbliżeniu się zwierzątka na niewielką odległość uruchamiać sygnały - taka terapia szokowa. Tylko gdzie umieścić czujnik ruchu...?
  • #12
    dudik56
    Level 15  
    SylwekK wrote:
    Zastanawiam się jakby taki odstraszacz kun wyposażyć w czujnik ruchu i dopiero po zbliżeniu się zwierzątka na niewielką odległość uruchamiać sygnały - taka terapia szokowa. Tylko gdzie umieścić czujnik ruchu...?

    No to właśnie moja wersja ma takie coś, siedzi cicho i czeka, jak tylko coś się pojawi to wali 100dB niskimi ultradźwiękami. Mały piesek sąsiadów ma w zwyczaju włazić pod auto i czochrać się grzbietem o zawieszenie. Jeszcze go nie widziałem by był taki szybki, darł że ledwo w furtkę trafił. Od tej pory to auto przestało być drapakiem.
    Czujnik patrzył w dół pod silnikiem, akurat to auto nie ma dolnej osłony i coś co łazi pod spodem wyzwala czujnik.

    :sm9:
  • #13
    zibq
    Level 28  
    Też mi się wydawało śmieszne z tą kostką klozetową, ale od roku wisi pod maską i strat nie przybywa. Wcześniej zjadły mi rurkę przelewową z chłodnicy, przegryzły przewód od ABS, o wyskubanych wygłuszeniach nie wspomnę.
  • #14
    rdt
    Level 25  
    A cos na szczury czy któryś z kolegów ma ??
    Smród na klatce schodowej jest nie do wytrzymania czasem , kostki wc nie pomogą sprawdzone.
  • #16
    tzok
    Moderator of Cars
    Trochę zmieniłem zmienne czasowe - przyspieszyłem przemiatanie i zwiększyłem zakres częstotliwości:
    Code: c
    Log in, to see the code



    ***

    Samochodowy odstraszacz kun na Arduino Pro Mini
    Kolejny mały update - blokowanie generatora po włączeniu zapłonu. W tym celu trzeba dodać dowolną krzemową diodę prostowniczą, np. 1N4148 anodą w stronę pinu D9 (PB1), a katodą (paskiem) w stronę + "po stacyjce" i użyć poniższego kodu. W tej wersji pobór prądu wynosi ok 3,2mA.
    Code: c
    Log in, to see the code

    WAŻNA UWAGA: Moduły przetwornicy napięcia GW1584 mają regulowane napięcie wyjściowe i fabrycznie jest nastawione napięcie ok 12V. Przed połączeniem płytek trzeba ustawić napięcie wyjściowe na 5V!
  • #17
    tzok
    Moderator of Cars
    Kolejny mod - rezygnacja z sygnału zapłonu, na rzecz wykrywania ładowania. Można użyć 4 rezystorów i komparatora analogowego, albo 2 rezystorów i przetwornika ADC. Tutaj wykorzystane jest to 2-gie rozwiązanie. Mogą to być albo 2, najlepiej metalizowane, rezystory i dobierana programowo wartość progu, albo precyzyjny potencjometr wieloobrotowy i stała wartość progu ok 200. Piszczek powinien się włączać poniżej 13,8V, bo tyle wynosi dolna granica ładowania akumulatora. Oczywiście takie rozwiązanie powoduje zwiększenie poboru prądu (ok. 3,6mA), ale do podłączenia wystarczą 2 przewody, najlepiej przez dodatkowy bezpiecznik, wprost do akumulatora.

    Code: c
    Log in, to see the code


    ***

    Kolejna aktualizacja - funkcja kalibracji progu uśpienia i sygnalizacja wykrycia ładowania akumulatora (LED).
    Funkcja kalibracji progu napięcia ładowania jest pomyślana do wywołania na etapie "produkcji". W tym celu należy zewrzeć pin D2 do masy i zasilić układ napięciem ok. 13,6 V, następnie powinna zaświecić się dioda LED, a po sekundzie zgasnąć - oznacza to pomyślne wykonanie procedury kalibracyjnej.
    W trybie normalnej pracy dioda sygnalizuje wykrycie ładowania akumulatora (przekroczenia zapamiętanego napięcia) i przejście układu do stanu czuwania. W tym stanie układ pobiera ok. 4 mA (ale to nie ma większego znaczenia), natomiast w czasie pracy ok. 2,8 mA.

    Code: c
    Log in, to see the code
  • #18
    And!
    Admin of Design group
    Fajna sprawa że układ przeszedł już kilka modyfikacji i chyba przydałby się na elektroda.pl jakiś system wspomagający wydawanie kolejnych wersji kodu/sprzętu.

    Jeżeli ktoś zrealizował układ w oparciu o projekt tzok to warto się pochwalić w tym temacie.

    Ciekawe czy jest możliwe sprawdzenie "doświadczalne" skuteczności odstraszacza, np. analiza nagrania z kamery na parkingu i obserwacja czy kuny omijają samochód z odstraszaczem i kierują się w inne miejsce. Ciekawe jaki jest "aktywny" obszar odstraszania i czy osoby parkujący obok samochodu z odstraszaczem również zyskują.