Czujniki ultradźwiękowe (PING)

Czujniki ultradźwiękowe (PING)
Razem głosów: 28 co stanowi: 84.29% całości.

hc-sr04

Czujniki ultradźwiękowe odległości to kolejne chętnie wykorzystywane elementy do budowy robotów. W sumie najpopularniejsze są PING Paralaxa i HC-SR04. Tym drugim ze względu na cenę się zajmiemy ..

Ten chiński produkt jakim jest HC-SR04 nie jest może aż tak dobry jak PING Paralaxa, ale  niska cena zachęca do użycia. Zatem poznajmy go nieco bliżej:

Specyfikacja HC-SR04

  • Zasilanie:  5V DC
  • Prąd spoczynkowy:  <2 mA
  • Efektywny kąt działania : <15°
  • Zakres pomiaru :   2 – 500 cm
  • Rozdzielczość : 1cm
  • Częstotliwość sygnałów :  40 kHz

images

Pełna nota modułu do pobrania tutaj:

ftp://imall.iteadstudio.com/Modules/IM120628012_HC_SR04/DS_IM120628012_HC_SR04.pdf

Schemat zaś prezentuje się następująco:

4E0B8F7D_zpsc74db897

a przykładowa biblioteka dla Arduino tutaj:

ftp://imall.iteadstudio.com/Modules/IM120628012_HC_SR04/Lib_IM120628012_HC_SR04.zip

Zasada działania modułu jest banalnie prosta. Musimy wygenerować impuls 10us na pinie Triger po czym układ zostaje wyzwolony i generuje 8 impulsów dźwiękowych w paśmie ultradźwięków, które posłużą do pomiaru odległości.

Obrazuje to poniższy obrazek:

2-1

 

Po wys?aniu impulsów  nast?puje wzbudzenie odbiornika i oczekiwanie na otrzymanie echa  wys?anych sygna?ów, które zostan? odebrane po odbiciu od przeszkody.  Jak wi?c wida? czas powrotu sygna?u odpowiada odleg?o?ci.

Zobaczmy zatem w analizatorze logicznym jak to wygl?da w praktyce:

ping

 

Prosz? jak ?adnie wida? dzia?anie:

  1. To koniec nadanego trigera o czasie trwania 10us
  2. To pocz?tek odbierania echa  jak wida? z boku w oknie informacyjnym czas trwania to 756us

Ale zapytacie zapewne jak si? to ma do rzeczonej odleg?o?ci? Ju? t?umacz?.

Zobaczcie, po 10ms sygna?u wyzwalania  trwa wysy?anie  8 impulsów  pomiarowych  – niestety na analizatorze ich nie widzimy, ale s? one zawarte pomi?dzy znacznikami  1 i 2,  trwa to oko?o 456us, po czym trwa okres trwania sygna?u echa. W naszym wypadku to 756us, warto?? ta odpowiada ile czasu trwa? powrót naszego sygna?u od jego nadania do odebrania z powrotem. Z tych informacji zatem mo?emy ju? ?atwo obliczy? odleg?o?? bowiem jest nam wiadome ?e:

Pr?dko?? d?wi?ku  wynosi 340m/s – oczywi?cie w zale?nie od temperatury i wilgotno?ci wzgl?dnej powietrza.  Czas w jakim pokonuje d?wi?k  1 cm to 29us  zatem z tego co wida? na zrzucie z Analizatora  jasno wynika ?e :  756/29/2 = 13cm.

Mam nadziej? ?e teraz jest ju? jasne jak b?dzie dzia?a? nasz pomiar.

Pod??czenie naszego HC-SR04 do Arduino jest banalnie proste:

hcsr04-arduino-300x219

 

Czas zatem napisa? jaki? przyk?adowy programik do obs?ugi czujnika, w którym b?dziemy mierzy? odleg?o?? i prezentowa? j? w terminalu:

Jak wida? nasz program przyk?adowy to nic specjalnego ale naprawd? obs?uga tych czujników nie jest specjalnie skomplikowana nawet przy u?yciu przyk?adowej biblioteki podanej wy?ej:

A tu przyk?adowy filmik z u?yciem HC-SR04 i FRDM-KL25Z:

?ycz? mi?ej zabawy z Pingiem…

 

 

 

 

Podziel się na:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay