Ultraschall Abstandssensor HC-SR04
Autor: Lukas Honerlage
Betreuer: Prof. Schneider
Aufgabe
In diesem Artikel werden folgenden Punkte abgearbeitet:
Es wird der Ultraschall Abstandssensor HC-SR04 verwendet
Wie funktioniert der Sensor?
Welche Rohsignale liefert der Sensor?
Wie funktioniert die Signalvorverarbeitung
Sollen Messwerte oder vorverarbeitete Daten übertragen werden?
Wie lässt sich eine Vorverarbeitung umsetzen?
Wird eine Kennlinie eingesetzt? Wenn ja, wie wird diese kalibriert?
Analog-Digital-Umsetzer
Wie werden die analogen Signale umgesetzt?
Welcher ADU kommt zum Einsatz?
Welche Gründe sprechen für diesen ADU? Alternativen?
Bussystem
Wird ein Bussystem zwischen Sensor und Mikrocontroller eingesetzt?
Wenn ja, wie funktioniert dieses Bussystem?
Digitale Signalverarbeitung
Welche Verarbeitungsschritte sind notwendig?
Welche Filter werden angewendet?
Bestimmen Sie Auflösung, Empfindlichkeit und Messunsicherheit des Sensors.
Bewertung der Sensordaten
Welche Fehler treten in welchem Verarbeitungsschritt auf?
Stellen Sie die Messunsicherheit bzw. das Vertrauensintervall dar.
Einleitung
In dem Projekt wird ein Ultraschall-Sensormodul (HC-SR04) in betrieb genommen. Ebenfalls wird ein LCD-Display über die Schnittstelle iC2 angeschlossen, auf dem die Distanz angezeigt wird. Es wird das Arbeitsprinzip von einem HC-SR04 erläutert. Ebenfalls wird beschrieben, wie eine Messung mit Ultraschall Funktioniert und von welchen wesentlich Faktoren diese Abhängt. Die Inbetriebnahme wird mit den Arduino Board UNO durchgeführt. Zu Erläuterung wird ein Ausschnitt vom Seriellen Monitor gezeigt und erläutert welche Rohsignale (RAW) vom HC-SR04 an den Arduino gesendet werden. Des Weiteren wird die Softwareseitige Verarbeitung der Signale erklärt und wie der HC-SR04 mit dem vom Arduino in betrieben werden kann.
Technische Übersicht
Ultraschall Abstandssensor HC-SR04
Eigenschaft | Daten |
---|---|
Spannungsversorgung |
VCC 5 V |
Stromaufnahme |
15 mA |
Messbereich | 3 cm bis ca. 400 cm |
Messintervall | 0,3 cm |
Messung pro Sekunde | max. 50 |
Messfrequenz |
40 Hz |
Messkegel |
ca. 15° Hz |
Abmessung (l,b,h) |
45 mm x 25 mm x 20 mm |
Kompatibel mit |
Raspberry Pi, Arduino, pcDuino |
Pin | Funktion |
---|---|
1. VCC-Pin |
5 V |
2. Trigger-Pin |
TTL-Pegel |
3. Echo-Pin | Messergebnis, TTL-Pegel |
4. GND | 0 V |
LCD1602
Pin | Funktion | Einheit |
---|---|---|
1. Modulgröße |
87,0Lx32,0Wx13,0H V |
mm |
2. Bereich anzeigen |
64,5×16,0 |
mm |
3. Anzahl der Zeichen |
M16×2 Zeilen |
- |
4. Character Size | 2.96×5.56 V |
mm |
Prinziperklärung
Equipment
Verwendete Software
Für die Abarbeitung der obgenannten Aufgabestellungen wurde folgenden Software verwendet:
- Arduino Software IDE 1.8.13
- MATLAB/Simulink 2020b
- Fritzing
- Tortoise SVN
Verwendete Komponente
Für die Abarbeitung der obgenannten Aufgabestellungen wurde folgenden Komponente eingesetzt:
- Ultraschall Abstandssensor: HC-SR04
- LCD Display mit I2C Anschluss
- Arduino UNO R3 (AZ-Delivery Edition)
Messkette
Die Messkette des HC-SR04. In dem Bild ist die Rückseite der Platine zu erkennen mit den Beschrifteten Bauteilen.
Die Messkette des HC-SR04. In dem Bild sind die Schaltung und die Bauteile zu erkennen.
Schaltkreis des HC-SR04
Der Sensor besteht aus drei verschieden Teilen, die im Zusammenspiel eine Ultraschallmessung möglich ermöglichen. Die Recheneinheit stellt der Mikroprozessoren der mit dem Sender und dem Empfänger verbunden ist. Ebenfalls befinden sich auf dem Board Verstärkerschaltungen und Filter.
Mikrocontroller U1 EM78P153S 8-Bit-Mikroprozessor
Der Mikrocontroller auf dem Board hat verschiedene Aufgaben. Einerseits stellt er die Schnittstelle, in dieser Arbeit die Verbindung zum Arduino über die Trig- und Echo-Pins. Des weiteren koordiniert er das Timing ein gegenphasigen Burstsignal, um einen Ping zu erzeugen und Schaltete den Empfänger Zeitweise aus um Fehler zu Vermeiden. Ebenfalls empfängt der das Vorverarbeitete Signal vom Empfänger.
Sender U3
Der Sender U3 verarbeitet die die eingehenden Signale vom Mikroprozessor und Verstärkt das Signal um den Lautsprecher US2 anzutreiben.
Empfänger U2
Bei dem Empfänger handelt es sich um einen Quad-Operationsverstärker-IC LM324. Das Empfangen erfolgt über vier Operationsverstärker. Die Kondensatoren C1, C3 und C4 sorgen sich um die Wechselstromkopplung zwischen den drei Stufen. Die erste Stufe (U2D, R1 und R2) ist ein invertierender Verstärker. Die zweite Stufe (U2C, C2, C3 und R5) ist ein Bandpassfilter. Bei der dritten Stufe Handelt es sich ebenfalls um ein Verstärker. Die vierte Operationsverstärkerstufe ist ein Hysteresekomparator mit variabler Schwelle und Ausgangsschalter.
Hardwareaufbau
Datenblätter
Schaltung des Bauteils
Der Hardwareaufbau besteht aus dem Anschluss des Ultrasschallsensors und dem LCD-Display. Der HC-SR04 benötigt vier Anschlüsse. Es werden VCC und GND für die Versorgungsspannung benötigt. Die anderen beiden sind für den Trigger Impulse und das Echo Signal. Der Trigger-Pin wird auf Pin 10 am Arduino angeschlossen und wird in der Software als Output-Pin deklariert. Echo-Pin wird auf Pin 11 am Arduino angeschlossen und liefert das Messergebnis vom Ultraschallsensors. In der Software wird das Signal als Input-Pin deklariert.
Das LCD-Display ist fest mit einem LMC1620 IIC verbunden. Dieses Modul erleichtert die Kommunikation mit dem Arduino erheblich. Durch iC2 können die benötigten Pins auf vier reduziert werden. VCC und GND werden für die Spannungsversorgung eingesetzt. Die Anschlüsse Serial Data Line (SDA) und Serial Clock Line (SCL) vom LMC1620 IIC werden für die Kommunikation mit dem Arduino benötigt und an die Analog-Pins A4 und A5 angeschlossen. Das Bord enthält ebenfalls noch ein Potentiometer zum Einstellen der Hintergrundbeleuchtung.
Prinziperklärung Ultraschallmessung
Das Prinzip eines Ultraschallsensormoduls ist ein Laufzeitverfahren. Der HC-SR04 enthält ein Lautsprecher welches einen Ultraschall Impuls aussendet. Dieses Signal wird beim auftreffen auf einen Widerstand ( Ein Physisches Objekt ) reflektiert wie ein Echo. Wenn das Reflektierte Signale zurückkommt wird es rechten Sensor wieder aufgenommen. Um die Distanz zu dem Objekt zu bestimmen wird die Zeit vom Ausgehenden Signal bis zum wieder eintreffen des Echos gemessen. Durch die Schallgeschwindigkeit und die Verstrichene Zeit kann durch eine Berechnung eine Zeit ermittelt werden.
Der Sensor ist Intern so aufgebaut, dass der Lautsprecher Getriggert werde kann und eine Hochfrequentes Signal von 40kHz aussendet wird. Wenn dieses Signal zurückkommt wird dieses Digital aufgenommen. Das Signal an den Arduino ist entweder eine 0 kein Signal oder eine 1 Signal empfangen.
Schaltplan und Steckplatine
Softwarearchitektur
Signalverarbeitung
Mathematisches Hilfsmittel
Umwelteinflüsse auf die Messung
Um Schallgeschwindigkeit zu berechnen ist es wichtig, sich mit den äußeren Gegebenheiten auseinander zu setzten. Die Schallgeschwindigkeit ist abhängig vom der Elastizität, Dichte und der Temperatur. In diesem Versuch wird die Temperatur nicht gemessen. Der Versuch wird in einem geschlossenen Raum durchgeführt deswegen wird festgelegt, dass mit einer Schallgeschwindigkeit von 343,5 m/s gerechnet wird.
Die Schallgeschwindigkeit bei Trockener Luft und einer Temperatur von 20°C betragt 343,5 m/s (1236 km/h). Wir nehmen bei unseren Berechnungen 343,5 m/s als Schallgeschwindigkeit an.
Übersicht der Schallgeschwindigkeit bei Temperatur
Temperatur | Schallgeschwindigkeit [m/s] | Schallgeschwindigkeit [km/h] |
---|---|---|
-50 |
299,63 |
1079 |
-40 |
306,27 |
1103 |
-30 |
312,77 |
1126 |
-20 |
319,09 |
1149 |
-10 |
325,35 |
1171 |
0 |
331,50 |
1193 |
10 |
337,54 |
1215 |
20 |
343,46 |
1236 |
30 |
349,29 |
1257 |
40 |
254,94 |
1278 |
50 |
360,57 |
1298 |
Für trockene Luft Molmasse
Umwelteinflüsse auf die Messung
Umgang mit der Messunsicherheit
Bewertung des Sensors
Vorteile
Nachteile
Alternative
Zusammenfassung
Lernerfolg
YouTube Video
Schwierigkeitsgrad
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
https://cdn-reichelt.de/documents/datenblatt/A300/SEN-US01-DATASHEET.pdf
https://www.sunfounder.com/learn/sensor-kit-v2-0-for-arduino/lesson-1-display-by-i2c-lcd1602-sensor-kit-v2-0-for-arduino.html
https://www.mouser.com/pdfdocs/DFR0464Datasheet.pdf
https://elektro.turanis.de/html/prj121/index.html#:~:text=Ultraschallmodul%20HC%2DSR04,-Beschreibung&text=Nach%20Triggerung%20mit%20einer%20fallenden,Messungen%20pro%20Sekunde%20durchgef%C3%BChrt%20werden.
https://arduino-projekte.webnode.at/meine-libraries/ultraschallsensor/
https://www.rahner-edu.de/mikrocontroller/prop-sensoren-et-al/ultraschallsensor/
3. https://elektro.turanis.de/html/prj121/index.html
→ zurück zur Übersicht: ST WS2020 (MTR)
- ↑ https://www.banggood.com/3Pcs-HC-SR04-Ultrasonic-Module-with-RGB-Light-Distance-Sensor-Obstacle-Avoidance-Sensor-Smart-Car-Robot-Geekcreit-for-Arduino-products-that-work-with-official-Arduino-boards-p-1608924.html?rmmds=detail-topright-recommendation1&cur_warehouse=CN
- ↑ https://www.banggood.com/Wholesale-Geekcreit-Ultrasonic-Module-HC-SR04-Distance-Measuring-Ranging-Transducers-Sensor-DC-5V-2-450cm-p-40313.html?akmClientCountry=America&&utm_source=google&utm_medium=cpc_ods&utm_campaign=arvin-cam-sds-view-telscope-content-pc&utm_content=arvin&gclid=Cj0KCQiA2af-BRDzARIsAIVQUOdUqObSv6DEN3AAWBKRlD20KRye4_nSknpvvVbfCFtrdvdgr818smgaAuVREALw_wcB&cur_warehouse=UK
- ↑ http://www.pcserviceselectronics.co.uk/arduino/Ultrasonic/HC-SR04-cct.pdf
- ↑ https://wolles-elektronikkiste.de/hc-sr04-und-jsn-sr04t-2-0-abstandssensoren