Skocz do zawartości

Wykrywanie dźwięku o danej częstotliwości


kertoiP

Pomocna odpowiedź

A nie łatwiej byłoby użyć istniejące tanie ultradźwiękowe czujniki odległości, tylko wymontować z jednego odbiornik a z drugiego nadajnik? One już całą elektronikę tam mają, wyregulowaną, sprawdzoną, dopasowaną, z zastosowanymi wszystkimi możliwymi sztuczkami. Po co wymyślać koło?

Link do komentarza
Share on other sites

Dlatego, żeby się czegoś nauczyć. Później będę chciał zrobić coś podobnego ale np. na większą skalę i łatwiej będzie wykorzystać nabytą przy tym wiedzę.

Link do komentarza
Share on other sites

Analizuję te czujniki, ale nie wszystko jest dla mnie do końca zrozumiałe. Poza tym jest wiele dróg do osiągnięcia celu i czasami pewne rozwiązania będą lepsze w danych warunkach i fajnie byłoby je poznać.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Bawiąc się oscyloskopem nie możesz bezmyślnie podłączać masy sondy do dowolnego punktu. Zanim podłączysz masę sondy do czegokolwiek innego niż masa badanego układu upewnij się, że nie zwierasz tym samym punktu pomiarowego właśnie do masy. W Twoim przypadku mogłeś zewrzeć jedną z nóżek procesora do GND. I pewnie tak się stało, bo inaczej widziałbyś symetryczny sygnał ±5V.

Wskazówka do przemyślenia: masa sondy jest połączona z obudową oscyloskopu a ta z przewodem PE sieci zasilającej. To samo jest po stronie masy zasilacza laboratoryjnego.

Układ zasilany tylko z napięcia dodatniego (myślę tu o LM386) nie będzie produkował na wyjściu (ani przetwarzał gdzieś po drodze) napięć o dowolnej polaryzacji - tylko dodatnie względem GND. Układ polaryzuje sobie dodatnio zarówno wejście, punkty pracy wszystkich stopni pośrednich a także wyjście. Zmierz (bez sygnału audio na wejściu) woltomierzem DC napięcia na pinie 3 i 5. Nie muszą być takie same, ale oba będą dodatnie a to wyjściowe będzie stało blisko połowy zasilania. Dzięki temu wzmacniacz uzyskuje największy margines pracy: tyle samo jest od połowy do masy jak i do zasilania. Poczytaj o wzmacniaczu mocy klasy B - to klasyka elektroniki. Jeśli chcesz dostać czysty sygnał bez DC, dajesz duży kondensator (w przypadku głośnika obowiązkowy) by potrafił przenieść dół pasma audio na impedancję obciążenia rzędu 8Ω a w przypadku oscyloskopu przełączasz sprzężenie sondy na "AC".

"Zakładając minimalną i maksymalna odległość między nadajnikiem i odbiornikiem na 5-200cm, wzmocnienie przy 200cm powinno być takie same jak przy 5cm"

Zupełnie nie rozumiem jak do tego wniosku doszedłeś. Powinno być chyba dokładnie odwrotnie: przy 5cm wzmocnienie wystarczy x5 a przy 200cm to i x200 będzie za małe. W teorii 40 razy dalej to 800 razy słabszy sygnał więc wzmocnienie powinno urosnąć do 4000.

PGA są miłe, ale nie do tego. To układy do przełączania zakresów pomiarowych - wzmocnienie zmienia się im skokowo. Pomyśl jakie zniekształcenia sygnału dostaniesz gdy przełączysz wzmocnienie podczas odbierania impulsu. Ty potrzebujesz VGA z płynnym przestrajaniem wzmocnienia, najlepiej w dB, tj. liniowa zmiana napięcia powoduje logarytmiczne zmiany wzmocnienia. Jest ich mnóstwo, ale nie są tanie. Najprostszy to chyba VCA810 Texasa i rodzinka AD83xx Analoga. Każda z tych firm robi dużo podobnych układów. Ostatnio pojawiły się nawet zasilane tylko z pojedynczego napięcia +5V (naprawdę trudno zrobić dobry, analogowy układ mnożący przy tym zasilaniu), ale z kolei są to zwykle układy z we/wy różnicowym. To oczywiście ogromna zaleta w rozwiązaniach pro, ale Tobie chyba niepotrzebnie skomplikuje projekt.

Na razie skup się na metodzie. Zrób nadajnik, zrób wzmacniacz, zrób łącze radiowe, wszystko przetestuj na stałych odległościach, napisz trochę kodu i ogarnij temat.

Na jakie rozwiązanie odbiornika się zdecydowałeś? Detektor i wolne próbkowanie np. 10kHz?

Pamiętaj, że obwiednia będzie się zmieniała także z powodu propagacji wielodrogowej. W pomieszczeniu masz mnóstwo ścian i wiele płaskich powierzchni od których ultradźwięki wprost kochają się odbijać. W odbiorniku widzisz wektorową sumę wszystkiego co do niego dotarło. Sygnał będzie się więc sumował lub odejmował w zależności od przesunięć czasowych. Echa i pogłosy nie są już takie ważne, bo przychodzą dużo później i możesz po prostu zakończyć słuchanie wcześniej. Natomiast jeśli będziesz stał blisko jakiejś ściany, to na pewno każdy odbiornik usłyszy odbicie od niej bardzo blisko sygnału oryginalnego. No, powodzenia, wszystko wyjdzie w eksperymentach.

Link do komentarza
Share on other sites

Z tym wzmocnieniem to źle się wyraziłem. Chodziło o to, że przy 200cm sygnał na wyjściu powinien mieć taką samą wartość jak przy 5cm. 200cm to 40 razy więcej niż 5cm, więc wzmocnienie powinno wynosić 1600. Innymi słowy: Wzmocnienie dla odległości 5cm powinno wynosić 1, a dla 200cm powinno wynosić 1600. No i dochodzi jeszcze do tego wzmocnienie początkowe, żeby w ogóle odczytać sygnał nawet dla 5cm.

Rozejrzę się jeszcze za różnymi VCA. Napięcie sterujące to może być PWM, czy musi to być stały sygnał np. 2V?

Co do odbiornika to wstępnie do testów wybrałem właśnie detektor i próbkowanie z tą częstotliwością. Szybszego próbkowania raczej nie osiągnę na ATtiny (9.6MHz/Preskaler 64/13 cykli = 11.5kHz).

Biorę się za zrobienie wzmacniacza z detektorem i zdam raport jak wyszło.

Link do komentarza
Share on other sites

No jasne że 1600 🙂 Warszawski smog chyba zaczyna mi klepki w mózgu przestawiać...

VCA to de facto analogowy układ mnożący. Jeśli na jedno wejście podasz sygnał a na drugie "skalę" to dostaniesz przeskalowany sygnał. Jeśli podasz prostokąt 0-5V, to na wyjściu dostaniesz prostokąt będący Twoim sygnałem przeskalowanym raz przez współczynnik 0 a za chwilę przez 5. To oczywiście przykład, bo np. o ile pamiętam VCA810 ma zakres napięcia regulacji wzmocnienia 0..-2V.

Zwykły detektor z diodą, nawet Schottky'ego, ma kiepską dynamikę bo np. nie będzie działał dla sygnałów < 0.3V a do końca skali 5V masz już tylko 4.7V. A to daje 4.7/0.3=24dB. Dobra regulacja wzmocnienia załatwi sprawę, ale poszukaj detektorów opartych o wzmacniacze operacyjne. W zakresie 40kHz powinny spokojnie dawać radę. Wzmacniacz kompensuje spadek diody i masz detektor pracujący od 0mV. Kiedyś widziałem do tego jakąś Application Note, będziesz miał przegląd na talerzu, o mam:

http://ww1.microchip.com/downloads/en/AppNotes/01353A.pdf

Zwróć uwagę jak trzeba w danym układzie zasilać wzmacniacz. Układy nieliniowe takie jak detektory bazują często na wchodzeniu i wyprowadzaniu wzmacniacza ze stanu nasycenia. Kiepskie lub stare wzmacniacze operacyjne słabo sobie z tym radzą, układ jest wolny i przestaje dobrze prostować dla wyższych częstotliwości. Trzeba dobrać w miarę porządny, szybki wzmacniacz ze specyfikowanym w datasheet czasem wychodzenia ze stanu nasycenia/przesterowania.

Link do komentarza
Share on other sites

Sam myślę o kupnie maseczki przeciwpyłowej...

Ciężka sprawa z tym VCA. Nie dość, że trzeba jakoś sterować napięciem stałym to jeszcze ujemnym. Co do zmiany PWM na sygnał stały to znalazłem coś takiego jak detektor wartości średniej. Nie wiem tylko czy się sprawdzi w takim układzie.

Wstępnie na szybko zrobię prosty detektor z diody Schottkiego, kondensatora i rezystora, ale w projekcie docelowym poszukam takiego o jakim mówisz, dzięki za ciekawy link. Teraz mam nadzieję zaobserwować chociaż trochę podobny do docelowego przebieg i sprawdzić jak to wygląda dla różnych stałych RC.

Link do komentarza
Share on other sites

PWM? Pomyśl o tym tak: jeżeli w ogóle chcesz mieć wzmocnienie toru kompensowane czasem, to musisz robić przejazd od min do max w kilkanaście ms. Potrzebujesz więc przebiegu piłokształtnego - takiej rampy wolno jadącej w czasie pomiaru i szybko spadającej tuż przed następnym strzałem. Jaki PWM możesz uzyskać z procka? Kilka kHz? To przecież zaledwie kilka okresów PWMa w czasie całej roboczej fazy rampy. Nie dostaniesz z tego płynnego sygnału narastającego choćbyś zrobił najlepszy filtr na świecie (a zwykle wystarcza jeden lub dwa człony RC). Albo użyjesz normalnego DACa (10, 12-bitowe są tanie) połączonego przez SPI albo zrób "sprzętowy" generator piły. To prosty układ, zwykle sprowadza się do źródła prądowego ładującego pojemność. Potem rozładowujesz pojemność tranzystorem (nawet nie wyłączając źródła) i masz piłę.

W zasadzie planując nietrywialny układ analogowy trzeba założyć, że dysponujesz symetrycznym zasilaniem. Ale na razie o tym nie myśl. Wiele pracy czeka Cię u podstaw i na tym się skup.

Acha, ponieważ odbiornik ultradźwiękowy jest mechanicznym układem rezonansowym, powinieneś tłumić jego chęć do drgań bo ta będzie sztucznie przedłużać sygnał odbierany. Poeksperymentuj z rezystorem 1k-22k równolegle dołączonym do odbiornika. To zmniejsza dobroć układu drgającego, ale niestety zmniejsza też sygnał użyteczny..

Link do komentarza
Share on other sites

Rzeczywiście nie pomyślałem o tym z PWM.

Jedno z założeń to zasilanie bateryjne, dlatego tak bardzo zależy mi na jedynie dodatnim napięciu zasilającym.

Małym sukcesem jest uruchomienie układu.

Na screenshocie jest przebieg przy odbiorniku i nadajniku skierowanymi ku górze, oddalonymi od siebie o 10cm, bez stożka rozpraszającego. Wzmocnienie 200. Jeżeli chodzi o detektor C = 100nF, R = 1kom.

Niebieski - sygnał wejściowy

Różowy - sygnał wyjściowy

Żółty - wyjście detektora

Na przebiegu sygnału wejściowego widać spore zakłócenia, które na wyjściu są już mniejsze. Gdy nadajnik był zbyt blisko odbiornika, sygnał na wyjściu był przesterowany, ale to raczej dobry znak - mogę odczytać to jako odebrany sygnał. Chyba, że gdzieś jest błąd w moim rozumowaniu.

Przydałby się przetwornik, który nadaje we wszystkich kierunkach, jak głośnik.

Na dzisiaj kończę ten temat i jutro dalsza część testów. Za poradą zrobiłem na płytce wejście do podłączenia równoległego z odbiornikiem rezystora i sprawdzę jaka rezystancja najlepiej wpłynie na sygnał.

Link do komentarza
Share on other sites

Pojedyncza bateria w żaden sposób nie wyklucza porządnego zasilania symetrycznego.

Jeśli różowy(?) to fala 40kHz, to stała czasowa Twojego detektora jest sporo za mała, zamiast łagodnej obwiedni (stałej bo stała jest amplituda) masz spore dołki. Niestety to zawsze będzie kompromis a tutaj mamy sytuację sygnału (obwiedni) o dość szerokim paśmie przy nośnej 40kHz niewiele szybszej od niego samego. Poza tym taki układ musisz testować impulsowo, bo teraz nic nie widać i nie wyciągasz żadnych wniosków. Skoro masz procesor, to wygeneruj sobie i nadaj np. 8-10 impulsów 40kHz z przerwą powiedzmy kilku ms. Wtedy zobaczysz jak wygląda przypuszczalnie docelowy impuls, jak narasta i opada w odbiorniku i jak wtedy zachowuje się detektor.

Przesterowanie nie będzie przeszkadzać gdy będziesz szukał prostej cechy, np. pierwszego zbocza. Jeśli będziesz próbował ekstrahować jakieś ciekawsze parametry (kształt obwiedni np) to system musi być liniowy.

No niestety, przetwornik ultradźwiękowy który byłby dookólny musiałby "puchnąć" w każdą stronę a nie mieć kształtu membrany czy płaskiej, drgającej płytki - jak piezo. Jedyne wyjście to popracować nad torem akustycznym: stożek lub łagodnie rozchylająca się trąbka lub.. w stacji ruchomej wstawić rozetkę z kilku nadajników zasilanych tym samym sygnałem. Jak rozumiem tylko ona potrzebuje izotropowego źródła. Beaconom wystarczy odbiornik pokrywający (być może z daleka) obszar jazdy, czy tak?

Link do komentarza
Share on other sites

Z tego co widzę to dwie baterie CR2302 dałyby od -3V do 3V i są stosunkowo małe, muszę to przemyśleć.

Zgadza się, testowałem z różnymi stałymi RC i akurat na takiej skończyłem. Całkiem fajnie na niej widać jak działa detektor.

Jutro biorę się za testy z impulsami, po całym dniu przy elektronice można się zmęczyć umysłowo.

Wstępnie przetestuję jak będzie działał ten system pomiaru odległości przy wykrywaniu pierwszego zbocza, jeżeli rezultat nie będzie mnie zadowalał, przetestuję VGA.

Wstawienie więcej niż jednego nadajnika powinno zadziałać, jeżeli ostatecznie będą problemy z detekcją sygnału, wyjdzie w praniu. Zgadza się, docelowo w stacjach odbiorczych będą znajdować się pojedyncze odbiorniki skierowane do obszaru po którym poruszał się będzie robot, i pod kątem 135 stopni względem podłoża (skierowane pod kątem w stronę sufitu).

Link do komentarza
Share on other sites

"pod kątem 135 stopni względem podłoża (skierowane pod kątem w stronę sufitu)"

To ten robot będzie jeździł po suficie??? Jak to zrobisz? Magnesy jakieś czy śmigiełka 🙂

Dwie baterie to niezbyt dobry pomysł. Zawsze (a tu nawet bardzo) będzie istnieć niesymetria obciążeń i jedna będzie zdychać szybko a druga wcale. Poza tym jeśli układ potrzebuje ±5V to tyle ma być a nie około ±3V. Zrobienie przetwornicy DCDC odwracającej polaryzację jest bardzo proste. To jeszcze nie ten etap martwienia się, ale załóż sobie zasilanie z czego tam najwygodniej (bateria 9V?) i zrób z niej stabilizowane ±5V.

Wrzuć jutro jakieś oscylogramy z impulsów po dobraniu sensownej stałej czasowej. Mając jakiś wzmacniacz możesz już polatać po pokoju z nadajnikiem i pooglądać echa. Zaobserwuj czy zmienia się kształt obwiedni w pobliżu ścian lub mebli. Amplituda niech spada - to się podkręci wzmocnieniem, ale utrzymanie kształtu krzywej będzie kluczowe do jej prawidłowego rozpoznawania. Oczywiście gdy już nacieszysz się metodą pierwszego zbocza. A może ona wystarczy?

Link do komentarza
Share on other sites

Źle to opisałem. I w sumie nie miało to większego sensu. Na obrazku pokazana jest obecna idea, z czujnikami równolegle do podłoża. Na platformie nad nadajnikiem powinien być również stożek rozpraszający, który jak się okazało po testach potrafi zdziałać cuda.

Zupełnie zapomniałem, że są takie przetwornice. Bateria 9V jest dosyć duża, a mi zależy na małych gabarytach (całkowita średnica maks. 3cm), dlatego rozejrzę się za czymś trochę mniejszym. Z 6V możliwe jest już stabilizowanie napięcia do 5V dla stabilizatorów z małym drop outem. No ale to już nie powinien być problem.

Niebieski - sygnał wejściowy detektora.

Żółty - sygnał wyjściowy detektora.

Obwiednia z uchwyconym echem:

Planuję teraz dołączyć do układu komunikację radiową i sprawdzić jak to działa, a raczej dlaczego nie działa jak powinno.

Link do komentarza
Share on other sites

Wygląda nieźle. Stała czasowa może być jeszcze dłuższa, moim zdaniem nawet kilkukrotnie.

Na drugim obrazku masz opóźnienie ok. 700us co przekłada się na drogę dźwięku dłuższą o ok. 23cm. Czy to było możliwe w warunkach gdy to mierzyłeś?

Na jakie radio się zdecydowałeś? Niektóre moduły radiowe - szczególnie te mądrzejsze (na 2.4GHz) mogą robić jakieś poważniejsze przetwarzanie danych a informację wysyłają tylko w pakietach. To oznacza, że nadajnik po otrzymaniu danych chwilę czeka na ew. przyjście kolejnych i dopiero po pewnym czasie wysyła, gdy już "traci nadzieję" na kolejne bajty. Odbiornik też ma trochę do zrobienia i opóźnienie może być w takim systemie dość zmienne a to najgorsze co może Ci się przytrafić. Wybierz zatem coś prostego pracującego na modulacji FSK lub GMSK, w ostateczności OOK. W tych modułach (też są bardziej i mniej rozbudowane) przynajmniej wiesz dokładnie kiedy zaczyna się i kończy nadawanie ramki. Przetwarzanie po stronie odbiornika też jest proste bo filtry w torze i demodulator mają stałe opóźnienia. Także po wysłaniu ramki danych i tak musisz chwilę poczekać na sygnał w odbiorniku. I uwzględnić tę chwilę (zmierz to opóźnienie dla konkretnych ustawień toru radiowego) w obliczeniach.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.