Pytanie:
Pytanie dotyczące wielokrotnego dalmierza ultradźwiękowego
JonathonG
2012-01-10 14:05:15 UTC
view on stackexchange narkive permalink

Prowadziłem badania nad dalmierzami ultradźwiękowymi jako czujnikami do robotyki. Widziałem, jak są podłączane do serw i obracane, aby skutecznie „patrzeć” przed robota i upewnić się, że ścieżka jest wolna.

Chociaż to podejście jest bardzo skuteczne w większości przypadków, mam nadzieję można to poprawić. Muszę wiedzieć, czy możliwe jest jednoczesne użycie kilku przetworników ultradźwiękowych (powiedzmy 4), dzięki czemu każdy emituje i nasłuchuje na innej częstotliwości?

Oto obraz tego, co mam na myśli :

robot with colored rays, each ray symbolic of the direction of a different ultrasound transducer, each color represents a different frequency

Na tym obrazku zielone pole reprezentuje mojego robota. Małe niebieskie pudełko przedstawia panel z 4 oddzielnie ustawionymi pod kątem przetwornikami ultradźwiękowymi. Promienie emitowane z niebieskiego pudełka reprezentują kąt, pod jakim skierowany jest każdy przetwornik. Różne kolory promieni reprezentują różne częstotliwości. Powiedzmy na przykład: 34 kHz, 36 kHz, 38 kHz i 40 kHz.

Jeśli to możliwe, jak zabrać się za uzyskanie przetworników ultradźwiękowych, które wytwarzają różne częstotliwości, większość z nich wydaje się mieć 40 kHz. Czy mogę po prostu jakoś regulować ich częstotliwość za pośrednictwem mojej płyty Arduino?

edytuj Co więcej, czy można użyć jednego przetwornika ultradźwiękowego do wytworzenia pełnego zakresu częstotliwości? IE: Obracam serwomechanizm 4 razy szybciej, pingując 4 razy niż fest, ale zwiększam częstotliwość po każdym pingu? Czy pojedynczy przetwornik może nasłuchiwać różnych częstotliwości?

Dwa odpowiedzi:
Oli Glaser
2012-01-10 14:43:26 UTC
view on stackexchange narkive permalink

Typowy piezoelektryczny przetwornik ultradźwiękowy nie będzie tak wydajny, gdy będzie napędzany na częstotliwościach innych niż znamionowe. Działają trochę jak rezonansowy zbiornik LC, więc czułość spada dość gwałtownie.
Typowa wartość wydaje się wynosić ~ 2 kHz -6 dB (np. Z przetwornikiem 40 kHz, jeśli będzie o połowę mniej czuły lub połowę mocy wyjściowej przy 39 kHz i 41 kHz)

40 kHz wydaje się być najpopularniejszym (i tanim), ale można uzyskać różne częstotliwości, takie jak 25 kHz, 60 kHz, 180 kHz itp.

Jednak zamiast tego robić, dlaczego nie po prostu użyj 4 takich samych i pulsuj każdy z nich osobno lub użyj jednego i obracaj o żądany kąt za pomocą serwomechanizmu.
Jeśli robot nie porusza się bardzo szybko, nie powinno mieć znaczenia, czy nieznacznie rozłożysz impulsy. W ten sposób możesz nawet utworzyć podstawowy SONAR. Oto interesujący przykład oparty na PIC.

Cóż, cała przyczyna jest taka, że ​​obawiam się, że w obszarach, które zawierają dużo przeszkód (pola IE), sygnały mogą się odbijać i jeden przetwornik mógłby otrzymać odpowiedź z innego, zanim otrzyma odpowiedź od siebie, a zatem czyniąc odczyty szalenie niedokładnymi. Pomysł użycia 4 oddzielnych częstotliwości byłby taki, aby mógł skanować 4 razy szybciej bez utraty dokładności, a tym samym mógł poruszać się szybciej.
ten sonar jest dokładnie tym, co zamierzam zrobić, ale chcę, aby skanował bardzo szybko, aby mój robot mógł go używać podczas poruszania się z przyzwoitą prędkością, zamiast jechać do przodu, skanować, iść trochę dalej, skanować itp. ... lub bardzo powoli podczas skanowania.
czy wiesz, czy przetwornik będzie w stanie dokładnie wyczuć różnice tak małe, jak może 100 MHz? IE 39,8, 39,9, 40,0, 40,1, 40,2 kHz? W ten sposób mógłbym użyć standardowego przetwornika 40 kHz bez utraty tak dużej mocy?
Każdy impuls szybko zaniknie, jeśli ustawisz rozsądny próg w swojej rutynie wykrywania, powinieneś sobie z tym poradzić (zwróć uwagę, że odległość, którą jesteś w stanie wykryć, zmniejszy się przy wysokich ustawieniach). Jeśli chcesz się sprytnie, możesz mieć algorytm adaptacyjny, który skanuje charakterystykę pogłosu w pomieszczeniu i odpowiednio ustawia czas / próg. Wszystko zależy od tego, jak szybko musisz to zrobić - jeśli bardzo szybko, to użycie przetworników o różnych wartościach znamionowych jest prawdopodobnie dobrym pomysłem.
Przetwornik wykryje niewielkie zmiany częstotliwości wokół częstotliwości rezonansowej, ale nadal będziesz musiał je wykryć / przefiltrować.
Mam trochę czasu, więc myślę, że kupię 40kHz i poeksperymentuję z nim, jeśli może wyciągnąć 4 różne częstotliwości z wystarczającym zakresem, to świetnie, jeśli nie, spróbuję innych sugestii. Musi działać 2-3 razy szybciej niż ten mały facet: http://www.youtube.com/watch?v=eCDU8mMcU5I&t=6m0s (planuję użyć czujnika zbliżeniowego na podczerwień i prawdopodobnie nadmiarowych dalmierzy ultradźwiękowych, aby zapobiec uderzeniu w rzeczy działające z dużą prędkością, gdy bot przegapi je podczas skanowania)
davidcary
2012-01-15 23:23:57 UTC
view on stackexchange narkive permalink

Czy można używać wielu czujników ultradźwiękowych na jednym robocie? Tak: „Korzystanie z wielu czujników sonaru”.

Jak już się zorientowałeś, jeden czujnik często odbiera echa pingów wysyłanych przez inny czujnik. Istnieje kilka sposobów radzenia sobie z krzyżami -czułość, mniej więcej w kolejności od najprostszej:

  • pinguj tylko jeden przetwornik naraz, ignorując wszystkie inne przetworniki, czekając na zanik "echa duchowego" z obecnego przetwornika przed pingiem następny przetwornik. Jest to znacznie szybsze niż mechaniczne obracanie pojedynczego przetwornika. Być może będzie to wystarczająco szybkie, chyba że twój robot taranuje coś z prędkością zbliżoną do dźwięku :-).
  • Użyj stosunkowo wąskich nadajników lub odbiorników (lub obu) na czujnik i zwiększ kąt od jednego czujnika do drugiego, tak aby jeden czujnik nie mógł usłyszeć echa z drugiego (chyba że coś przed przetwornikiem powoduje dziwne boczne odbicia) - czujniki są ustawione pod kątem mniej więcej takim samym, jak kąt wiązki. Niestety, powoduje to pozostawienie „martwych punktów” między przetwornikami, w których obiekty nie mogą być widoczne przez żaden przetwornik.
  • Niektóre kombinacje - na przykład zwiększ kąt między czujnikami, aby jeden czujnik słyszał echo tylko z jego 2 sąsiadów (mniej więcej połowa kąta wiązki); następnie naprzemiennie pinguj parzyste przetworniki (ignorując nieparzyste przetworniki) i pinguj nieparzyste przetworniki (ignorując parzyste przetworniki).
  • każdy przetwornik pracuje na innej częstotliwości. Niestety, wszystkie niedrogie przetworniki ultradźwiękowe, z kilkoma wyjątkami, są dostrojone do rezonansu przy 40 kHz. Podczas słuchania różnych sygnałów przetworniki te mogą „słyszeć” tylko sygnały mieszczące się w zakresie kilku kHz do 40 kHz. Będziesz musiał zrównoważyć (a) Im dalej od 40 kHz użyjesz przetwornika zaprojektowanego dla 40 kHz, tym jest mniej czuły, więc chcesz, aby częstotliwość była „stosunkowo bliska” 40 kHz; oraz (a) Im bliżej siebie są wszystkie częstotliwości, tym trudniej jest je rozróżnić, tak więc potrzebujesz zestawu częstotliwości, które są rozłożone „stosunkowo daleko od siebie”. Nie wiem, czy istnieje dobry kompromis, czy nie - jeśli nie, to utkniesz przy (c) używaj droższych czujników dostrojonych na inne częstotliwości lub droższych czujników „szerokopasmowych” nie dostrojony do żadnej określonej częstotliwości.
  • Użyj różnych czasów transmisji, aby wykluczyć echa duchów. Powiedzmy, że nadajesz z lewej strony, opóźniasz 2 ms (nie na tyle, aby echo zanikło), a następnie nadawałeś z prawej strony, ... po tym, jak echo ucichnie, a potem nadawałeś z lewej strony, opóźnij 3 ms, potem prawo. Jeśli prawy odbiornik za każdym razem odbierze echo 5 ms później, możesz być całkiem pewien, że to prawdziwe echo; jeśli prawy odbiornik odbiera echo 5 ms później za pierwszym razem, 6 ms później za drugim razem, jest to prawdopodobnie duch z lewego odbiornika. (Istnieją znacznie bardziej wyrafinowane techniki „widma rozproszonego”, służące do oddzielania wielu nadajników korzystających z tej samej częstotliwości w tym samym czasie).
  • Połącz sygnały ze wszystkich odbiorników. Jeśli masz jeden centralny nadajnik, który pinguje we wszystkich kierunkach (lub równoważnie masz nadajniki skierowane we wszystkich kierunkach i pingujesz je wszystkie w tej samej chwili), a pierwsze echo, które otrzymujesz, trafia najpierw w lewy odbiornik (później w prawy odbiornik słyszy echo), wiesz, że najbliższa przeszkoda znajduje się bliżej lewej strony niż prawej. (Istnieją bardziej wyrafinowane techniki „szyku fazowego”, które łączą sygnały ze wszystkich odbiorników, a nawet bardziej wyrafinowane techniki „kształtowania wiązki”, służące do niewielkiej regulacji czasów nadawania wszystkich nadajników).

ps : Czy widziałeś już „Podczerwień a ultradźwięki - co powinieneś wiedzieć”?

Wow, bardzo dziękuję za wszystkie informacje! Żałuję, że nie mogę dać Tobie i Oli Glaserowi obu zaakceptowanych odpowiedzi! Dałbym ci go, ale nie chcę odbierać punktów reputacji, które już mu przyznałem. Nie mogę uwierzyć, że czujnik szerokopasmowy kosztuje tylko ~ 7,00 $. Jednak potrzebowałbym dwóch z nich na częstotliwość, prawda? Spróbuję niektórych technik, które tu wymieniłeś z normalnymi czujnikami 40 kHz, i jeśli odfiltrowanie echa z innych przetworników jest łatwe, nie kupię droższych.


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...