Ultraschallsensor HC-SR04

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Abb. 1: Ultraschallsensor HC-SR04

Autoren: Prof. Dr.-Ing. Schneider, Tim Leonard Bexten

Einleitung

Der HC-SR04 ist ein Ultraschall-Sensormodul, welches mit Hilfe eines Ultraschallimpulses, berrührungslos den Abstand zu einem Objekt messen kann. Das Ultraschallmodul hat einen Arbeitbereich von 2 cm bis zu 3 m. Es besitzt eine Auflösung von 3 mm.

Technische Übersicht

Eigenschaft Daten
Spannungsversorgung
VCC 5 V / ±10%
Stromaufnahme
< 2 mA
Messbereich 2 cm bis ca. 450 cm
Messunsicherheit 3 mm
Messfrequenz 50 Hz
Erkennungswinkel 15°
Eingangstriggersignal TTL-Impuls 10 µS
Ausgangssignal TTL Low aktiv
Betriebstemperatur -15 °C – 70 °C
Abmessung (l,b,h)
45 mm x 21 mm x 18 mm

Pinbelegung

Abb. 2: Pinbelegung des HC-SC04 Abstandssensor
Pin Belegung Signal
1 Versorgungsspannung VCC 5 V
2 Triggereingang TTL-Pegel
3 Echo, Ausgang Messergebnis TTL-Pegel
4 Masse (GND) 0 V

Prinziperklärung

Abb. 3: Messablauf des HC-SC04 Abstandssensor

Das Messprinzip des Ultraschallsensormoduls ist ein Laufzeitverfahren. Der Ultraschallsensor strahlt zyklisch einen kurzen, hochfrequenten Schallimpuls aus. Diese Schallwellen pflanzen sich mit Schallgeschwindigkeit in der Luft fort. Wenn nun die Schallwelle auf ein Objekt, im Messfeld des Sensors trifft, wird diese reflektiert. Die wieder beim Sensor eintreffende Schallwelle wird detektiert und die Zeit zwischen dem Aussenden und dem Wiedereintreffen gemessen. Aus der Zeit und der Schallgeschwindigkeit in einem bestimmten Medium (Luft) kann die Distanz zum detektierten Objekt errechnet werden.

Messablauf

Der Messzyklus des Ultraschallmoduls wird durch eine fallende Flanke am Trigger-Pin ausgelöst. Bevor die fallende flanke detektiert werden kann, muss am Trigger-Pin zuvor erst mindestens für 10 μs ein High-Pegel anliegen. Im Anschluss auf die detektierte fallende Flanke, sendet das Modul 8 aufeinander folgende Ultraschallsignale, mit einer Frequenz von 40 kHz aus (Burst-Siganle). Diese Phase dauert 200 μs. Nachdem die Siganle ausgesendet wurden, wird der Echo-Pin sofort auf einen High-Pegel gesetzt und das Modul wartet auf die Rückkehr des Echos der Burst-Siganle. Wenn das Echo eintrifft, wird der Echo-Pin wieder auf einen Low-Pegel gesetzt. Die Triggerung des Trigger-Pins kann alle 20 ms erfolgen. Wenn kein Echo detektiert werden konnte, weil die Schallwelle zu großen teilen Absorbiert wurde, oder kein Hindernis in der nähe ist, so wartet das Modul 200 ms und zeigt die Erfolglose Messung somit an. Die Messung kann danach mit der fallenden Flanke am Trigger-Pin erneut gestartet werden.

Messgenauigkeit

Die Modulabhänige Messgenauigkeit, die mit 3 mm angegeben ist hängt mit der Abtastrate des Moduls zusammen. Des Weiteren ist bei Ultraschallmessverfahren die Temperatur der Umgebungsluft ein nicht unwesentlicher Faktor. Die Schallgeschwindigkeit in Luft bei 20 °C beträgt 343,5 m/s. Die Schallgeschwindigkeit lässt sich mit Hilfe der Formel:



Näherungsweise bestimmen, für den Temperaturbereich -20 °C bis 40 °C.
Es ist zu empfehlen, wenn größere Abstände genau ermittelt werden sollen, den HC-SR04 Ultraschallsensor mit einem Umgebungstemperatursensor zu koppeln und so die Schallgeschwindigkeit genauer bestimmen zu können.

Verwendete Software

Abb. 4: Anschluss des HC-SC04 Abstandssensor

Die für diese Sensoranalyse wurde folgende Software verwendet:

  • Arduino IDE
  • Excel 365

Hardwareaufbau

Das HC-SR04 Ultraschallmodul benötigt als Anschluss an den Arduino nur vier Leitungen. Der VCC-Pin des Ultraschallmoduls wird mit dem 5 V Anschluss des Arduinos verbunden und der GND-Pin mit dem GND am Arduino. Der Trigger-Pin und der Echo-Pin des Ultraschallmoduls werden an die Digitalen I/O Ports des Arduinos angeschlossen. In diesem Fall wird der Pin 8 des Arduinos mit dem Trigger-Pin verbunden und der Echo-Pin wird an Pin 9 des Arduins angeschlossen. Um nun das Ultraschallmodul, wie in Abschnitt Prinzieperklärung anzusprechen, muss der Pin 8 als digitaler Output und Pin 9 als digitaler Input deklariert werden.

Bewertung der Sensordaten

Abb. 5: Diagramm der Laufzeit über der Messdistanz

Mit dem Hardwareaufbau wurden nun wie im YouTube Video zu sehen, Tests durchgeführt. Es wurde der Abstand zu einem Objekt mit einer Breite von 28 cm und einer Höhe von 20 cm gemessen. Es wurden für jede Messreihe 1000 Laufzeitmessungen durchgeführt, welche in eine Exceltabelle überführt wurden. Nach jeder Messreihe wurde der Abstand sukzessive um 10 cm erhöht und die Messreihe erneut gestartet.
Aus diesen Messwerten ließ sich ein Mittelwert der Laufzeiten bilden. Die Laufzeiten, wie in der Grafik zusehen, steigen linear mit dem Abstand an. Was den Erwartungen entspricht. Des Weiteren kann aus der großen Anzahl der Messungen, unter der Annahme dass die Messwerte gaußförmig verteilt sind eine Standardabweichnung berechnet werden. Darüber lassen sich Aussagen über die Genauigkeit einer einzelnen Messung treffen. Die Standardabweichung bei 20 cm Messdistanz betrug etwa 0,2 cm, hingegen bei 220 cm schon 1,4 cm. Das bedeutet bei steigendem Abstand kommt es zu größeren Fehlern bei der Messung der Laufzeit. Mögliche Ursachen für diese Fehler können sein, Reflektion der Schallwellen von Wänden, Temperaturschwankungen, Bewegeung der Umgebungsluft etc.
Des Weiteren viel auf, dass der Ultraschallsensor bei Distanzen > 220 cm keine verlässlichen Daten mehr liefern konnte. Dies kann zusammenhängen mit der Größe des zu detektierenden Objektes oder wie eingangs erwähnt mit Störeinflüssen in der Umgebung.
Der Sensor kann stabil planare Objekte erkennen und die Distanz konkret bestimmen bis zu einem Abstand von etwa 220 cm. Bei Größeren entfernungen muss das zu detektierende Objekt auch größer werden. Die im Datenblatt angegebenen 300 cm Messdistanz sind nur dann möglich wenn das Objekt eine Wand oder ähnliches ist.

Gesamtfazit

In diesem Wikiartikel wurde das HC-SR04 Ultraschallmodul vorgestellt. Nach der Durchführung verschiedener Test im Einsatzbereich des Sensors wurde festgestellt, dass der Sensor einfach anzuschießen und zu programmieren ist. Die Daten die der Sensor liefert müssen erst von einer Laufzeit in eine Distanz umgerechnet werden, um einen Distanzwert zu erhalten. Im weiteren Verlauf des Testens viel auf, dass die angegebene Reichweite von bis zu 3 m in meinem Testaufbau nicht zu ereichen ist. Die detektierbaren Objekte müssen mit steigendem Abstand zum Sensor ebenfalls größer werden, um verlässliche Daten zu liefern. Außerdem vielen weitere typische Fehlerursachen von Ultraschallmessungen auf, wie zum Beispiel die Reflektion von Wänden und anderen Objekten, die sich seitlich von der Messstrecke befanden. Ebenso liefert der Sensor bei konvexen Oberflächen keine verlässlichen Resultate mehr, da die Schallenwellen von einem konvexen Objekt in alle Raumrichtung reflektiert werden und somit die Schallenergie schon bei kleineren Abständen nicht mehr ausreicht, um verlässliche Messwerte zu liefern.
Abschließend lässt sich sagen, dass das HC-SR04 Ultraschallmodul gute Messwerte im Bereich von 10 cm bis 200 cm liefert und mit einer Frequenz von etwa 50 Hz ansteuerbar ist. Der Sensor ist gut einsetzbar im Mitteldistanzbereich.

Lernerfolg

Bei der Arbeit mit dem HC-SR04 Ultraschallmodul konnte man sehr gut die, in der Vorlesung besprochenen Inhalte zum Thema Laufzeitverfahren zur Distanzbestimmung mit Hilfe von Ultraschall vertiefen. Des Weiteren war die Auseinandersetzung hilfreich für das in diesem Semester ebenfalls anstehende GET-Praktikum, in dem meine Projektgruppe ebenfalls das HC-SR04 Ultraschallmodul verwendet hat. Die Beschaltung des Moduls ist durch die interen Signalvorverarbeitung sehr benutzerfreundlich gelöst. Die Programmierung sowie die Auswertung der Messergebnisse die größere Herausforderung.


Datenblätter

Videos

  • Video 1: DE BitBastelei #327​ - Abstandsmessung per Ultraschall: HC-SR04 mit Arduino
  • Video 2: Tim Bexten - HSHL Mechatronik - Sensortechnik HC-SR04 Ultraschallsensor



→ zurück zum Hauptartikel: HSHL-Mechatronik-Baukasten