ADJHSHLSD

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
HC-SR04 [1]

Autor: Lukas Honerlage
Betreuer: Prof. Schneider

Einleitung

In dem Projekt wird ein Ultraschall-Sensormodul (HC-SR04) in Betrieb genommen. Es wird das Arbeitsprinzip von einem HC-SR04 erläutert. Ebenfalls wird beschrieben, wie eine Messung mit Ultraschall funktioniert und von welchen wesentlichen Faktoren diese abhängt. Die Inbetriebnahme wird mit den Arduino Board UNO durchgeführt. Zu Erläuterung wird ein Ausschnitt des seriellen Monitors 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.

Technische Übersicht

Ultraschall Abstandssensor HC-SR04

Eigenschaft Daten[1]
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°
Abmessung (l,b,h)
45 mm x 25 mm x 20 mm


Pin Funktion[2]
1. VCC-Pin
5 V
2. Trigger-Pin
TTL-Pegel
3. Echo-Pin Messergebnis, TTL-Pegel
4. GND 0 V

Prinziperklärung

Equipment

Verwendete Software

Für die Abarbeitung der obgenannten Aufgabestellungen wurden folgende Softwares verwendet:

  • Arduino Software IDE 1.8.13
  • MATLAB/Simulink 2020b
  • Fritzing
  • Tortoise SVN

Verwendete Komponente

Für die Abarbeitung der obgenannten Aufgabestellungen wurden folgende Komponenten eingesetzt:

  • Ultraschall Abstandssensor: HC-SR04
  • LCD Display mit I2C Anschluss
  • Arduino UNO R3 (AZ-Delivery Edition)

Messkette

Die Analyse der Messkette fängt mit der Betrachtung des Sensors an. Die zweit untenstehenden Bilder Veranschaulichen den Aufbau des HC-SR04 und zeigen die Einzelnen Bauteile auf deren Bedeutung im weiteren verlauf noch näher eingegangen wird. Die Messkette des HC-SR04 dient zur Auswertung des Sensors. In dem Bild ist die Rückseite der Platine mit den beschrifteten Bauteilen abgebildet.


Interner Schaltplan des Moduls [2]
Interner Schaltplan des Moduls[3]

Schaltkreis des HC-SR04

Der Sensor besteht aus drei verschieden Teilen, die im Zusammenspiel eine Ultraschallmessung ermöglichen. Die Recheneinheit stellt der Mikroprozessor dar, welcher mit dem Sender und dem Empfänger verbunden ist. Ebenfalls befinden sich auf dem Board Verstärkerschaltungen und Filter.


Mikrocontroller U1

Der EM78P153S 8-Bit-Mikroprozessor auf dem Board hat verschiedene Aufgaben. Einerseits stellt er die Schnittstelle, in dieser Arbeit die Verbindung zum Arduino über die Trigger- und Echo-Pins. Andererseits koordiniert er das Timing eines gegenphasigen Burstsignals, um einen Ping zu erzeugen und den Empfänger zeitweise auszuschalten, um Fehler zu vermeiden. Ebenfalls empfängt der das vorverarbeitete Signal vom Empfänger.

Sender U3

Der Sender U3 verarbeitet die eingehenden Signale vom Mikroprozessor und verstärkt das Signal, um den Ultraschallsender in Schwingung zu versetzen. Der Chip enthält an dem Sensor mit dem die Messung durchgeführt wird keine Beschriftung. Hierbei ist aber anzunehmen das es sich Ebenfalls wie in dem Beispielbild um den Chip RCWL-9206 handelt oder ein Funktionsgleicher anderer.

Empfänger U2

Der Empfängen Chip U2 ist auf dem HC-SR04 und dem Beispielbild ebenfalls nicht zuerkennen deswegen kann zu diesem keine genaue Annahme getroffen werden. 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.[4] Die zweite Stufe (U2C, C2, C3 und R5) ist ein Bandpassfilter.[5] Bei der dritten Stufe handelt es sich ebenfalls um einen Verstärker. Die vierte Operationsverstärkerstufe ist ein Hysteresekomparator mit variabler Schwelle und Ausgangsschalter.[6] [4]

Aufbau Empfänger/Sender [7]


Prinziperklärung Ultraschallmessung

Das Prinzip eines Ultraschallsensormoduls ist ein Laufzeitverfahren. Der HC-SR04 enthält ein Ultraschallsender 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 vom (HC-SR04 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 der Microcontroller misst die Zeit vom der ausgesandten steigende Flanke bis zur wieder eintreffenden steigenden Flanke vom Sensor der das Signal Empfängt. Durch die Schallgeschwindigkeit und die Verstrichene Zeit kann durch eine Berechnung eine Distanz ermittelt werden. Da Schallwellen die Strecke einmal hin und wieder zurück zurücklegen müssen muss die gemessene Zeit noch durch zwei gemessen werden.[3]

Timing des HC-SR04 [8]



Ebenfalls ist der Sensor, wenn er in Schwingungen gebracht wird, in der Lage einen elektrischen Strom zu erzeugen. Durch diesen Effekt erzeugen die reflektierten Signale einen sehr kleinen Strom. Da der generierte Strom nur sehr gering ist, muss dieses Signal deutlich verstärkt werden, um ihn mit dem Microcontroller zu verarbeiten. Durch die benötigte Verstärkung gibt es auf dem HC-SR04 zwei solcher Sensoren. Einen Sensor, der angeregt wird, um das Ultraschallsignal zu erzeugen und der andere Sensor zur Wiederaufnahme des Signals.[8][3]



















Prinzip der Ultraschallmessung mit dem HC-SR04

Um eine Messung durchzuführen muss der Trigger-Eingang für 10µs (0,00001s) auf High gesetzt werden. Im Anschluss sendet der Sensor acht kurze Rechteckwelle von 40kHz in ungefähr 200µs (0,0002s) direkt danach wird der Echo Pin auf High gesetzt das Signal bleibt solange auf High bis das reflektierende Signal wieder empfangen wird. Wenn kein Reflektierendes Signal zurückkommt wird nach 170ms (0,17s) trotzdem wieder auf Low gesetzt. Die Messung wird als gescheitert betrachtet.[4]

Prinzipien der Entfernungsmessung [9]



















Signale des HC-SR04 im Oszilloskop

Im Oszilloskop können die Signale die vom HC-SR04 gesendet werden sichtbar gemacht werden. Hier ist schön zu erkennen, wie am Anfang das Signal kurz auf High gesetzt wird. Im Anschluss erfolgt dann der Burst von 8 x 40 kHz-Impulsen. Ebenfalls ist am Echo Ausgang zu sehen, das nach den 8 Impulsen der Ausgang auf High gesetzt wird. Wenn das erste Signal zurückkommt fällt die Flanke wieder. Dieses Prinzip findet beim Konstanten Messen in einer Schleife statt.[5]

Prinzipien der Entfernungsmessung im Oszilloskop [10]













Softwarearchitektur

Auswertung der Messwerte des HC-SR04

Das auslesen des Sensors ist nicht sehr umfangreich, da ein großer Teil vom Sensor direkt übernommen wird. Es muss lediglich festgelegt werden, wann das Signal ausgesendet wird. Das aussenden geschieht Digital, indem der Trigger-Pin für 5ms auf High gesetzt wird und danach wird auf Low. Das auslesen des Echo Pin erfolgt ebenfalls Digital. In der Arduino IDE gibt es bereits eine Funktion, in der die Zeit gemessen wird wie lange ein Pin auf High gesetzt ist. Durch diese Funktion wird die Zeit des gemessen wie lange der Echo-Pin auf High ist. Dieser Wert wird im Anschluss umgerechnet in die Distanz in cm. Um Messunsicherheit auszuschließen, wird der Wert immer auf eine ganze Zahl gerundet. Das errechnete Ergebnis wird im Anschluss in dem Seriellen Monitor der Arduino IDE ausgegeben. Dieser Ablauf erfolgt dauerhaft in einer Schleife.







Signalverarbeitung

Messungen am Empfänger Sensor

Um einen Rückschluss darüber ziehen zu können, ob es Analog möglich ist über den eingehenden Strom eine Distanz zu ermitteln, wurde an den HC-SR04 an den Pins des Ultraschallempfänger jeweils ein Kabel angelötet. Aus den Ermittelten Werten kann festgestellt werden, dass in kurzer Distanz noch ein Unterschied festgestellt werden kann, diese Werte schwanken aber trotz gleicher Distanz. Eine Analoge Entfernungsmessung ist damit nicht möglich.

Distanz in [cm] Spannung in [mA]
5
0,1-0,3
10
0,1-0,2
50
0,1-0,2
100
0,1
150
0,1
200
0,1
250
0,1

Analog-Digital-Umsetzer

Um trotzdem eine Messung durchführen zu können, werden die niedrige Spannungen Verstärkt und gefilterte. Im dem Mikroprozessor EM78P153 wird dieses Signal im Anschluss in ein Digitales 5 Volt High oder Low Signal umgewandte. Was über den Trigger-Pin ausgelesen werden kann.

Bussystem

Der HC-SR04 enthält kein Bussystem.

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. Um eine Exakte Messungen bei Unterschiedlichen Umweltbedingungen durchzuführen muss konstant die Temperatur, höhe vom Meeresspiegel und die Luftfeuchte gemessen werden. In der Atmosphäre nimmt die Schallgeschwindigkeit mit der Höhe ab. Mit diesen Werten kann die Momentane Schallgeschwindigkeit Berechnet werden unter Berücksichtigung der äußeren Umwelteinflüsse. Bei dem HC-SR04 wird keine Messung der äußeren Einflüsse durchgeführt. Alle Versuche sind in einem geschlossenen Raum durchgeführt so dass mit einer Schallgeschwindigkeit von 343,5 m/s gerechnet wird.
[11]


Übersicht der Schallgeschwindigkeit bei Temperatur

Temperatur [°C] Temperatur [K] Schallgeschwindigkeit [m/s] Schallgeschwindigkeit [km/h]
-50
223,15
299,63
1079
-40
233,15
306,27
1103
-30
243,15
312,77
1126
-20
253,15
319,09
1149
-10
263,15
325,35
1171
0
273,15
331,50
1193
10
283,15
337,54
1215
20
293,15
343,46
1236
30
303,15
349,29
1257
40
313,15
254,94
1278
50
323,15
360,57
1298

Die Schallgeschwindigkeit bei Trockener Luft und einer Temperatur von 20°C betragt 343,5 m/s (1236 km/h).[11] Bei der Programmierung des Sensors wird ein Schallgeschwindigkeit von 343,5 m/s als Grundlage zum bestimmen der Entfernung genommen.


Mathematisches Hilfsmittel


Lautstärke berechnen

Die erzeugte Lautstärke wird direkt vom Sensor übernommen und kann von außen nicht beeinflusst werden. Bei dem Ultraschallsenders lässt sich die Lautstärke mit der Formel des Schalldruckpegel berechnen.

(S.P.L.) =Sound pressure level
= Schalldruck des Sensors
= Referenzschalldruck



Die Laustärke des Sensors beträgt auf dem HC-SR04 100db.
Nach 0,5 Meter sind es nur noch 80db. [6]


Berechnung der Schallgeschwindigkeit

Um eine exakte Messung der Schallgeschwindigkeit durchzuführen müssen alle Umwelteinflüsse die sich auf die Geschwindigkeit der Schalls Auswirken betrachtet werden. Die wesentliche Geschwindigkeit hängt von der [12]

Für trockene Luft Molmasse in Meereshöhe
Für das zweiatomige Gas Sauerstoff

ist die universelle Gaskonstante in Joule pro Kelvin mal Mol


ist die Temperatur in Kelvin bei 20°C





Umgang mit der Messunsicherheit

Um die Umrechnung einfach zu Gestaltung gibt es eine Näherungs Formel, die mit einer Genauigkeit von 99,8% den Messbereich von -20°C bis 40°C abbildet. Da bei in unserm Sensor nur auf cm runden ist die Messunsicherheit von 0,2% zu vernachlässigen. Was nicht zu vernachlässigen ist, ist die Temperatur. Bei 0°C bis +20°C entsteht ein Messunsicherheit von 3,49% von -20°C bis 20°C entsteht sogar ein Messunsicherheit von 6,99%. Bei genauen Messung bei großen Temperatur Schwankungen sollten eine Temperatur Messung in die Berechnung mit einfließen. Untenstehende Tabelle verdeutlicht die Laufzeit bei unterschiedlicher Temperatur. [12]


Distanz zum Objekt [cm] Laufzeit in [ms] bei 20°C Laufzeit in [ms] bei 0°C Laufzeit in [ms] bei -20°C
2
0,1164
0,1206
0,1251
5
0,2911
0,3016
0,3129
10
0,5822
0,6033
0,6259
25
1,4556
1,5082
1,5649
50
2,9112
3,0165
3,1289
100
5,8224
6,0331
6,2597
150
8,7336
9,0497
9,3896
200
11,6448
12,0663
12,5195
250
14,5560
15,0829
15,6494
300
17,4672
18,0995
18,7793

Bewertung des Sensors

Vorteile

Die Vorteile des Sensors sind, dass er für unter 5 Euro zu bekommen ist. Für den Preis bietet der Sensor eine gute Möglichkeit, den Abstand von 3 cm bis 250cm auf 1 cm genau zu bestimmen. Ebenfalls liegt der Vorteil darin, dass der Sensor einen großenteil des Messens selbständig übernimmt. Hierdurch ist er Ressourcen sparend beim Auslesen des Sensors.

Nachteile

Die Nachteile des Sensors sind das der Sensor keine Temperatur Messung mit inbegriffen hat, der den Umweltbedingen entgegenwirkt. Des weiteren ist nur eine Messung von 3cm bis 250 cm möglich. Es ist nicht möglich eine Entfernung auf mm genau zumessen. Ebenfalls ist die Bauweise des Sensors so das Sender/Empfänger und die Interne Verarbeitung sich auf einer Platine befinden. Durch diese Bauweise ist der Sensor sehr groß.

Alternative

Bei den Ultraschallsensoren gibt es noch weiter Unterschiede. Spezifisch dem Anwendungsfall muss betrachtetet werden, ob die Eigenschafen des Sensors ausreichen. Der AJ-SR04M kann z.B. eine längere Distanz messen aber erst ab einer Reichweite von 0,25 Metern. Ebenfalls spielt die Bauform, Langlebigkeit und Preis eine Wichtige Rolle bei der Auswahl des Richtigen Sensors.


UST-40T LED Abstandssensor GP2-1080K [13]

AJ-SR04M

Sensor Spezifikationen[7]
Technologie
Ultraschall
Mindestbereich (m)
0,25m
Maximale Reichweite (m)
5m
Genauigkeit
+/- 1%
Typische Aktualisierungsrate (Hz)
40 kHz
Eingangsspannung 5,0V
Max. Dauerstromverbrauch (mA)
30,0mA
Schnittstellen
Digital







Um die Entfernung zu messen gibt es noch eine ganze Reihe an Alternativen. Es besteht z.B. die Möglichkeit die Entfernung mit LED, LiDAR oder VCSEL Technologie zu messen. Ebenfalls muss hier der Anwendungsfall betrachtet werden da die Sensoren sehr Unterschiedliche Eigenschaften besitzen.


UST-40T LED Abstandssensor GP2-1080K [14]

Sharp GP2Y0A21YK0F

Sensor Spezifikationen[8]
Technologie
LED
Mindestbereich (m)
0,10m
Maximale Reichweite (m)
0,80m
Genauigkeit
+/- 1%
Typische Aktualisierungsrate (Hz)
26Hz
Wellenlänge (Licht) (nm)
850 nm
Eingangsspannung 4,5V - 5,5V
Max. Dauerstromverbrauch (mA)
30,0mA
Schnittstellen
Analog


UST-40T LED Abstandssensor GP2-1080K [15]


MINI-S

Sensor Spezifikationen[9]
Technologie
LIDAR
Mindestbereich (m)
0,1m
Maximale Reichweite (m)
12m
Genauigkeit
+/- 1%
Typische Aktualisierungsrate (Hz)
26Hz
Wellenlänge (Licht) (nm)
850 nm
Eingangsspannung 5,0V
Max. Dauerstromverbrauch (mA)
30,0mA
Schnittstellen
Analog


UST-40T LED Abstandssensor GP2-1080K [16]


MINI-S

Sensor Spezifikationen[10]
Technologie
VCSEL
Mindestbereich (m)
0,1m
Maximale Reichweite (m)
2m
Auflösung (mm)
1mm
Genauigkeit
+/- 1%
Typische Aktualisierungsrate (Hz)
10Hz
Wellenlänge (Licht) (nm)
850 nm
Eingangsspannung 5,0V
Max. Dauerstromverbrauch (mA)
15,0mA
Schnittstellen
IC2

Zusammenfassung

Zusammenfassend ergibt der Sensor ein gutes Gesamtpaket ab. Er kann zuverlässig Ultraschallwellen auf eine Entfernung von 3-250 cm senden und Empfangen. Auf die Entfernung Reflektierenden Schallwellen sind stark genug den Ultraschallempfänger in Schwingung zu bringen so das ein messbares Signal entsteht. Durch die Interne Signalverarbeitung auf dem Sensor ist Sensor sehr einfach einzusetzen. Es Muss lediglich ein Startimpuls von 3,3V - 5V gesendet werden und die Zeit gemessen werden, wie Langer sich der EchoPin auf High befindet. Hierrüber kann dann durch eine Einfache Umrechnung die Distanz berechnet werden. Der Umgang mit den Messfehler muss bei diesem Sensor extern betrachtet werden. Auftretende Fehler können mit einer Temperatur Messung und diesen Wert in der Formel ergänzt behoben werden.

Lernerfolg

YouTube Video

Schwierigkeitsgrad

Quellenverzeichnis

  1. 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
  2. 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
  3. http://www.pcserviceselectronics.co.uk/arduino/Ultrasonic/HC-SR04-cct.pdf
  4. 4,0 4,1 Federau, Joachim: Operationsverstarker Lehr- und Arbeitsbuch zu angewandten Grundschaltungen. Wiesbaden: Vieweg + Teubner, 4. Auflage 2006. ISBN 978-3-8348-0183-8. S.44ff,S.63ff
  5. Shenoi, Belle A.: Introduction to digital signal processing and filter design/ B.A. Shenoi. Hoboken, NJ: Wiley, 1. Auflage 2005. ISBN 9780471464822.S.150ff
  6. Ehrhardt, Dietmar: Verstärkertechnik. Braunschweig/Wiesbaden: Vieweg+Teubner Verlag, 1. Auflage 1992. ISBN 978-3-322-83026-5. S.170ff
  7. https://cdn-reichelt.de/documents/datenblatt/B400/ULTRASCHALL%20SENSOR.pdf
  8. https://cdn-reichelt.de/documents/datenblatt/B400/ULTRASCHALL%20SENSOR.pdf
  9. https://wolles-elektronikkiste.de/hc-sr04-und-jsn-sr04t-2-0-abstandssensoren
  10. http://www.pcserviceselectronics.co.uk/arduino/Ultrasonic/
  11. 11,0 11,1 Douglas, Giancoli: Physik Lehr- und Übungsbuch. München: Pearson Studium ein Imprint von Pearson Deutschland, 3. Auflage 2009.
  12. 12,0 12,1 Owen, Cramer: The variation of the specific heat ratio and the speed of sound in air with temperature, pressure, humidity. In: The Journal of the Acoustical Society of America. Bd. 93(5), S. 2510, 1993.ff
  13. https://www.amazon.de/Ultraschallwellen-Entfernungs-Messbrett-Ranging-Wasserdichtem/dp/B076SWF5FV/ref=sr_1_1_sspa?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=JSN-SR04T+Wasserdichtes+Ultrasonic+Ultraschall+Modul+Entfernungsmesser+AJ-SR04M&qid=1607934753&sr=8-1-spons&psc=1&smid=A5QX2SUPA7LK7&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEzOEtKTVBRWDFXNTcmZW5jcnlwdGVkSWQ9QTA1NTU0NTIzU0c4VTVERU1GREFZJmVuY3J5cHRlZEFkSWQ9QTAwNjc1NzZYRlJSSFFYOEY4RkMmd2lkZ2V0TmFtZT1zcF9hdGYmYWN0aW9uPWNsaWNrUmVkaXJlY3QmZG9Ob3RMb2dDbGljaz10cnVl
  14. https://www.reichelt.de/index.html?ACTION=446&LA=3&nbc=1&q=gp2-1080k
  15. https://www.reichelt.de/benewake-tfmini-s-lidar-12m-tf-mini-s-p287742.html?&trstct=pos_1&nbc=1
  16. https:https://www.distrelec.de/de/tof-distanzmessgeraet-vl6180x-5v-adafruit-3316/p/30129217?channel=b2c&price_gs=14.4536&source=googleps&ext_cid=shgooaqdede-na&kw=%7Bkeyword%7D&&s_kwcid=AL!8921!3!474063074157!!!g!923944572423!&s_kwcid=AL!8921!3!474063074157!!!g!923944572423!&gclid=CjwKCAiAlNf-BRB_EiwA2osbxfaheMtmFWuSdwb4ZWtsX4bXe5vNK3-nBIgD5-tEjEnELvDMPUxk1hoCkz8QAvD_BwE

→ zurück zum Hauptartikel: Sensortechnik WS 20/21