Spisu treści:

Lokalizator echa z dwoma czujnikami: 7 kroków (ze zdjęciami)
Lokalizator echa z dwoma czujnikami: 7 kroków (ze zdjęciami)

Wideo: Lokalizator echa z dwoma czujnikami: 7 kroków (ze zdjęciami)

Wideo: Lokalizator echa z dwoma czujnikami: 7 kroków (ze zdjęciami)
Wideo: Nauka czytania Echosondy - interpretacja zapisów i batymetria 2024, Lipiec
Anonim
Image
Image
Lokalizator echa z dwoma czujnikami
Lokalizator echa z dwoma czujnikami
Lokalizator echa z dwoma czujnikami
Lokalizator echa z dwoma czujnikami

Ta instrukcja wyjaśnia, jak określić lokalizację obiektu za pomocą Arduino, dwóch czujników ultradźwiękowych i wzoru Herona na trójkąty. Brak ruchomych części.

Wzór Herona pozwala obliczyć pole dowolnego trójkąta, którego wszystkie boki są znane. Znając pole trójkąta, możesz obliczyć położenie pojedynczego obiektu (w stosunku do znanej linii bazowej) za pomocą trygonometrii i Pitagorasa.

Dokładność jest doskonała. Duże obszary wykrywania są możliwe dzięki powszechnie dostępnym czujnikom ultradźwiękowym HC-SR04 lub HY-SRF05.

Konstrukcja jest prosta… wystarczy ostry nóż, dwie wiertarki, lutownica i piła do drewna.

Obrazy

  • Klip wideo przedstawia pracę urządzenia.
  • Zdjęcie 1 przedstawia zmontowany „lokalizator echa”
  • Zdjęcie 2 pokazuje typowy wyświetlacz. Obiektem jest czerwona (migająca) kropka.
  • Zdjęcie 3 pokazuje konfigurację testu wideo. Konieczne było umieszczenie dwóch czujników ultradźwiękowych HY-SRF05 50 cm poniżej linii bazowej, aby całkowicie „oświetlić” obszar detekcji dźwiękiem.

Krok 1: Schemat połączeń

Schemat połączeń
Schemat połączeń

Zdjęcie 1 przedstawia schemat połączeń dla „dwuczujnikowego lokalizatora echa”.

Czujnik B staje się „pasywny” poprzez umieszczenie kilku warstw taśmy maskującej na przetworniku transmisyjnym (T). Ta taśma blokuje dźwięk ultradźwiękowy, który w innym przypadku byłby emitowany.

Krok 2: Lista części

Lista części
Lista części

Jak pokazano na zdjęciu1, do wykonania tego projektu potrzeba bardzo niewielu części:

Następujące części uzyskano z

  • 1 tylko Arduino Uno R3 w komplecie z kablem USB
  • 2 tylko przetworniki ultradźwiękowe HY-SRF05 lub HC-SR04

Lokalnie pozyskano następujące części:

  • 1 tylko męski pasek nagłówka arduino
  • 2 tylko żeńskie paski nagłówka arduino
  • 2 tylko kawałki złomu aluminium
  • 2 tylko małe kawałki drewna
  • 2 tylko małe śruby
  • 3 tylko opaski kablowe
  • 4 tylko długości drutu powlekanego tworzywem sztucznym (różne kolory) [1]

Notatka

[1]

Całkowita długość każdego przewodu powinna być równa żądanej odległości między czujnikami plus niewielka ilość do lutowania. Druty są następnie skręcane razem, tworząc kabel.

Krok 3: Teoria

Teoria
Teoria
Teoria
Teoria
Teoria
Teoria

Wzory wiązki

Zdjęcie 1 pokazuje nakładające się wzory wiązki dla przetwornika A i przetwornika B.

Czujnik A odbierze echo od dowolnego obiektu w „czerwonym obszarze”.

Czujnik B odbierze echo tylko wtedy, gdy obiekt znajduje się w „fioletowym obszarze”. Poza tym obszarem nie ma możliwości określenia współrzędnych obiektu. [1]

Duże „fioletowe” obszary wykrywania są możliwe, jeśli czujniki są szeroko rozstawione.

Obliczenia

W odniesieniu do zdjęcia 2:

Pole dowolnego trójkąta można obliczyć ze wzoru:

powierzchnia=podstawa*wysokość/2 …………………………………………………………………………. (1)

Przestawianie równania (1) daje nam wysokość (współrzędną Y):

wysokość=powierzchnia*2/podstawa …………………………………………………………………………. (2)

Jak dotąd tak dobrze… ale jak obliczyć powierzchnię?

Odpowiedzią jest rozmieszczenie dwóch przetworników ultradźwiękowych w znanej odległości (linia bazowa) i zmierzenie odległości każdego czujnika od obiektu za pomocą ultradźwięków.

Zdjęcie 2 pokazuje, jak jest to możliwe.

Przetwornik A wysyła impuls, który odbija się od obiektu we wszystkich kierunkach. Impuls ten jest słyszalny zarówno przez przetwornik A, jak i przetwornik B. Żaden impuls nie jest wysyłany z przetwornika B… tylko nasłuchuje.

Droga powrotna do przetwornika A jest pokazana na czerwono. Po podzieleniu przez dwa i uwzględnieniu prędkości dźwięku, możemy obliczyć odległość „d1” ze wzoru: [2]

d1 (cm) = czas (mikrosekundy)/59 ………………………………………………………(3)

Ścieżka do przetwornika B jest pokazana na niebiesko. Jeśli odejmiemy odległość „d1” od tej długości ścieżki, otrzymamy odległość „d2”. Wzór na obliczenie „d2” to: [3]

d2 (cm) = czas (mikrosekundy/29,5 – d1 ………………………………………….. (4)

Mamy teraz długość wszystkich trzech boków trójkąta ABC… wpisz „Czapla”

Formuła Herona

Wzór Herona wykorzystuje coś, co nazywa się „półobwodem”, w którym dodajesz każdy z trzech boków trójkąta i dzielisz wynik przez dwa:

s=(a+b+c)/2 …………………………………………………………………………………. (5)

Powierzchnia może być teraz obliczona według następującego wzoru:

powierzchnia=sqrt(s*(s-a)*(s-b)*(s-c)) ……………………………………………………. (6)

Gdy znamy obszar, możemy obliczyć wysokość (współrzędną Y) z równania (2) powyżej.

Pitagoras

Współrzędną X można teraz obliczyć, upuszczając prostopadłą z wierzchołka trójkąta do linii bazowej, aby utworzyć trójkąt prostokątny. Współrzędną X można teraz obliczyć za pomocą Pitagorasa:

c1 = sqrt(b2 - h2) ………………………………………………………………………….. (7)

Uwagi

[1]

Obszar docelowy można całkowicie „oświetlić” dźwiękiem, umieszczając czujniki poniżej linii bazowej.

[2]

Wartość 59 dla stałej jest wyprowadzana w następujący sposób:

Prędkość dźwięku wynosi około 340 m/s, czyli 0,034 cm/uS (centymetry/mikroceonę).

Odwrotność 0,034cm/uS wynosi 29,412uS/cm, co po pomnożeniu przez 2, aby uwzględnić drogę powrotną, daje 58,824 lub 59 po zaokrągleniu.

Wartość tę można regulować w górę/w dół, aby uwzględnić temperaturę powietrza, wilgotność i ciśnienie.

[3]

Wartość 29,5 dla stałej jest wyprowadzana w następujący sposób:

Nie ma ścieżki powrotnej, więc używamy 29,5, co stanowi połowę wartości użytej w [2] powyżej.

Krok 4: Budowa

Budowa
Budowa
Budowa
Budowa

Wsporniki montażowe

Dwa wsporniki montażowe zostały wykonane z blachy aluminiowej o grubości 20 przy użyciu metody opisanej w moim instruktażowym

Wymiary dla moich wsporników są pokazane na zdjęciu 1.

Dwa otwory oznaczone jako „linia bazowa” służą do mocowania sznurka do każdego czujnika. Po prostu zwiąż sznurek w wymaganym odstępie, aby ułatwić konfigurację.

Gniazda czujników

Gniazda czujników (zdjęcie 2) zostały ukształtowane ze standardowych gniazd nagłówkowych Arduino.

Wszystkie niechciane piny zostały wyciągnięte i wywiercony 3mm otwór w plastiku.

Podczas lutowania połączeń należy uważać, aby nie zwierać przewodów do aluminiowego wspornika.

Odciążenia przewodów

Mały kawałek rurki termokurczliwej na każdym końcu kabla zapobiega rozplątywaniu się przewodów.

Zastosowano opaski kablowe, aby zapobiec niepożądanemu ruchowi kabla.

Krok 5: Instalacja oprogramowania

Zainstaluj następujący kod w tej kolejności:

IDE Arduino

Pobierz i zainstaluj Arduino IDE (zintegrowane środowisko programistyczne) z https://www.arduino.cc/en/main/software, jeśli nie zostało jeszcze zainstalowane.

Przetwarzanie 3

Pobierz i zainstaluj Processing 3 z

Szkic Arduino

Skopiuj zawartość załączonego pliku „dual_sensor _echo_locator.ino” do „szkicu” Arduino, zapisz, a następnie prześlij go do Arduino Uno R3.

Zamknij Ardino IDE, ale pozostaw podłączony kabel USB.

Przetwarzanie szkicu

Skopiuj zawartość załączonego pliku „dual_sensor_echo_locator.pde” do przetwarzania „Szkic”.

Teraz kliknij lewy górny przycisk „Uruchom”… na ekranie powinien pojawić się ekran graficzny.

Krok 6: Testowanie

Testowanie
Testowanie
Testowanie
Testowanie

Podłącz kabel Arduino USB do komputera, Uruchom „dual_sensor_echo_locator.pde”, klikając przycisk uruchamiania „w lewym górnym rogu” w IDE Processing 3 (zintegrowane środowisko programistyczne).

Liczby oddzielone przecinkiem powinny zacząć płynąć w dół ekranu, jak pokazano na zdjęciu1.

Komunikat o błędzie podczas uruchamiania

Podczas uruchamiania może pojawić się komunikat o błędzie.

Jeśli tak, zmień [0] w wierszu 88 zdjęcia 1, aby odpowiadało numerowi powiązanemu z twoim portem „COM”.

W zależności od systemu może być wyświetlonych kilka portów „COM”. Jedna z liczb zadziała.

Na zdjęciu 1 numer [0] jest powiązany z moim „COM4”.

Pozycjonowanie czujników

Rozstaw czujniki w odległości 100 cm od obiektu znajdującego się 100 cm z przodu.

Obracaj powoli oba czujniki w kierunku przeciwległego po przekątnej rogu wyimaginowanego kwadratu o długości 1 metra.

Obracając czujniki, znajdziesz pozycję, w której na wyświetlaczu graficznym pojawi się migająca czerwona kropka.

Dodatkowe dane pojawią się również (zdjęcie 2), gdy czujniki zlokalizują Twój obiekt:

  • odległość1
  • odległość2
  • linia bazowa
  • zrównoważyć
  • półobwodu
  • powierzchnia
  • Współrzędna X
  • Współrzędna Y

Krok 7: Wyświetlacz

Wyświetlacz
Wyświetlacz

Wyświetlacz został napisany przy użyciu Processing 3 … pokazana jest linia bazowa 100 cm.

Zmiana linii bazowej

Zmieńmy naszą linię bazową ze 100cm na 200cm:

Zmień „liczba bazowa zmiennoprzecinkowa = 100;” w nagłówku Przetwarzanie, aby przeczytać „float Baseline = 200;”

Zmień etykiety „50” i „100” w procedurze przetwarzania „draw_grid()” na „100” i „200”.

Zmiana przesunięcia

Większe obszary docelowe mogą być monitorowane, jeśli umieścimy czujniki poniżej linii bazowej.

Zmienna „Offset” w nagłówku Processing musi zostać zmieniona, jeśli zdecydujesz się to zrobić.

Kliknij tutaj, aby wyświetlić inne moje instrukcje.

Zalecana: