HC-SR04
→ zurück zur Übersicht: WS 18/19: Sensortechnik (MTR)
Autor: Tim Leonard Bexten
Betreuer: Prof. Schneider
Aufgabe
In dieser Artikel werden folgenden Punkte abgearbeitet:
- Auswahl eines Primärsensors ---> HC-SR04
- Analyse des Sensors anhand Literaturrecherche
- Analyse des Sensors praktisch
- (Signalvorverarbeitung)
- Bewertung der Sensordaten
- Inbetriebnahme des Abstandssensor: HC-SR04
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. 300 cm |
Messintervall | 0,3 cm |
Messfrequenz |
50 Hz |
Abmessung (l,b,h) |
45 mm x 21 mm x 18 mm |
Pin | Funktion |
---|---|
1. VCC-Pin |
5 V |
2. Trigger-Pin |
TTL-Pegel |
3. Echo-Pin | Messergebnis, TTL-Pegel |
4. GND | 0 V |
Prinziperklärung
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
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
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
Lernerfolg
Gesamtfazit
YouTube Video
Schwierigkeitsgrad
Bewertung der Sensordaten
Quellenverzeichnis
https://www.mikrocontroller.net/attachment/218122/HC-SR04_ultraschallmodul_beschreibung_3.pdf
http://www.pcserviceselectronics.co.uk/arduino/Ultrasonic/electronics.php
http://www.pcserviceselectronics.co.uk/arduino/Ultrasonic/HC-SR04-cct.pdf
---
→ zurück zur Übersicht: WS 18/19: Sensortechnik (MTR)