Do Projektu iAutomatyka dołączyli:

https://iautomatyka.pl/wp-content/uploads/2022/02/IMG_20220223_0739222.jpg

Obsługa czujnika ultradźwiękowego przy pomocy mikrokontrolera

autor: MatWisT194.

Wstęp

W poniższym artykule chciałbym przedstawić zasadę działania czujnika ultradźwiękowego i jego obsługę za pomocą mikrokontrolera (Atmega328p). Program jest napisany w języku C. Aby go zrozumieć będzie potrzebna minimalna wiedza z programowania, a także pojęcie, jak działa mikrokontroler.


Zasada działania czujnika

Zjawisko, które pozwala nam mierzyć odległość lub obecność obiektu przed czołem czujnika to odbicie fali dźwiękowej. Jest ona generowana za pomocą piezoelektryka np. kryształu kwarcu w postaci plasterka, który drga i wprawia w ruch powietrze (tak, jak ludzie, gdy mówią). Drgania te powodują powstanie ultradźwięków o częstotliwości 40 kHz, czyli niesłyszalnych dla ludzi. Fale dźwiękowe odbijają się od obiektu i w części powracają do czujnika. Aby wyznaczyć odległość, wystarczy zmierzyć czas między wysłaniem a powrotem dźwięku. Poniższa ilustracja wyjaśni wszystko.

Jak obliczyć odległość?

Z lekcji fizyki wiemy, że aby obliczyć drogę  w ruchu jednostajnym, należy pomnożyć czas i prędkość. Wykorzystamy to do naszych obliczeń:

V – prędkość dźwięku w powietrzu w temperaturze pokojowej 21°C
V = 344 [m/s]
t – czas między wysłaniem a powrotem fali [s], który mierzymy mikrokontrolerem

Jeśli chodzi o czas, to będziemy mierzyć go w mikrosekundach [us], trzeba go pomnożyć przez 10^-6. Dodatkowo całe równanie dzielimy przez 2, ponieważ fala porusza się w obie strony:

Dystans chcę mieć w [cm], dlatego 344 [m/s] mnożę razy 100 (10^2).

co po uproszczeniu daje mi:

dalej 10^-4 zrzucam do mianownika ze zmianą znaku potęgi:

skracamy to co możliwe, aby maksymalnie uprościć obliczenia w programie i otrzymujemy:

Podłączenie i obsługa czujnika HC-SR04

Link do dokumentacji: https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf

VCC- plus zasilania (5V, zgodnie z dokumentacją)

GND – masa

Trig – wejście wyzwalania czujnika

Echo – wyjście, na którym pojawia się sygnał

Najważniejsze parametry:

Obsługa odbywa się w następujących krokach:

  1. Podajemy stan wysoki na wejście Trig na co najmniej 10 [us]
  2. Czujnik wykona serię 8 pulsów, wysyłając falę ultradźwiękową
  3. Sensor na wyjściu Echo wystawia stan wysoki, którego czas trwania jest proporcjonalny do mierzonej odległości. W celu jego zmierzenia wykorzystamy Timer sprzętowy z funkcją INPUT CAPTURE.

Na czym polega tryb Input capture?

Dokumentacja używanego przeze mnie mikrokontrolera:

https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf

Tryb input capture używany jest do pomiaru długości jakiegoś zdarzenia np. okresu jakiegoś sygnału. Ja użyję go do pomiaru długości impulsu na wyjściu Echo, który jest równy odległości. Mikrokontroler (Atmega328p) posiada rejestry, które programista ustawia zgodnie ze swoimi potrzebami. Pozwalają przykładowo na włączanie przetwornika A/C, czyli można je porównać do ustawień wewnątrz mikrokontrolera. Poniżej znajdują się rejestry (znajdują się w dokumentacji), które trzeba skonfigurować, aby timer działał w trybie Input capture:

Program oraz prezentacja działania

Komentarze wyjaśnią działanie każdej linii programu:

Przykładem wykorzystania takiego czujnika jest prosty czujnik parkowania. Wraz ze zmniejszaniem odległości od przeszkody zapalane są kolejne diody led.



Utworzono: / Kategoria:

Reklama

Newsletter

Zapisz się i jako pierwszy otrzymuj nowości!



PRZECZYTAJ RÓWNIEŻ



NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

Reklama



POLECANE FIRMY I PRODUKTY
  • Czym jest PRRT? PRRT oznacza Power Remote Reset Technology, opatentowaną funkcję, którą posiadają wybrane switche przemysłowe PoE i media konwertery firmy Antaira. Prezentowana funkcja umożliwia łatwe zresetowanie zasilanego urządzenia w zd...
  • W trybie refleksyjnym sygnał ultradźwiękowy jest nieustannie odbijany przez zamontowany na stałe element odbijający wiązkę, tzw. element odniesienia. Jako elementu odbijającego wiązkę można używać odpowiednio ustawionego panelu z plastiku l...
  • To rozwiązanie oparte o technologię LoRaWAN pozwala skutecznie realizować działania ograniczające ryzyko rozprzestrzeniania się wirusa . Możliwość automatycznej kontroli dystansu z jednoczesnym monitoringiem relacji i wstecznym śledzeniem k...
  • SIMATIC PN/MF Coupler zapewnia wymianę danych pomiędzy max. 1 sterownikiem PLC na stronę sieci posiada redundantne zasilanie oraz możliwość połączenie sieci Ethernet poprzez SIMATIC BusAdapter (BA). SIMATIC PN/MF Coupler (6ES7158-3MU10-0XA0...
  • Urządzenia firmy FATEK istnieją na rynku polskim od 2004 roku i stały się alternatywą dla już istniejących rozwiązań i urządzeń. Niezawodność, korzystna cena i możliwości sterowników PLC sprawiły, że zyskały one ogromne zainteresowanie prog...
  • PR200 to uniwersalne i łatwe w obsłudze urządzenie zaprojektowane w plastikowej obudowie do montażu na szynie DIN jako alternatywa dla PLC. Przekaźnik jest dostępny w kilku wersjach dla napięcia stałego i przemiennego. Jest wyposażony w cyf...