Elektroda.pl
Elektroda.pl
X
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Ultradźwiękowy miernik odległości między urządzeniami?

02 Paź 2015 18:02 1350 18
  • Poziom 9  
    Witajcie,
    Od niedawna zacząłem bawić się Arduino i mam pomysł na pewien projekt, jednak nie jestem pewien, czy wypali. Wpadłem na pomysł, by zrobić sobie w pokoju małą imitację systemu GPS, konkretnie takie coś:
    w 3 punktach sufitu pokoju umieścić chciałem 3 urządzenia bliźniacze, czyli mikrofony i głośniki ultradźwiękowe wraz z oprogramowaniem.
    Program działałby tak, że po włączeniu każdy kolejno wysłałby sygnał (w sposób podobny do dalmierza), który odebrałyby pozostałe 2 punkty i na tej zasadzie ustalona zostałaby odległość między nimi. Następnie urządzenie 4, którego pozycję miałbym ustalić, wysłałoby sygnał, na który odpowiedziałyby wszystkie 3 czujniki i na podstawie czasu ustaliłbym odległość punktu od każdego z nich. Dzięki temu mógłbym policzyć pozycję, mam rację?
    moje pytanie jest takie, czy to jest możliwe do skonstruowania? Może jest lepszy pomysł, który byłoby mi łatwiej zrealizować?
    I jeszcze taka myśl - czy sygnał dźwiękowy na mikrofonie mogę modulować jakoś? Żeby konkretny nadajnik w celu komunikacji z konkretnym odbiornikiem wysyłał dźwięk o konkretnej właściwości, który jedynie ten odbiornik by "słyszał"?
    Dzięki i pozdrawiam :)
  • PCBway
  • Poziom 43  
    Witam!
    Czy potrafisz opisać (słowami) działanie tego programu?
    Np.: nadajnik wysyła impuls o częstotliwości f1 i jednocześnie startuje zegar T1, zatrzymywany impulsem odebranym z mikrofonu M1. Stan licznika czasu zostaje przepisany do rejestru R1 ...
    Nadajnik wysyła impuls o częstotliwości f2 ... zegar T2 ... rejestr R2 ... itd.?
    Jaka ma być częstotliwość tych impulsów, czas ich trwania i oczekiwana dokładność pomiaru?
    Czy masz jakąś koncepcję przetwarzania uzyskanych danych numerycznych, np. R1=3, R2=4, R3=5 na X=?, Y=?
    Czy "właściwość" dźwięku to ma być tylko jego częstotliwość, czy coś jeszcze?
    Mam nadzieje, że filtry aktywne (umożliwiające "słyszenie" tylko 1 częstotliwości) są Ci dobrze znane i "hardware" w tym projekcie jest małym problemem?
  • PCBway
  • Poziom 9  
    Po przemyśleniu doszedłem do wniosku, że wystarczy mi na pokój jeden czujnik "matka" i 2 mniejsze podłączone przy pomocy przewodów. Komunikacja między nimi jest innym tematem, który muszę zrozumieć, więc to na razie pomijam. Czyli:
    W momencie uruchomienia, nadajnik 1 wysyła sygnał o częstotliwości A, który zostaje odczytany przez nadajnik 2. Skoro są przewody, to nie musi on odsyłać sygnału, na podstawie czasu między nadaniem a odebraniem jestem w stanie obliczyć odległość. Następnie wysłany zostaje sygnał B do nadajnika 3, ta sama sytuacja.
    Trzeci krok to odległość między pomniejszymi czujnikami.
    Posiadam boki trójkąta, który jest podstawą ostrosłupa.
    GPS jest gotów do działania. Pojazd/urządzenie będące na podłodze/w powietrzu wysyła sygnały A, B i C(do głównego nadajnika), obliczana jest odległość do poszczególnych nadajników, następnie obliczana i przesyłane wartości X, Y i Z względem jakiegoś wyznaczonego punktu "0" przy pomocy WiFi/bluetooth - to też pomijam, będę się uczyć.
    Czy takie coś jestem w stanie wykonać, przy założeniu że jestem po liceum, na I roku studiów mechatronicznych i nie mam zbyt dużej wiedzy o hardwarze?
  • Poziom 43  
    Bartiik napisał:
    ... zostaje odczytany przez nadajnik 2 ...
    Tego nie rozumiem, chyba chodzi o odbiornik?
    Bartiik napisał:
    ... jestem po liceum, na I roku studiów mechatronicznych i nie mam zbyt dużej wiedzy o hardwarze?
    Nie spiesz się z tym projektem, masz jeszcze dużo wiedzy do "łyknięcia", zwróć uwagę na fizykę! I ważna rzecz: każdy projekt POLICZ, np. jaką chcesz mieć rozdzielczość pomiaru, jaka musi być moc sygnału, jaka częstotliwość, jak sygnał "obrobić" itd.
    Może warto wpierw zrobić jakiś mniejszy projekt, np. telefon ultradźwiękowy?
  • Poziom 9  
    wybacz, zacząłem nazywać po prostu te urządzenia na suficie nadajnikami, lepszej nazwy nie znalazłem, a sam wiedziałem że jest niepoprawna, bo powinien w sumie być odbiorniko-nadajnik ;)
    Jeśli chodzi o wiedzę, to wiem o tym, po liceum znam jedynie podstawy każdego tematu, nie mam wiedzy z technikum i strasznie nad tym ubolewam... Jednakże nawet nie wiem czego miałbym się uczyć, więc wyszedłem z założenia, że wymyślę sobie projekt, następnie poznam jak najwięcej z tego, co powinienem wiedzieć by go wykonać.
    Ogólnie to ten cały system wymyślam po to, by po skończeniu budowy manipulatora o 4 stopniach swobody (albo 5, jeśli liczyć chwytak, nie wiem), móc nim sterować przy pomocy notacji D-H w przestrzeni, na przykład jako podajnik z punktu A do jakiegoś mobilnego, niekoniecznie stojącego w tym samym miejscu punktu B, np. mojej dłoni :)

    Dodano po 11 [minuty]:

    a wracając do tematu - czy na tej zasadzie nie działa dalmierz? Może jeśli on ma filtr, to można ustawić jakoś częstotliwość sygnału wysyłanego, by była różna od tej, którą odbiera?
    I jeszcze jeden problem, na który nie znam odpowiedzi - jak głośnik wysyła sygnał, to jest on jakoś ograniczony jeśli chodzi o (tu nie wiem jak to nazwać) wielkość stożka/sfery, w sensie dźwięk wysłany jest szeroko, pod dużym kątem, czy raczej bardziej w punkt? (sorry, że Cię tak męczę)
  • Poziom 33  
    Istnieją dość istotne fizyczne ograniczenia metody pomiaru odległości jaką chcesz zastosować. Jest ona stosunkowo wolna i mało dokładna. Moim zdaniem kompletnie nie nadaje się do manipulatora.
    Wyobraź sobie duży ciężki dzwon kościelny. Proces jego rozhuśtania jest powolny. Nie można z dużą precyzją określić kiedy się on rozpoczyna. Podobnie jest z nadajnikiem i odbiornikiem ultradźwięków. Jest tam element, który zaczyna drgać. Z punktu widzenia człowieka te drgania narastają bardzo szybko. W porównaniu jednak do prędkości rozchodzenia się dźwięku jest to proces dość powolny. Niemożność dokładnego zmierzenia chwili nadania i odebrania sygnału nie pozwala na dokładnie wyznaczenie odległości. Można obejść ten problem powtarzając wielokrotnie pomiar. Wymaga to jednak czasu. Obiekt musi być więc w spoczynku lub poruszać się bardzo wolno.
  • Poziom 9  
    Bardzo dziękuję za podręcznik, przyda się :)
    Jeśli chodzi o manipulator, to jest to projekt edukacyjny, albo hobbystyczny, ćwiczeniowy. Ma podnosić drobne elementy i je przenosić.
    Jeśli chodzi o te ograniczenia fizyczne, może jest mi Pan w stanie doradzić wyjście alternatywne? Nie upieram się przy dźwięku - po prostu wydał mi się dobry, bo tak działają dalmierze, tak mi się zdaje. Jeśli jest wyjście dokładniejsze, niekoniecznie prostsze, to bardzo bym prosił o radę :)
  • Poziom 33  
    W manipulatorach stosuje się enkodery optyczne. Są bardzo proste w obsłudze. Zwykle służą do określenia kąta o jaki przesunęło się ramię.
  • Poziom 43  
    Chcesz lokalizować drobny przedmiot przy użyciu ultradźwięków?
    Jaka ma być wielkość tego przedmiotu?
    Jak się ma ten rozmiar w stosunku do długości fali ultradźwiękowej? Aby przedmiot był "widziany", musi być kilka razy większy od długości fali!
    Jak "ostra" jest promieniowana wiązka ultradźwięków? Jaki jest jej przekrój w odległości, w której chcesz coś lokalizować? Z tego wynika "precyzja" lokalizacji!
    Jaką moc ultradźwięków możesz wykryć swoim mikrofonem? Jaką moc będzie miała fala odbita od przedmiotu, którego gówna powierzchnia odbijająca może być pod kątem do fali?
    Jak odróżnisz ultradźwięki odbite od przedmiotu, od ultradźwięków odbitych od ściany?
    Czy lokalizacja ma być we współrzędnych prostokątnych, czy biegunowych?
    Odległość chcesz mierzyć przez pomiar czasu, a jak zmierzysz kąt (azymut)?
    ...?

    Dlatego dla "obycia się" z ultradźwiękami sugerowałem coś prostego, jak np. telefon ultradźwiękowy.
  • Poziom 9  
    nie chodzi mi o ustalenie kąta. Do tego posłużyła mi notacja D-H (Denavita-Hartenberga), na podstawie której powstała mi funkcja odwrotnego zadania kinematyki, której dane wejściowe do współrzędne X Y Z końcówki, a na wyjściu otrzymuję dokłanie kąty zgięcia poszczególnych ramion.
    Chodzi mi już teraz nie o ramię, a o możliwość stworzenia obszaru, w którym urządzenia byłyby w stanie określić swoją w miarę dokładną pozycję względem wspólnego punktu "0".

    Dodano po 3 [minuty]:

    powyższa odpowiedź do Pana TvWidget.
    Natomiast jeśli chodzi o te pytania wszystkie, na żadne z nich nie mogę odpowiedzieć, ponieważ nie posiadam jeszcze żadnego mikrofonu, ani głośnika - najpierw przed kupnem części wolałem się zapytać czy jest to możliwe i chyba chcą mi Panowie zasugerować, że to głupi pomysł...
  • Poziom 33  
    Jak duży jest to obszar ?
    Jak dokładnie chcesz określić położenie ?
    Jak długo może trwać określenie położenia ?
  • Poziom 9  
    jeśli chodzi o kąt, to tu pomogłaby mi matematyka - powstałby ostrosłup o podstawie trójkąta, gdzie mając wszystkie boki byłbym w stanie dotrzeć do kątów oraz w końcu do współrzędnych. Czy jeżeli zakładam, że między mikrofonem, a głośnikiem nie ma przeszkód, to prawdą jest, że pierwszy sygnał docierający będzie tym prawidłowym, a inne będą już odbite?

    Dodano po 2 [minuty]:

    Obszar pokoju, około 4x4x2.5 m. Dokładność i czas trwania są chyba od siebie zależne, więc na to nie odpowiem - chyba oczywiste, że jak najdokładniej i w jak najkrótszym czasie, jednak lepiej żeby była to kwestia może sekund, a nie minut
  • Poziom 33  
    Bartiik napisał:
    chyba oczywiste, że jak najdokładniej i w jak najkrótszym czasie

    Czy chodzi o osiągniecie granicy wyznaczonej zasadą nieoznaczoności Heisenberga ? :D
  • Poziom 9  
    nie, chodzi o osiągnięcie złotego środka pomiędzy czasem a dokładnością, którego nie potrafię określić, bo nie mam w ogóle pojęcia o jakich jednostkach czasu jest mowa
  • Poziom 33  
    Na pomiar położenia żółwia można poświęcić 1s. Zapewne dopuszczalne będzie nawet 10 sekund.
    Jednak taki czas w przypadku pocisku wystrzelonego z karabinu będzie raczej zbyt duży.
    Nie wiadomo co chcesz zrealizować ani do czego ten pomiar położenia jest potrzebny. Nie podjesz też żadnych konkretnych danych. Jak więc można sensownie odpowiedzieć na pytania jakie zadajesz.
  • Poziom 9  
    podstawa manipulatora będzie statyczna, więc tutaj nie ma problemu z czasem. z kolei przykładowy pojazd, bądź jakieś urządzenie byłoby w stanie się zatrzymywać na czas ruchu ramienia. Czy przy założeniu, że na ustalenie pozycji będę poświęcał 1 sekundę, jestem w stanie określić ją w miarę dokładnie? (nie w skali mikro, ale jednak żeby margines błędu był liczony w centymetrach, a nie decymetrach)
  • Poziom 32  
    Podniesiesz dokładność używając odpowiednio zakodowanego sygnału - poczytaj sobie o kodach Barkera https://en.wikipedia.org/wiki/Barker_code (i ogólnie o kompresji pulsu https://en.wikipedia.org/wiki/Pulse_compression ).
    Pamiętaj ze prędkość propagacji sygnału zależy od temperatury powietrza wiec dobrze byłoby ją zmierzyć.

    Co do czasów... to chyba najprostsze - nośna większości tanich czujników piezo to ok 40kHz, prędkość propagacji sygnału w powietrzu to ok 343.2m/s (suche powietrze @20 °C), najdłuższa sekwencja Barkera to da nam ok 325uS impuls już chyba wiesz czego szukać?
    Poczytaj o ograniczeniach czujników - maja np czas martwy - na Elektrodzie powinna być co najmniej jedna osoba która zajmowała się zawodowo ultradźwiękami - od siebie dodam ze można próbować kształtować czas martwy (układy aktywnego tłumienia).

    http://www.springer.com/cda/content/document/...006321-c2.pdf?SGWID=0-0-45-1404760-p175159475
  • Poziom 9  
    jeeejku, będę musiał poczytać :) Ale to już wygląda na bardzo dogłębne wejście w zagadnienie, a ja nawet nie wiem, czy da się to zrobić...
    bardzo dziękuję za tę odpowiedź, na pewno się przyda jeżeli wyjaśnią się jeszcze inne, podstawowe moje pytania :)