logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Obrotomierz Akustyczny na Raspberry PI

Piroman1024 13 Lis 2017 14:46 4932 12
REKLAMA
  • Witam!
    Tym razem prezentuję projekt obrotomierza akustycznego zbudowanego w oparciu o minikomputer Raspberry PI.
    Obrotomierz taki ma zastosowanie przy bezinwazyjnych pomiarach obrotów silniczków modelarskich w zakresie 16000-37000 obrotów na minutę w warunkach warsztatowych(oświetlenie nie ma wpływu na pomiar w przeciwieństwie do obrotomierzy optycznych). Zakres obrotów został wybrany dla własnych potrzeb.
    Obrotomierz jest bezobsługowy w zasadzie, wymaga tylko włączenia i ustawieniu w pobliżu silnika :D
    Zasada działania polega na akwizycji dźwięku przez mikrofon, dane próbkowane są z częstotliwością 44100Hz, pojedynczy pakiet danych to 4096 próbek o rozdzielczości 16-bitów. Pakiet danych analizowany jest za pomocą algorytmów FCOMB oraz FFTYin tak aby wyodrębnić podstawową częstotliwość dźwięku, uzyskany wynik jest uśredniany, a następnie mnożony jest przez 60(dla silników jednocylindrowych) aby uzyskać wynik w jednostkach obrotów na minutę.
    Wynik wyświetlany jest dla wygody na dużym wyświetlaczu LCD.

    Prezentacja prototypowego urządzenia:
    Obrotomierz Akustyczny na Raspberry PI
    Obrotomierz Akustyczny na Raspberry PI
    Obrotomierz Akustyczny na Raspberry PI

    Filmiki z działania urządzenia:



    Test na generatorze sinusoidy.





    Test na silniczku modelarskim





    Mierzenie obrotów piły spalinowej - inny zakres obrotów.

    Pozdrawiam
    Grzegorz Mucha

    Fajne? Ranking DIY
    O autorze
    Piroman1024
    Poziom 17  
    Offline 
    Piroman1024 napisał 171 postów o ocenie 17, pomógł 18 razy. Jest z nami od 2004 roku.
  • REKLAMA
  • #2 16820453
    Konto nie istnieje
    Konto nie istnieje  
  • #3 16820486
    Piroman1024
    Poziom 17  
    Posty: 171
    Pomógł: 18
    Ocena: 17
    Czołem!
    Dobre pytanie, dźwięk silnika zawiera wiele harmonicznych i co się okazuje że algorytm zastosowany wykrywa lepiej częstotliwość podstawową niż przy pracy z generatorem sinusoidy!
    Obrotomierz już testowałem na silniczkach i działa, postaram się wrzucić jak najszybciej filmik z pracy generatora w naturalnych warunkach.
    Pozdrawiam
    Grzesiek
  • REKLAMA
  • #6 16822127
    janchar
    Poziom 14  
    Posty: 190
    Pomógł: 1
    Ocena: 96
    Rozumie, że masz taką przejściówkę we/wy audio na USB. Pytam, gdyż chciałbym na raspberry zrobić rejestrator dźwięku. Mógłbyś zamieścić zdjęcie modelu. Także jak zainstalować driver do obsługi.
  • #7 16822887
    Piroman1024
    Poziom 17  
    Posty: 171
    Pomógł: 18
    Ocena: 17
    Mikrofon za całe 9zł jest podłączony bezpośrednio do portu USB tak jak w PC i nie wymaga drivera.
    Zdjęcia którego modelu chcesz ?
    Jeżeli robisz rejestrator dźwięku to jest sporobibliotek do tego, należy poczytać i sprawdzić która biblioteka by Cie najbardziej odpowiadała.
    W jakim języku piszesz ?
  • REKLAMA
  • #8 16824607
    sgt_ding
    Poziom 15  
    Posty: 138
    Pomógł: 13
    Ocena: 31
    Witam,
    możesz opisać dokładniej algorytm, który użyłeś? Nie jestem w stanie znaleźć żadnej sensownej informacji w google na jego temat... a temat mnie zaciekawił :)

    P.S. Możesz również podesłać jakieś linki lub nazwy artykułów naukowych (książek), z których korzystałeś?
  • REKLAMA
  • #9 16825740
    Piroman1024
    Poziom 17  
    Posty: 171
    Pomógł: 18
    Ocena: 17
    Cześć!
    Algorytm wykrywający podstawową częstotliwość(F0, fundamental frequency) nie jest mojego autorstwa, dodam że przetestowałem następujące:
    -FFT w zakresie mniejszym niż jedna oktawa
    -Crossing-zero
    -Autocorrelation
    -Yin
    -FFTYin
    -AMDF i ASDF
    -Schmidt
    -Wavelet
    -MCOMB
    -FCOMB

    Tutaj ciekawy artykuł z odnośnikami
    Nie ukrywam że trochę mi to zajeło, co do artykułów naukowych to linkami obecnie żadnymi nie dysponuje, wpisywałem po kolei nazwy w/w algorytmów i jechałem jak to się mówi z koksem po internecie :D
    Jak znalazłem algorytm, musiałem go przepisać w pythonie i testowałem jak się sprawuje z generatorem i w końcu jak się sprawuje w warunkach polowych.
    Ostatecznie użyłem algorytm który był integralną częścią biblioteki aubio.
    Pozdrawiam
  • #10 16826819
    janchar
    Poziom 14  
    Posty: 190
    Pomógł: 1
    Ocena: 96
    Piroman1024 napisał:
    Mikrofon za całe 9zł jest podłączony bezpośrednio do portu USB tak jak w PC i nie wymaga drivera.
    Zdjęcia którego modelu chcesz ?
    Jeżeli robisz rejestrator dźwięku to jest sporobibliotek do tego, należy poczytać i sprawdzić która biblioteka by Cie najbardziej odpowiadała.
    W jakim języku piszesz ?


    Nie wiedziałem, że są takie mikrofony, które można bezpośrednio podłączać do kompa(USB). Na Allegro m.in. znalazłem coś takiego.
    Obrotomierz Akustyczny na Raspberry PI

    Mam taką przejściówkę (tzw.) kartę dźwiękową na USB i z nią chciałem poeksperymentować.
    Obrotomierz Akustyczny na Raspberry PI

    Próby na szybko nie dały pozytywnych rezultatów. Dlatego też sądziłem, że poszedłeś tą drogą i rozgryzłeś sterowniki do obsługi w/w karty.

    Na razie nic nie napisałem na raspberry. Przymierzam się do phytona. Wydaję się być bardzo wygodny. Ma małą wadę, że wymaga środowiska do uruchamiania. Ponadto to same pozytywy.
    Trochę bawię się Arduino i staram się wykorzystać to co wymyślę. Na "raspberry Zero W" zrobiłem print serwer i jestem w trakcie dodawania gadżetów tj. dźwiękowe powiadomienie "drukarka gotowa do pracy", "dodano nowe zadanie do wydruku" itp., oraz automatyczne załączenie drukarki do sieci 230V. Być może w przyszłości dołożę sambę. Wszystko pracuje w sieci wewnętrznej LAN w domu.
    To takie moje pomysły.

    Obecnie mojej malince dałem głos wykorzystując PWM. Wczoraj uruchomiłem z pozytywnym skutkiem. Ponieważ wszystko zasilane z jednego napięcia i zasilacza ze starej komórki, to są różnego rodzaju cichutkie ćwierkania. Trochę to wnerwia i spróbuję coś zaekranować.

Podsumowanie tematu

✨ Projekt obrotomierza akustycznego na Raspberry Pi umożliwia bezinwazyjne pomiary obrotów silniczków modelarskich w zakresie 16000-37000 obrotów na minutę. Działa na zasadzie akwizycji dźwięku przez mikrofon podłączony przez port USB, z próbkowaniem 44100Hz i analizą danych za pomocą algorytmów takich jak FCOMB i FFTYin. Użytkownicy dzielą się doświadczeniami z testowaniem urządzenia na różnych silnikach oraz pytaniami o podłączenie mikrofonu i algorytmy. Wskazówki dotyczące wyboru mikrofonu oraz instalacji sterowników są również omawiane.
Wygenerowane przez model językowy.
REKLAMA