Ultraschall Abstandssensor HC-SR04: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(156 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:Bild-SR04.jpg|512px|thumb|rechts|Abbildung 1: HC-SR04 <ref> 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 </ref>]]
[[Datei:Bild-SR04.jpg|512px|thumb|rechts|Abbildung 1: HC-SR04 <ref> BANGGOOD: ''Ultraschallmodul HC-SR04''. URL: 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, 20. Januar 2021 </ref>]]
'''Autor:''' [[Benutzer:Lukas Honerlage|Lukas Honerlage]] <br/>
'''Autor:''' [[Benutzer:Lukas Honerlage|Lukas Honerlage]] <br/>
'''Betreuer:''' [[Benutzer:Ulrich_Schneider| Prof. Schneider]]<br/>
'''Betreuer:''' [[Benutzer:Ulrich_Schneider| Prof. Schneider]]<br/>
Zeile 6: Zeile 6:




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.
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. Zur Veranschaulichung 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 ==
== Technische Übersicht ==
Zeile 13: Zeile 13:




{| class="mw-datatable"
{| class="wikitable"
! style="font-weight: bold;" | Eigenschaft
! style="font-weight: bold;" | Eigenschaft
! style="font-weight: bold;" | Daten <ref name = 'DatenblattHC-SR04'> Joy-IT.: ''Ultrasonic Distance Sensor''. 2017. Online im Internet: https://cdn-reichelt.de/documents/datenblatt/A300/SEN-US01-DATASHEET.pdf Abruf: 23.12.2020</ref>
! style="font-weight: bold;" | Daten <ref name = 'DatenblattHC-SR04'> Joy-IT.: ''Ultrasonic Distance Sensor''. 2017. URL: https://cdn-reichelt.de/documents/datenblatt/A300/SEN-US01-DATASHEET.pdf, 23. Dezember 2020</ref>
|-
|-
| Spannungsversorgung<br/> || VCC 5 V <br/>
| Spannungsversorgung<br/> || VCC 5 V <br/>
Zeile 35: Zeile 35:




{| class="mw-datatable"
{| class="wikitable"
! style="font-weight: bold;" | Pin
! style="font-weight: bold;" | Pin
! style="font-weight: bold;" | Funktion <ref name = 'DatenblattHC-SR04'/>
! style="font-weight: bold;" | Funktion <ref name = 'DatenblattHC-SR04'/>
Zeile 57: Zeile 57:
</gallery>
</gallery>


Der Hardwareaufbau besteht aus dem Anschluss des Ultrasschallsensors an den Arduino UNO. 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 die Trigger Impulse und das Echo Signal. Der Trigger-Pin wird auf Pin 12 am Arduino angeschlossen und wird in der Software als Output-Pin deklariert. Der Echo-Pin wird auf Pin 10 am Arduino angeschlossen und liefert das Messergebnis vom Ultraschallsensors. In der Software wird das Signal als Input-Pin deklariert.<br>
Der Hardwareaufbau besteht aus dem Anschluss des Ultrasschallsensors an den Arduino UNO. 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 die Trigger Impulse und das Echo Signal. Der Trigger-Pin wird auf Pin 12 am Arduino angeschlossen und wird in der Software als Output-Pin deklariert. Der Echo-Pin wird auf Pin 10 am Arduino angeschlossen und liefert das Messergebnis vom Ultraschallsensor. In der Software wird das Signal als Input-Pin deklariert.<br>


==Equipment==  
==Equipment==  
===Verwendete Software===
===Verwendete Software===
Für die Abarbeitung der obgenannten Aufgabestellungen wurden folgende Softwares verwendet:  
Für die Erarbeitung der oben genannten Aufgabenstellungen wurden folgende Softwares verwendet:  
* Arduino Software IDE 1.8.13
* Arduino Software IDE 1.8.13
* MATLAB/Simulink 2020b
* MATLAB/Simulink 2020b
* Fritzing
* Fritzing
* Tortoise SVN
* TortoiseSVN


===Verwendete Komponente===
===Verwendete Komponente===
Für die Abarbeitung der obgenannten Aufgabestellungen wurden folgende Komponenten eingesetzt:  
Für die Erarbeitung der oben genannten Aufgabenstellungen wurden folgende Komponenten eingesetzt:  
* Ultraschall Abstandssensor: HC-SR04
* Ultraschall Abstandssensor: HC-SR04
* LCD Display mit I2C Anschluss
* LCD Display mit I2C Anschluss
Zeile 74: Zeile 74:


==Messkette==
==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 Analyse der Messkette fängt mit der Betrachtung des Sensors an. Die unten stehenden Abbildungen veranschaulichen den Aufbau und die einzelnen Bauteile des HC-SR04. Die genaue Bedeutung dieser wird im Nachgang genauer erklärt. Die Messkette des HC-SR04 dient zur Auswertung des Sensors. In der Abbildung 4 ist die Rückseite der Platine mit den beschrifteten Bauteilen abgebildet.  
Die Messkette des HC-SR04 dient zur Auswertung des Sensors. In dem Bild ist die Rückseite der Platine mit den beschrifteten Bauteilen abgebildet.  




[[Datei:Messkette HC-SR04 Bild Platine.jpg|400px|thumb|links|Abbildung 4: Interner Schaltplan des Moduls <ref> 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 </ref>]]
[[Datei:Messkette HC-SR04 Bild Platine.jpg|400px|thumb|links|Abbildung 4: Interner Schaltplan des Moduls <ref> BANGGOOD: ''Ultraschallmodul HC-SR04''. URL: 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, 20. Januar 2021</ref>]]
[[Datei:Schaltplan HC-SR04.jpg|400px|thumb|links|Abbildung 5: Interner Schaltplan des Moduls<ref> http://www.pcserviceselectronics.co.uk/arduino/Ultrasonic/HC-SR04-cct.pdf </ref>]]
[[Datei:Schaltplan HC-SR04.jpg|400px|thumb|links|Abbildung 5: Interner Schaltplan des Moduls<ref> PC Services: ''HC-SR04''. URL: http://www.pcserviceselectronics.co.uk/arduino/Ultrasonic/HC-SR04-cct.pdf, 15. Januar 2021 </ref>]]


===Schaltkreis des HC-SR04===
===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 Chips für die Interne Verarbeitung der Signale und Verstärker und Filterschaltungen.
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 der Platine die Board Chips für die interne Verarbeitung der Signale, Verstärker und Filterschaltungen.


===Mikrocontroller U1 ===
===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.
Der EM78P153S 8-Bit-Mikroprozessor auf dem Board hat verschiedene Aufgaben. Einerseits stellt er die Schnittstelle dar, 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 wird hierüber das vorverarbeitete Signal vom Empfänger empfangen.


===Sender U3===
===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.
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 anzunehmen, dass es sich analog zu der Abbildung, um den Chip RCWL-9206 handelt oder um einen funktionsgleichen anderen.


===Empfänger U2===
===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.
Der Empfänger Chip U2 ist auf dem HC-SR04 und in der Abbildung nicht zuerkennen, daher 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.<ref name = Federau>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 </ref>
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.<ref name = Federau>Federau, Joachim: ''Operationsverstarker Lehr- und Arbeitsbuch zu angewandten Grundschaltungen''. Wiesbaden: Vieweg + Teubner, 4. Auflage 2006, Seiten 44ff. ISBN: 978-3-8348-0183-8. </ref>
Die zweite Stufe (U2C, C2, C3 und R5) ist ein Bandpassfilter.<ref name = Shenoi>Shenoi, Belle A.: ''Introduction to digital signal processing and filter design/ B.A. Shenoi''. Hoboken, NJ: Wiley, 1. Auflage 2005. ISBN 9780471464822.S.150ff </ref>
Die zweite Stufe (U2C, C2, C3 und R5) ist ein Bandpassfilter.<ref name = Shenoi>Shenoi, Belle A.: ''Introduction to digital signal processing and filter design/ B.A. Shenoi''. Hoboken, NJ: Wiley, 1. Auflage 2005, Seiten 150ff. ISBN: 9780471464822. </ref>
Bei der dritten Stufe handelt es sich ebenfalls um einen Verstärker. Die vierte Operationsverstärkerstufe ist ein Hysteresekomparator mit variabler Schwelle und Ausgangsschalter.<ref name = Ehrhardt>Ehrhardt, Dietmar: ''Verstärkertechnik''. Braunschweig/Wiesbaden: Vieweg+Teubner Verlag, 1. Auflage 1992. ISBN 978-3-322-83026-5. S.170ff</ref> <ref name = 'Federau'/>
Bei der dritten Stufe handelt es sich ebenfalls um einen Verstärker. Die vierte Operationsverstärkerstufe ist ein Hysteresekomparator mit variabler Schwelle und Ausgangsschalter.<ref name = Ehrhardt>Ehrhardt, Dietmar: ''Verstärkertechnik''. Braunschweig/Wiesbaden: Vieweg+Teubner Verlag, 1. Auflage 1992, Seiten 170ff. ISBN: 978-3-322-83026-5. </ref> <ref name = 'Federau'/>


<br><br>
<br><br>
Zeile 100: Zeile 99:


== Primer Sensoren ==
== Primer Sensoren ==
Auf dem HC-SR04 befinden sich 2 Sensoren, die zum einen ein Ultraschall Signal erzeugen können und des anderen diese Ultraschallwellen wieder aufnehmen können. Der linke Sensor auf dem HC-SR04 sendet die Ultraschall Impulse aus. Der rechte Sensor Empfängt diese und wandelt diese in ein Elektrisches Signal um. Die genau Funktionsweise der beiden Sensoren wird unten erläutert.
Auf dem HC-SR04 befinden sich zwei Sensoren, die zum einen ein Ultraschallsignal erzeugen können und zum anderen diese Ultraschallwellen wieder aufnehmen können. Der linke Sensor auf dem HC-SR04 sendet die Ultraschallimpulse aus. Der rechte Sensor empfängt diese und wandelt sie in ein elektrisches Signal um. Die genaue Funktionsweise der beiden Sensoren wird im weiteren Verlauf genauer definiert.
 


[[Datei:Aufbau_Ultraschallsensors.png |300px|thumb|links|Abbildung 6: Aufbau Empfänger/Sender <ref name = 'Datenblatt'/> ]]
[[Datei:Aufbau_Ultraschallsensors.png |300px|thumb|links|Abbildung 6: Aufbau Empfänger/Sender <ref name = 'Datenblatt'/> ]]
[[Datei:Ultraschall_Empfänger.jpg|300px|thumb|links|Abbildung 7: Ultraschallsender/Empfänger, Ø 16mm, H 12mm <ref> https://www.reichelt.de/ultraschallsender-16mm-h-12mm-ust-40t-p22188.html?&nbc=1&trstct=lsbght_sldr </ref>]]
[[Datei:Ultraschall_Empfänger.jpg|300px|thumb|links|Abbildung 7: Ultraschallsender/Empfänger, Ø 16mm, H 12mm <ref> Reichelt: ''Ultraschallsender''. URL: https://www.reichelt.de/ultraschallsender-16mm-h-12mm-ust-40t-p22188.html?&nbc=1&trstct=lsbght_sldr, 20. Januar 2021 </ref>]]
Der Aufbau des Sensors, der Sensor Enthält ein Metall Gehäuse mit einem Drahtgeflecht gegen den äußeren Schutz. Im inneren des Sensors befindet sich ein Mehrfachvibrator, der unter Schwingung gebracht ein Ultraschallsignal erzeugen kann. Ebenfalls ist er in der Lage, durch die Reflektierende Ultraschallwellen in Schwingung gebracht zu werden und ein Elektrischen Strom zu erzeugen. Der Aufbau des Mehrfachvibrator besteht aus einer Metallplatte und einer piezoelektrischen Keramikplatte. Jeder dieser Platten ist mit einem Pin verbunden. Wenn an den Pins Strom angelegt entsteht eine mechanischen Deformation zwischen Platte die in diesem Fall Ultraschall Impuls erzeugen. Um dieses Signal gebündelt nach vorne zu erzeugen befindet sich auf der Metallplatte ein konisches Metallhorn wodurch das Ultraschall Signal nach oben ausgesendet wird. Der Effekt tritt umgekehrt beim Empfangen der Ultraschallsignale auf. Das Horn nimmt die Signale auf und bringt die Platten in eine Leichte Schwingung. Durch die Schwingung entsteht in diesem Fall ein Messbarer Strom. Auf der Platine befinden sich zwei Baugleiche Sensoren. Der Grund warum es zwei sind liegt daran, dass beim Erzeugen Strom hinzugeführt wird um ein Signal zu Senden. Das Reflektierende Signal erzeugt nur einen sehr kleinen Strom. Um dieses Signal zu verarbeiten muss es erst wie oben beschrieben verstärkt und gefiltert werden. Diese beiden schaltreise sind in diesem fall getrennt. <ref name = 'Datenblatt'> Murata
Der Aufbau des Sensors ist in Abbildung 6 dargestellt. Der Sensor enthält ein Metall-Gehäuse mit einem Drahtgeflecht gegen den äußeren Schutz. Im Inneren des Sensors befindet sich ein Mehrfachvibrator, der unter Schwingung ein Ultraschallsignal erzeugen kann. Ebenso kann er durch reflektierende Ultraschallwellen in Schwingung versetzt werden und einen elektrischen Strom erzeugen. Der Mehrfachvibrator besteht aus einer Metallplatte und einer piezoelektrischen Keramikplatte. Jeder dieser Platten ist mit einem Pin verbunden. Wenn an den Pins Strom angeschlossen ist, entsteht eine mechanische Deformation zwischen den Platten, die in diesem Fall Ultraschallimpulse erzeugen. Um dieses Signal gebündelt auszustoßen, befindet sich auf der Metallplatte ein konisches Metallhorn, welches diesen Prozess maßgeblich unterstützt. Der Effekt tritt umgekehrt bei dem Empfangen der Ultraschallsignale auf. Das Horn nimmt die Signale auf und bringt die Platten in eine leichte Schwingung. Durch die Schwingung entsteht in diesem Fall ein messbarer Strom. Auf der Platine befinden sich zwei baugleiche Sensoren. Diese werden benötigt, da bei der Erzeugung eines Ultraschallsignals Strom hinzugeführt wird, um ein Signal zu senden. Das reflektierende Signal erzeugt nur einen geringen Strom. Um dieses Signal zu verarbeiten, muss dieses wie oben beschrieben verstärkt und gefiltert werden. Die beiden Schaltkreise sind in diesem Fall getrennt. <ref name = 'Datenblatt'> Murata
Manufacturing Co., Ltd.: ''Application Manual''. 2013. Online im Internet: https://cdn-reichelt.de/documents/datenblatt/B400/ULTRASCHALL%20SENSOR.pdf Abruf: 23.12.2020</ref>
Manufacturing Co., Ltd.: ''Application Manual''. 2013. URL: https://cdn-reichelt.de/documents/datenblatt/B400/ULTRASCHALL%20SENSOR.pdf23. Dezember 2020</ref>




<br><br>
<br><br>
<br><br>
<br><br>
<br><br>
<br><br>
Zeile 119: Zeile 119:
== Prinziperklärung Ultraschallmessung mit dem HC-SR04==
== Prinziperklärung Ultraschallmessung mit dem HC-SR04==


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.[https://cdn-reichelt.de/documents/datenblatt/B400/ULTRASCHALL%20SENSOR.pdf]
Das Prinzip eines Ultraschallsensormoduls stellt ein Laufzeitverfahren dar (Abb. 9). Der HC-SR04 enthält einen Ultraschallsender, welches einen Ultraschallimpuls aussendet. Dieses Signal wird bei einem Kontakt auf einen Widerstand (physisches Objekt) reflektiert, ähnlich 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 Wiedereintreffen des Echos gemessen. Der Microcontroller misst die Zeit von der ausgesandten steigenden Flanke bis zur wiedereintreffenden steigenden Flanke vom Sensor, der das Signal empfängt. Durch die Schallgeschwindigkeit und die verstrichene Zeit kann durch eine Berechnung die Distanz ermittelt werden. Da Schallwellen die Strecke einmal hin und wieder zurück zurücklegen müssen, ist die gemessene Zeit noch zu halbieren. [https://cdn-reichelt.de/documents/datenblatt/B400/ULTRASCHALL%20SENSOR.pdf]


[[Datei:Prinzipien der Entfernungsmessung.jpg|300px|thumb|links|Abbildung 9: Timing des HC-SR04 <ref name = 'Datenblatt'/> ]]<br><br>
[[Datei:Prinzipien der Entfernungsmessung.jpg|300px|thumb|links|Abbildung 9: Timing des HC-SR04 <ref name = 'Datenblatt'/> ]]<br><br>
Zeile 131: Zeile 131:
----
----


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  
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 Rechteckwellen 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.[https://www.mikrocontroller.net/attachment/218122/HC-SR04_ultraschallmodul_beschreibung_3.pdf]
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) der Pin zurück auf Low gesetzt. Die Messung wird als gescheitert betrachtet. Dieser Prozess ist in Abbildung 10 visualisiert dargestellt. [https://www.mikrocontroller.net/attachment/218122/HC-SR04_ultraschallmodul_beschreibung_3.pdf]
[[Datei:HC-SR04 Timing_Bild.jpg|300px|thumb|links|Abbildung 10: Prinzipien der Entfernungsmessung <ref> https://wolles-elektronikkiste.de/hc-sr04-und-jsn-sr04t-2-0-abstandssensoren </ref>]]<br><br>
[[Datei:HC-SR04 Timing_Bild.jpg|300px|thumb|links|Abbildung 10: Prinzipien der Entfernungsmessung <ref> Wolles Elektronikkiste: ''HC-SR04 und JSN-SR04T-2.0 Abstandssensoren'' URL: https://wolles-elektronikkiste.de/hc-sr04-und-jsn-sr04t-2-0-abstandssensoren, 20. Januar 2021</ref>]]<br><br>
<br><br>
<br><br>
<br><br>
<br><br>
Zeile 142: Zeile 142:




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.[http://www.pcserviceselectronics.co.uk/arduino/Ultrasonic/]
Im Oszilloskop können die Signale, die vom HC-SR04 gesendet werden, sichtbar gemacht werden. In Abbildung 11 ist demnach zu erkennen, wie am Anfang das Signal kurz auf High gesetzt wird. Im Anschluss erfolgt der Burst von 8 x 40 kHz-Impulsen. Ebenfalls ist am Echo Ausgang zu sehen, dass nach den acht Impulsen der Ausgang auf High gesetzt wird. Wenn das erste Signal zurückkommt, fällt die Flanke wieder. Dieses Prinzip findet bei einer konstanten Messung in einer Schleife statt.[http://www.pcserviceselectronics.co.uk/arduino/Ultrasonic/]
[[Datei:Timings vom Oszilloskop.jpg|600px|thumb|links|Prinzipien der Entfernungsmessung im Oszilloskop <ref> http://www.pcserviceselectronics.co.uk/arduino/Ultrasonic/ </ref>]]<br><br>
[[Datei:Timings vom Oszilloskop.jpg|600px|thumb|links|Prinzipien der Entfernungsmessung im Oszilloskop <ref> PC Services: ''Ultraschall-Entfernungsmessung mit HC-SR04''URL: http://www.pcserviceselectronics.co.uk/arduino/Ultrasonic/, 20. Januar 2021  </ref>]]<br><br>
<br><br>
<br><br>
<br><br>
<br><br>
Zeile 151: Zeile 151:


==Softwarearchitektur==
==Softwarearchitektur==
[[Datei:Auswertung der Messwerte des HC-SR04.jpg|200px|thumb|left|Auswertung der Messwerte des HC-SR04]]
[[Datei:Auswertung der Messwerte des HC-SR04.jpg|200px|thumb|left|Abbildung 11 :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.
Der Ausleseprozess des Sensors ist nicht sehr umfangreich, da ein großer Teil vom Sensor direkt übernommen wird. Dieser Prozess ist in Abbildung 12 kurz zusammengefasst. Es muss lediglich festgelegt werden, wann das Signal ausgesendet wird. Diese Sendung geschieht digital, indem der Trigger-Pin für 5ms auf High gesetzt wird und danach zurück auf Low. Das Auslesen des Echo Pins 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. Dieser Wert wird im Anschluss umgerechnet in die Distanz in cm. Um Messunsicherheiten 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.
Dieser Ablauf erfolgt dauerhaft in einer Schleife.
<br/>  
<br/>  
Zeile 167: Zeile 167:


==Signalverarbeitung==
==Signalverarbeitung==
===Messungen am Empfänger Sensor===  
===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.  
Zur Bewertung, ob eine analoge Möglichkeit zur Ermittlung einer Distanz über den eingehenden Strom besteht, wurde an den Pins des Ultraschallempfängers des HC-SR04 jeweils ein Kabel angelötet. Die ermittelten Werten (Abb. 13) zeigen, dass auf kurzer Distanz unterschiedliche Spannungen gemessen wurden. Diese Werte schwanken trotz gleicher Distanz. Eine analoge Entfernungsmessung ist damit nicht möglich.


{| class="mw-datatable"
{| class="wikitable"
! style="font-weight: bold;" | Distanz in [cm]
! style="font-weight: bold;" | Distanz in cm  
! style="font-weight: bold;" | Spannung in [mA]
! style="font-weight: bold;" | Spannung in mA
|-
|-
|  5 <br/> || 0,1-0,3  <br/>  
|  5 <br/> || 0,1-0,3  <br/>  
Zeile 192: Zeile 192:


===Analog-Digital-Umsetzer===
===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.
Um trotzdem eine Messung durchführen zu können, werden die niedrige Spannungen verstärkt und gefiltert. Im dem Mikroprozessor EM78P153 wird dieses Signal im Anschluss in ein digitales 5 Volt High oder Low Signal umgewandelt. Dieses wird sodann über den Trigger-Pin ausgelesen.


===Bussystem===
===Bussystem===
Zeile 200: Zeile 200:
   
   


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.  
Um Schallgeschwindigkeiten zu berechnen, spielen äußere Gegebenheiten eine entscheidende Rolle. Die Schallgeschwindigkeit ist abhängig von der Elastizität, der Dichte, der Temperatur und der Windgeschwindigkeit. Um eine exakte Messung bei unterschiedlichen Umweltbedingungen durchzuführen, muss durchgehend die Temperatur, die Höhe vom Meeresspiegel, die Luftfeuchte und die Windgeschwindigkeit gemessen werden. In der Atmosphäre nimmt die Schallgeschwindigkeit mit der Höhe ab. Mit diesen Werten kann die momentane Schallgeschwindigkeit unter Berücksichtigung der äußeren Umwelteinflüsse berechnet werden.  
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. <br/>
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.
<ref name = Douglas> Douglas, Giancoli: ''Physik Lehr- und Übungsbuch''. München: Pearson Studium ein Imprint von Pearson Deutschland, 3. Auflage 2009.</ref>
<ref name = Douglas> Douglas, Giancoli: ''Physik Lehr- und Übungsbuch''. München: Pearson Studium ein Imprint von Pearson Deutschland, 3. Auflage 2009, Seiten 561ff.  ISBN: 978-3-868-94023-7. </ref>




'''Übersicht der Schallgeschwindigkeit bei Temperatur'''   
'''Übersicht der Schallgeschwindigkeit bei Temperatur'''   


{| class="mw-datatable"
{| class="wikitable"
! style="font-weight: bold;" | Temperatur [°C]
! style="font-weight: bold;" | Temperatur °C
! style="font-weight: bold;" | Temperatur [K]
! style="font-weight: bold;" | Temperatur K
! style="font-weight: bold;" | Schallgeschwindigkeit [m/s]
! style="font-weight: bold;" | Schallgeschwindigkeit m/s
! style="font-weight: bold;" | Schallgeschwindigkeit [km/h]
! style="font-weight: bold;" | Schallgeschwindigkeit km/h
|-
|-
|  -50 <br/> || 223,15  <br/> || 299,63 <br/> || 1079 <br/>  
|  -50 <br/> || 223,15  <br/> || 299,63 <br/> || 1079 <br/>  
Zeile 237: Zeile 237:
|}
|}


Die Schallgeschwindigkeit bei Trockener Luft und einer Temperatur von 20°C betragt 343,5 m/s (1236 km/h).<ref name = 'Douglas'/>
Die Schallgeschwindigkeit bei trockener Luft und einer Temperatur von 20°C betragt 343,5 m/s (1236 km/h).<ref name = 'Douglas'/>
Bei der Programmierung des Sensors wird ein Schallgeschwindigkeit von 343,5 m/s als Grundlage zum bestimmen der Entfernung genommen.
Bei der Programmierung des Sensors wird eine Schallgeschwindigkeit von 343,5 m/s als Grundlage zur Bestimmung der Entfernung genommen.




Zeile 247: Zeile 247:
=== Lautstärke berechnen ===
=== Lautstärke berechnen ===
Die erzeugte Lautstärke wird direkt vom Sensor übernommen und kann von außen nicht beeinflusst werden.
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.<br/>
Bei dem Ultraschallsender lässt sich die Lautstärke mit der Formel des Schalldruckpegel berechnen.<br/>


(S.P.L.) =Sound pressure level<br/>
(S.P.L.) = Sound pressure level<br/>
<math>P</math>= Schalldruck des Sensors<br/>
<math>P</math>= Schalldruck des Sensors<br/>
<math>Po</math>= Referenzschalldruck  
<math>Po</math>= Referenzschalldruck  


<math>SPL=20log \dfrac {P}{Po} (dB)</math>
<math>SPL=20log \dfrac {P}{Po} (dB)</math>
<br/>
<br/>
<br/>
<br/>
Die Laustärke des Sensors beträgt auf dem HC-SR04 100db.<br/>
Die Laustärke des Sensors beträgt auf dem HC-SR04 100dB.<br/>
Nach 0,5 Meter sind es nur noch 80db.   
Nach 0,5 Meter sind es nur noch 80dB.   
[https://cdn-reichelt.de/documents/datenblatt/B400/ULTRASCHALL%20SENSOR.pdf]
[https://cdn-reichelt.de/documents/datenblatt/B400/ULTRASCHALL%20SENSOR.pdf]


Zeile 263: Zeile 263:


=== Berechnung der Schallgeschwindigkeit ===
=== 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 <ref name = Owen>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</ref>
Um eine exakte Messung der Schallgeschwindigkeit durchzuführen, sind alle Umwelteinflüsse, die die Geschwindigkeit des Schalls beeinflussen, zu betrachten. Die wesentliche Geschwindigkeit hängt von den folgenden Faktoren ab. <ref name = Owen>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)</ref>
 
 


Für trockene Luft Molmasse in Meereshöhe <math> M = 0,02896 \dfrac {kg}{mol}</math><br/>
Für trockene Luft: Molmasse in Meereshöhe: <br/>
Für das zweiatomige Gas Sauerstoff <math>O_{2} </math>  <math>\kappa = \tfrac{7}{5} = 1{,}40</math><br/>
<math> M = 0,02896 \dfrac {kg}{mol}</math>
<br/>
<br/>
<br/>
<math>R</math> ist die universelle Gaskonstante in Joule pro Kelvin mal Mol<br/>
Für das zweiatomige Gas: Sauerstoff <br/>
<math>R =  8,31448 \dfrac {J}{K \cdot mol }</math><br/><br/>  
<math>O_{2} </math>  <math>\kappa = \tfrac{7}{5} = 1{,}40</math><br/>
<math>K</math> ist die Temperatur in Kelvin bei 20°C<br/>
<br/>
<math>K =293,15 K</math> <br/> <br/>
Die universelle Gaskonstante:<br/>
<math>R =  8,31448 \dfrac {J}{K \cdot mol }</math><br/>
<br/>
Die Temperatur in Kelvin:
<br/>
<math>K =293,15 K</math>  
<br/>
<br/>  
 
Durch das einsetzen der Variablen lässt sich die Schallgeschwindigkeit berechnen.   
Die eingesetzten Werte entsprechen einem trockenem Raum bei einer Temperatur von 20 °C.


<math>C_{Luft} \approx  \sqrt{ 1 {,40} \cdot \dfrac {8,3145 \dfrac {J}{mol K} \cdot 293,15K}{0,02896 \dfrac {kg}{mol} }} = 343,5\dfrac {m}{s} </math><br/>
<math>C_{Luft} \approx  \sqrt{ 1 {,40} \cdot \dfrac {8,3145 \dfrac {J}{mol K} \cdot 293,15K}{0,02896 \dfrac {kg}{mol} }} = 343,5\dfrac {m}{s} </math><br/>




Zeile 279: Zeile 292:


===Umgang mit der Messunsicherheit===
===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. <ref name = 'Owen'/>
Um die Umrechnung einfach zu gestalten, gibt es eine Näherungsformel, die mit einer Genauigkeit von 99,8% den Messbereich von -20°C bis 40°C abbildet. Da der HC-SR04-Sensor nur auf Zentimeter rundet, ist die Messunsicherheit von 0,2%  zu vernachlässigen. Zu beachten ist jedoch die Temperatur. Bei 0°C bis +20°C entsteht eine Messunsicherheit von 3,49%. Bei einer Temperatur von -20°C bis 20°C entsteht eine Messunsicherheit von 6,99%. Zur Messung genauer Werte sollte demnach bei starken Temperaturschwankungen zusätzlich eine Temperaturmessung in die Berechnung mit einfließen. Die nachfolgende Tabelle verdeutlicht die Laufzeit bei unterschiedlicher Temperatur. <ref name = 'Owen'/>


<math>C_{Luft} \approx ( 331{,}5 + 0{,}6\,\vartheta/{}^\circ\mathrm{C} ) \frac{\mathrm{m}}{\mathrm{s}}  </math><br/>
<math>C_{Luft} \approx ( 331{,}5 + 0{,}6\,\vartheta/{}^\circ\mathrm{C} ) \frac{\mathrm{m}}{\mathrm{s}}  </math><br/>


{| class="mw-datatable"
{| class="mw-datatable"
! style="font-weight: bold;" | Distanz zum Objekt  [cm]
! style="font-weight: bold;" | Distanz zum Objekt  cm  
! style="font-weight: bold;" | Laufzeit in [ms] bei 20°C
! style="font-weight: bold;" | Laufzeit in ms bei 20°C
! style="font-weight: bold;" | Laufzeit in [ms] bei 0°C
! style="font-weight: bold;" | Laufzeit in ms bei 0°C
! style="font-weight: bold;" | Laufzeit in [ms] bei -20°C
! style="font-weight: bold;" | Laufzeit in ms bei -20°C
|-
|-
|-
|-
Zeile 316: Zeile 329:


=== Vorteile ===
=== 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.
Als Vorteil des Sensors ist besonders der Preis von unter 5 Euro zu nennen. Für den Preis bietet der Sensor eine gute Möglichkeit, den Abstand von 3 cm bis 250 cm auf 1 cm genau zu bestimmen. Ebenfalls liegt der Vorteil darin, dass der Sensor einen Großteil der Messung selbst übernimmt. Hierdurch ist er ressourcenschonend am Mikrocontroller im Ausleseprozess des Sensors.


=== Nachteile ===
=== 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ß.
Ein wesentlicher Nachteil des Sensors ist die fehlende Messung der Temperatur, welche den Umweltbedingungen entgegenwirken würde. Des Weiteren ist lediglich eine begrenzte Messung von 3 cm bis 250 cm möglich. Zudem ist es nicht möglich eine Entfernung auf Millimeter genau zumessen. Ebenfalls werden zwei Sensoren Sender/Empfänger und die interne Verarbeitung auf einer Platine angebracht. Durch ist die Bauweise der Sensor sehr groß und die Sensoren können nicht getrennt von der Platine Montiert werden.


=== Alternative ===
=== 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.
Bei den Ultraschallsensoren gibt es noch weitere Unterschiede. Speziell auf den Anwendungsfall muss beachtet werden, ob die Eigenschafen des Sensors ausreichen. Der AJ-SR04M (Abb. 12) kann z.B. eine längere Distanz messen, allerdings erst ab einer Reichweite von 0,25 m. Ebenfalls spielt die Bauform, Langlebigkeit und der Preis eine wichtige Rolle bei der Auswahl des richtigen Sensors.




[[Datei:AJ-SR04M.jpg|300px|thumb|links|AJ-SR04M Ultraschall Abstandssensor  <ref>
[[Datei:AJ-SR04M.jpg|300px|thumb|links|Abbildung 12: AJ-SR04M Ultraschall Abstandssensor  <ref> Amazon: ''5V Ultraschallwellen Entfernungs Messbrett Ranging Modul Mit Wasserdichtem Sensor''
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 </ref>]]  
URL: 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, 19.Janaur 2021 </ref>]]  


'''AJ-SR04M'''
'''AJ-SR04M'''
Zeile 336: Zeile 349:
|  Technologie <br/>                      || Ultraschall <br/>  
|  Technologie <br/>                      || Ultraschall <br/>  
|-
|-
|  Mindestbereich (m) <br/>              || 0,25m<br/>   
|  Mindestbereich <br/>              || 0,25 m<br/>   
|-
|-
|  Maximale Reichweite (m)  <br/>        ||  5m<br/>   
|  Maximale Reichweite   <br/>        ||  5 m<br/>   
|-
|-
|  Genauigkeit  <br/>                    || +/- 1%<br/>   
|  Genauigkeit  <br/>                    || +/- 1 %<br/>   
|-
|-
| Typische Aktualisierungsrate (Hz) <br/> || 40 kHz<br/>   
| Typische Aktualisierungsrate <br/> || 40 kHz<br/>   
|-
|-
|  Eingangsspannung                      || 5,0V <br/>   
|  Eingangsspannung                      || 5,0 V <br/>   
|-
|-
|  Max. Dauerstromverbrauch (mA) <br/>    || 30,0mA<br/>   
|  Max. Dauerstromverbrauch <br/>    || 30,0 mA<br/>   
|-
|-
|  Schnittstellen<br/>                    || Digital<br/>   
|  Schnittstellen<br/>                    || Digital<br/>   
Zeile 362: Zeile 375:




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.   
Darüber hinaus existieren noch alternative Verfahren zur Messung von Abständen. Beispielhaft sind in den folgenden Abbildungen verschiedene Sensoren dargestellt. Es besteht z.B. die Möglichkeit die Entfernung mit LED (Abb. 13), LiDAR (Abb. 14) oder VCSEL (Abb. 15) Technologie zu messen. Ebenfalls muss hier der Anwendungsfall betrachtet werden, da die Sensoren sehr unterschiedliche Eigenschaften aufweisen.   




[[Datei:GP2-1080K.jpg|300px|thumb|links|Sharp GP2Y0A21YK0F LED Abstandssensor  <ref>
[[Datei:GP2-1080K.jpg|300px|thumb|links|Abbildung 13: Sharp GP2Y0A21YK0F LED Abstandssensor  <ref> Reichelt: ''GP2-1080K Distanzsensor''
https://www.reichelt.de/index.html?ACTION=446&LA=3&nbc=1&q=gp2-1080k </ref>]]  
URL:https://www.reichelt.de/index.html?ACTION=446&LA=3&nbc=1&q=gp2-1080k, 18. Januar 2021</ref>]]  


'''Sharp GP2Y0A21YK0F'''
'''Sharp GP2Y0A21YK0F'''
Zeile 376: Zeile 389:
|  Technologie <br/>                      || LED <br/>  
|  Technologie <br/>                      || LED <br/>  
|-
|-
|  Mindestbereich (m) <br/>              || 0,10m<br/>   
|  Mindestbereich <br/>              || 0,10 m<br/>   
|-
|-
|  Maximale Reichweite (m)  <br/>        || 0,80m<br/>   
|  Maximale Reichweite   <br/>        || 0,80 m<br/>   
|-
|-
|  Genauigkeit  <br/>                    || +/- 1%<br/>   
|  Genauigkeit  <br/>                    || +/- 1%<br/>   
|-
|-
| Typische Aktualisierungsrate (Hz) <br/> || 26Hz<br/>   
| Typische Aktualisierungsrate <br/> || 26 Hz<br/>   
|-
|-
| Wellenlänge (Licht) (nm) <br/>          || 850 nm<br/>   
| Wellenlänge (Licht) <br/>          || 850 nm<br/>   
|-
|-
|  Eingangsspannung                      || 4,5V - 5,5V <br/>   
|  Eingangsspannung                      || 4,5 V - 5,5 V <br/>   
|-
|-
|  Max. Dauerstromverbrauch (mA) <br/>    || 30,0mA<br/>   
|  Max. Dauerstromverbrauch <br/>    || 30,0 mA<br/>   
|-
|-
|  Schnittstellen<br/>                    || Analog<br/>   
|  Schnittstellen<br/>                    || Analog<br/>   
Zeile 397: Zeile 410:




[[Datei:TF MINI-S.jpg|300px|thumb|links|MINI-S LIDAR Abstandssensor  <ref>
[[Datei:TF MINI-S.jpg|300px|thumb|links|Abbildung 14: MINI-S LIDAR Abstandssensor  <ref>
https://www.reichelt.de/benewake-tfmini-s-lidar-12m-tf-mini-s-p287742.html?&trstct=pos_1&nbc=1 </ref>]]  
Reichelt: ''TF MINI-S Benewake TFmini-S LiDAR'' URL:https://www.reichelt.de/benewake-tfmini-s-lidar-12m-tf-mini-s-p287742.html?&trstct=pos_1&nbc=1, 20 Januar 2021</ref>]]  




Zeile 409: Zeile 422:
|  Technologie <br/>                      || LIDAR <br/>  
|  Technologie <br/>                      || LIDAR <br/>  
|-
|-
|  Mindestbereich (m) <br/>              || 0,1m<br/>   
|  Mindestbereich <br/>              || 0,1 m<br/>   
|-
|-
|  Maximale Reichweite (m) <br/>        || 12m<br/>   
|  Maximale Reichweite  <br/>        || 12 m<br/>   
|-
|-
|  Genauigkeit  <br/>                    || +/- 1%<br/>   
|  Genauigkeit  <br/>                    || +/- 1%<br/>   
|-
|-
| Typische Aktualisierungsrate (Hz) <br/> || 26Hz<br/>   
| Typische Aktualisierungsrate <br/> || 26 Hz<br/>   
|-
|-
| Wellenlänge (Licht) (nm) <br/>          || 850 nm<br/>   
| Wellenlänge (Licht) <br/>          || 850 nm<br/>   
|-
|-
|  Eingangsspannung                      || 5,0V <br/>   
|  Eingangsspannung                      || 5,0 V <br/>   
|-
|-
|  Max. Dauerstromverbrauch (mA) <br/>    || 30,0mA<br/>   
|  Max. Dauerstromverbrauch <br/>    || 30,0 mA<br/>   
|-
|-
|  Schnittstellen<br/>                    || Analog<br/>   
|  Schnittstellen<br/>                    || Analog<br/>   
Zeile 430: Zeile 443:




[[Datei:VL6180X.jpg|300px|thumb|links|VL6180X VCSEL Abstandssensor  <ref>
[[Datei:VL6180X.jpg|300px|thumb|links|Abbildung 15: VL6180X VCSEL Abstandssensor  <ref> Distrelec: ''ToF-Distanzmessgerät''
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 </ref>]]  
URL: 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, 18. Januar 2021 </ref>]]  




Zeile 442: Zeile 455:
|  Technologie <br/>                      || VCSEL <br/>  
|  Technologie <br/>                      || VCSEL <br/>  
|-
|-
|  Mindestbereich (m) <br/>               || 0,1m<br/>   
|  Mindestbereich <br/>                 || 0,1 m<br/>   
|-
|-
|  Maximale Reichweite (m)  <br/>         || 2m<br/>   
|  Maximale Reichweite   <br/>           || 2 m<br/>   
|-
|-
|  Auflösung (mm) <br/>                   || 1mm<br/>   
|  Auflösung <br/>                       || 1 mm<br/>   
|-
|-
|  Genauigkeit  <br/>                    || +/- 1%<br/>   
|  Genauigkeit  <br/>                    || +/- 1 %<br/>   
|-
|-
| Typische Aktualisierungsrate (Hz) <br/> || 10Hz<br/>   
| Typische Aktualisierungsrate (Hz) <br/> || 10 Hz<br/>   
|-
|-
| Wellenlänge (Licht) (nm) <br/>         || 850 nm<br/>   
| Wellenlänge (Licht) <br/>             || 850 nm<br/>   
|-
|-
|  Eingangsspannung                      || 5,0V <br/>   
|  Eingangsspannung                      || 5,0V <br/>   
|-
|-
|  Max. Dauerstromverbrauch (mA) <br/>   || 15,0mA<br/>   
|  Max. Dauerstromverbrauch <br/>       || 15,0 mA<br/>   
|-
|-
|  Schnittstellen<br/>                    || IC2<br/>   
|  Schnittstellen<br/>                    || IC2 <br/>   
|-
|-
|-
|-
|-  
|-  
|}
|}
<br/>


== Zusammenfassung ==
== Zusammenfassung ==
Zusammenfassend ergibt der Sensor ein gutes Gesamtpaket ab. Er kann zuverlässig Ultraschallwellen auf eine Entfernung von 3-400 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.
Zusammenfassend kann der Sensor im Gesamtumfang positiv bewertet werden. Er sendet und empfängt zuverlässig Ultraschallwellen auf eine Entfernung von 3 cm bis 250 cm. Auf die Entfernung reflektierende Schallwellen sind stark genug, um den Ultraschallempfänger in Schwingung zu versetzen, so dass ein messbares Signal entsteht. Durch die interne Signalverarbeitung auf dem Sensor, ist der Sensor einfach einzusetzen. Lediglich ein Startimpuls von 3,3 V bis 5 V sowie eine Zeitmessung für die Dauer des Highs auf dem EchoPin ist notwendig. Dadurch kann sodann durch eine einfache Umrechnung die Distanz berechnet werden. Der Umgang mit möglichen Messfehler ist bei diesem Sensor extern zu betrachten. Auftretende Fehler können mit einer Temperaturmessung und dessen Wert in der Formel behoben werden.


== Lernerfolg ==
== Lernerfolg ==
Bei dieser Ausarbeitung des HC-SR04 Abstandssensor konnte ein tiefer Eindruck über das Prinzip der Ultraschallmessung erlangt werden.
Bei dieser Ausarbeitung des HC-SR04 Abstandssensor konnte ein tiefer Einblick in das Prinzip der Ultraschallmessung erlangt werden.
Angefangen von den Hardwarekomponenten und deren Bedeutung in der Ultraschall Erzeugung und sowie die Reflektierten Signale wieder aufzufangen und diese in eine Messbare Elektronische Größe umzuwandeln. Des weitern wurde der Umgang von Fritzing bei der Erstellung des Schaltbildes und Anschlussplan vertieft. Ebenfalls konnte ein Eindruck über die Physikalischen Auswirkungen sowie die Mathematische Bedeutung bei der Berechnung der Schallgeschwindigkeit erlangt werden. Durch die eigene Programmierung des Sensors konnte das erarbeite Verständnis in der Praxis angewendet werden. Hierdurch konnte erlernt werden wie ein Abstand Sensor mit einem Microcontroller in betreib genommen werden kann. Ebenfalls wurde gelernt wie mit dem Microcontroller eine Flanke über die Zeit ausgelesen werden kann. Ebenfalls wurde auf den Umgang mit Messunsicherheiten eingegangen und festgestellt, wie man diese behebt. Zum Schluss wurden noch Alternativen betrachtet mit den ebenfalls eine Distanzmessung möglich ist.
Angefangen bei den Hardwarekomponenten und deren Bedeutung in der Ultraschallerzeugung bis hin zum Auffangen von reflektierten Signale zur Umwandlung in eine messbare elektronische Größe. Des Weiteren wurde der Umgang von Fritzing bei der Erstellung des Schaltbildes und eines Anschlussplans vertieft. Zudem konnte ein Eindruck über die physikalischen Auswirkungen sowie die mathematische Bedeutung bei der Berechnung der Schallgeschwindigkeit gewonnen werden. Durch die eigene Programmierung des Sensors konnte das erarbeite Verständnis in der Praxis angewandt werden. Hierdurch wurde die Inbetriebnahme eines Abstandssensors mit einem Microcontroller vertieft. Dieses führte zu einem Wissensaufbau, wie mit dem Microcontroller eine Flanke über die Zeit ausgelesen werden kann. Ebenfalls wurde auf den Umgang mit Messunsicherheiten eingegangen und Lösungswege zur Behebung dieser analysiert. Abschließend wurden noch mögliche Alternativen betrachtet, die ebenso eine Distanzmessung ermöglichen.


== YouTube Video ==
== YouTube Video ==
Zur Veranschaulichung wurde wurde ein Video hochgeladen. In dem Video ist eine Messung vom Ultraschallsensor zusehen, die Ausgabe erfolgt auf einem LCD Display und auf dem Seriellen Monitor am Laptop. Der Arduino mit dem Sensor und dem Serielleren Display kann auch ein einer externen Spannungsquelle angeschlossen werden wie z.B. eine Powerbank. Dies hat den Vorteil, dass eine das unabhängig vom Laptop erfolgen kann. Ebenfalls wurde zum Schutz außer Einflüsse ein Gehäuse für die einzelnen Bauteile erstellt. [https://www.youtube.com/watch?v=cDORLVIXkXg Video des HC-SR04]
Zur weiteren Veranschaulichung wurde ein Video erstellt und auf YouTube hochgeladen. In dem Video ist eine Messung anhand des Ultraschallsensors zusehen. Die Ausgabe der Werte erfolgt über einen LCD Display und auf dem seriellen Monitor des Laptops. Der Arduino mit dem Sensor und dem serielleren Display kann ebenso einer externen Spannungsquelle angeschlossen werden wie z.B. einer Powerbank. Dies hat den Vorteil, dass eine Messung unabhängig vom Laptop erfolgen kann. Ebenfalls wurde zum Schutz vor äußeren Einflüssen ein Gehäuse für die einzelnen Bauteile erstellt. [https://www.youtube.com/watch?v=cDORLVIXkXg Video des HC-SR04]


== Schwierigkeitsgrad ==
== Schwierigkeitsgrad ==
 
Die Inbetriebnahme des Sensors ist nicht sonderlich kompliziert. Die vier Anschlüsse vom HC-SR04 sind an den Arduino anzuschließen. Die richtige Software für die Inbetriebnahme erhöht den Schwierigkeitsgrad in diesem Zuge. Es müssen die vorverarbeitenden Signale vom Sensor aufgenommen und die Distanz aus diesen errechnet werden.
Insgesamt wird dem Ultraschall Abstandssensor HC-SR04 ein mittlerer Schwierigkeitsgrad zugeordnet.


== Quellenverzeichnis ==
== Quellenverzeichnis ==

Aktuelle Version vom 2. November 2023, 11:03 Uhr

Abbildung 1: 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. Zur Veranschaulichung 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 [2]
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

Hardwareaufbau

Schaltplan und Steckplatine

Der Hardwareaufbau besteht aus dem Anschluss des Ultrasschallsensors an den Arduino UNO. 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 die Trigger Impulse und das Echo Signal. Der Trigger-Pin wird auf Pin 12 am Arduino angeschlossen und wird in der Software als Output-Pin deklariert. Der Echo-Pin wird auf Pin 10 am Arduino angeschlossen und liefert das Messergebnis vom Ultraschallsensor. In der Software wird das Signal als Input-Pin deklariert.

Equipment

Verwendete Software

Für die Erarbeitung der oben genannten Aufgabenstellungen wurden folgende Softwares verwendet:

  • Arduino Software IDE 1.8.13
  • MATLAB/Simulink 2020b
  • Fritzing
  • TortoiseSVN

Verwendete Komponente

Für die Erarbeitung der oben genannten Aufgabenstellungen 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 unten stehenden Abbildungen veranschaulichen den Aufbau und die einzelnen Bauteile des HC-SR04. Die genaue Bedeutung dieser wird im Nachgang genauer erklärt. Die Messkette des HC-SR04 dient zur Auswertung des Sensors. In der Abbildung 4 ist die Rückseite der Platine mit den beschrifteten Bauteilen abgebildet.


Abbildung 4: Interner Schaltplan des Moduls [3]
Abbildung 5: Interner Schaltplan des Moduls[4]

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 der Platine die Board Chips für die interne Verarbeitung der Signale, Verstärker und Filterschaltungen.

Mikrocontroller U1

Der EM78P153S 8-Bit-Mikroprozessor auf dem Board hat verschiedene Aufgaben. Einerseits stellt er die Schnittstelle dar, 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 wird hierüber das vorverarbeitete Signal vom Empfänger empfangen.

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 anzunehmen, dass es sich analog zu der Abbildung, um den Chip RCWL-9206 handelt oder um einen funktionsgleichen anderen.

Empfänger U2

Der Empfänger Chip U2 ist auf dem HC-SR04 und in der Abbildung nicht zuerkennen, daher 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.[5] Die zweite Stufe (U2C, C2, C3 und R5) ist ein Bandpassfilter.[6] Bei der dritten Stufe handelt es sich ebenfalls um einen Verstärker. Die vierte Operationsverstärkerstufe ist ein Hysteresekomparator mit variabler Schwelle und Ausgangsschalter.[7] [5]





Primer Sensoren

Auf dem HC-SR04 befinden sich zwei Sensoren, die zum einen ein Ultraschallsignal erzeugen können und zum anderen diese Ultraschallwellen wieder aufnehmen können. Der linke Sensor auf dem HC-SR04 sendet die Ultraschallimpulse aus. Der rechte Sensor empfängt diese und wandelt sie in ein elektrisches Signal um. Die genaue Funktionsweise der beiden Sensoren wird im weiteren Verlauf genauer definiert.

Abbildung 6: Aufbau Empfänger/Sender [8]
Abbildung 7: Ultraschallsender/Empfänger, Ø 16mm, H 12mm [9]

Der Aufbau des Sensors ist in Abbildung 6 dargestellt. Der Sensor enthält ein Metall-Gehäuse mit einem Drahtgeflecht gegen den äußeren Schutz. Im Inneren des Sensors befindet sich ein Mehrfachvibrator, der unter Schwingung ein Ultraschallsignal erzeugen kann. Ebenso kann er durch reflektierende Ultraschallwellen in Schwingung versetzt werden und einen elektrischen Strom erzeugen. Der Mehrfachvibrator besteht aus einer Metallplatte und einer piezoelektrischen Keramikplatte. Jeder dieser Platten ist mit einem Pin verbunden. Wenn an den Pins Strom angeschlossen ist, entsteht eine mechanische Deformation zwischen den Platten, die in diesem Fall Ultraschallimpulse erzeugen. Um dieses Signal gebündelt auszustoßen, befindet sich auf der Metallplatte ein konisches Metallhorn, welches diesen Prozess maßgeblich unterstützt. Der Effekt tritt umgekehrt bei dem Empfangen der Ultraschallsignale auf. Das Horn nimmt die Signale auf und bringt die Platten in eine leichte Schwingung. Durch die Schwingung entsteht in diesem Fall ein messbarer Strom. Auf der Platine befinden sich zwei baugleiche Sensoren. Diese werden benötigt, da bei der Erzeugung eines Ultraschallsignals Strom hinzugeführt wird, um ein Signal zu senden. Das reflektierende Signal erzeugt nur einen geringen Strom. Um dieses Signal zu verarbeiten, muss dieses wie oben beschrieben verstärkt und gefiltert werden. Die beiden Schaltkreise sind in diesem Fall getrennt. [8]




















Prinziperklärung Ultraschallmessung mit dem HC-SR04

Das Prinzip eines Ultraschallsensormoduls stellt ein Laufzeitverfahren dar (Abb. 9). Der HC-SR04 enthält einen Ultraschallsender, welches einen Ultraschallimpuls aussendet. Dieses Signal wird bei einem Kontakt auf einen Widerstand (physisches Objekt) reflektiert, ähnlich 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 Wiedereintreffen des Echos gemessen. Der Microcontroller misst die Zeit von der ausgesandten steigenden Flanke bis zur wiedereintreffenden steigenden Flanke vom Sensor, der das Signal empfängt. Durch die Schallgeschwindigkeit und die verstrichene Zeit kann durch eine Berechnung die Distanz ermittelt werden. Da Schallwellen die Strecke einmal hin und wieder zurück zurücklegen müssen, ist die gemessene Zeit noch zu halbieren. [1]

Abbildung 9: Timing des HC-SR04 [8]











Signale des HC-SR04 des 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 Rechteckwellen 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) der Pin zurück auf Low gesetzt. Die Messung wird als gescheitert betrachtet. Dieser Prozess ist in Abbildung 10 visualisiert dargestellt. [2]

Abbildung 10: Prinzipien der Entfernungsmessung [10]











Signale des HC-SR04 im Oszilloskop

Im Oszilloskop können die Signale, die vom HC-SR04 gesendet werden, sichtbar gemacht werden. In Abbildung 11 ist demnach zu erkennen, wie am Anfang das Signal kurz auf High gesetzt wird. Im Anschluss erfolgt der Burst von 8 x 40 kHz-Impulsen. Ebenfalls ist am Echo Ausgang zu sehen, dass nach den acht Impulsen der Ausgang auf High gesetzt wird. Wenn das erste Signal zurückkommt, fällt die Flanke wieder. Dieses Prinzip findet bei einer konstanten Messung in einer Schleife statt.[3]

Prinzipien der Entfernungsmessung im Oszilloskop [11]













Softwarearchitektur

Abbildung 11 :Auswertung der Messwerte des HC-SR04

Der Ausleseprozess des Sensors ist nicht sehr umfangreich, da ein großer Teil vom Sensor direkt übernommen wird. Dieser Prozess ist in Abbildung 12 kurz zusammengefasst. Es muss lediglich festgelegt werden, wann das Signal ausgesendet wird. Diese Sendung geschieht digital, indem der Trigger-Pin für 5ms auf High gesetzt wird und danach zurück auf Low. Das Auslesen des Echo Pins 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. Dieser Wert wird im Anschluss umgerechnet in die Distanz in cm. Um Messunsicherheiten 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

Zur Bewertung, ob eine analoge Möglichkeit zur Ermittlung einer Distanz über den eingehenden Strom besteht, wurde an den Pins des Ultraschallempfängers des HC-SR04 jeweils ein Kabel angelötet. Die ermittelten Werten (Abb. 13) zeigen, dass auf kurzer Distanz unterschiedliche Spannungen gemessen wurden. Diese Werte schwanken 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 gefiltert. Im dem Mikroprozessor EM78P153 wird dieses Signal im Anschluss in ein digitales 5 Volt High oder Low Signal umgewandelt. Dieses wird sodann über den Trigger-Pin ausgelesen.

Bussystem

Der HC-SR04 enthält kein Bussystem.

Umwelteinflüsse auf die Messung

Um Schallgeschwindigkeiten zu berechnen, spielen äußere Gegebenheiten eine entscheidende Rolle. Die Schallgeschwindigkeit ist abhängig von der Elastizität, der Dichte, der Temperatur und der Windgeschwindigkeit. Um eine exakte Messung bei unterschiedlichen Umweltbedingungen durchzuführen, muss durchgehend die Temperatur, die Höhe vom Meeresspiegel, die Luftfeuchte und die Windgeschwindigkeit gemessen werden. In der Atmosphäre nimmt die Schallgeschwindigkeit mit der Höhe ab. Mit diesen Werten kann die momentane Schallgeschwindigkeit unter Berücksichtigung der äußeren Umwelteinflüsse berechnet werden. 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. [12]


Ü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).[12] Bei der Programmierung des Sensors wird eine Schallgeschwindigkeit von 343,5 m/s als Grundlage zur Bestimmung 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 Ultraschallsender 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. [4]


Berechnung der Schallgeschwindigkeit

Um eine exakte Messung der Schallgeschwindigkeit durchzuführen, sind alle Umwelteinflüsse, die die Geschwindigkeit des Schalls beeinflussen, zu betrachten. Die wesentliche Geschwindigkeit hängt von den folgenden Faktoren ab. [13]


Für trockene Luft: Molmasse in Meereshöhe:


Für das zweiatomige Gas: Sauerstoff


Die universelle Gaskonstante:


Die Temperatur in Kelvin:


Durch das einsetzen der Variablen lässt sich die Schallgeschwindigkeit berechnen. Die eingesetzten Werte entsprechen einem trockenem Raum bei einer Temperatur von 20 °C.




Umgang mit der Messunsicherheit

Um die Umrechnung einfach zu gestalten, gibt es eine Näherungsformel, die mit einer Genauigkeit von 99,8% den Messbereich von -20°C bis 40°C abbildet. Da der HC-SR04-Sensor nur auf Zentimeter rundet, ist die Messunsicherheit von 0,2% zu vernachlässigen. Zu beachten ist jedoch die Temperatur. Bei 0°C bis +20°C entsteht eine Messunsicherheit von 3,49%. Bei einer Temperatur von -20°C bis 20°C entsteht eine Messunsicherheit von 6,99%. Zur Messung genauer Werte sollte demnach bei starken Temperaturschwankungen zusätzlich eine Temperaturmessung in die Berechnung mit einfließen. Die nachfolgende Tabelle verdeutlicht die Laufzeit bei unterschiedlicher Temperatur. [13]


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

Als Vorteil des Sensors ist besonders der Preis von unter 5 Euro zu nennen. Für den Preis bietet der Sensor eine gute Möglichkeit, den Abstand von 3 cm bis 250 cm auf 1 cm genau zu bestimmen. Ebenfalls liegt der Vorteil darin, dass der Sensor einen Großteil der Messung selbst übernimmt. Hierdurch ist er ressourcenschonend am Mikrocontroller im Ausleseprozess des Sensors.

Nachteile

Ein wesentlicher Nachteil des Sensors ist die fehlende Messung der Temperatur, welche den Umweltbedingungen entgegenwirken würde. Des Weiteren ist lediglich eine begrenzte Messung von 3 cm bis 250 cm möglich. Zudem ist es nicht möglich eine Entfernung auf Millimeter genau zumessen. Ebenfalls werden zwei Sensoren Sender/Empfänger und die interne Verarbeitung auf einer Platine angebracht. Durch ist die Bauweise der Sensor sehr groß und die Sensoren können nicht getrennt von der Platine Montiert werden.

Alternative

Bei den Ultraschallsensoren gibt es noch weitere Unterschiede. Speziell auf den Anwendungsfall muss beachtet werden, ob die Eigenschafen des Sensors ausreichen. Der AJ-SR04M (Abb. 12) kann z.B. eine längere Distanz messen, allerdings erst ab einer Reichweite von 0,25 m. Ebenfalls spielt die Bauform, Langlebigkeit und der Preis eine wichtige Rolle bei der Auswahl des richtigen Sensors.


Abbildung 12: AJ-SR04M Ultraschall Abstandssensor [14]

AJ-SR04M

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







Darüber hinaus existieren noch alternative Verfahren zur Messung von Abständen. Beispielhaft sind in den folgenden Abbildungen verschiedene Sensoren dargestellt. Es besteht z.B. die Möglichkeit die Entfernung mit LED (Abb. 13), LiDAR (Abb. 14) oder VCSEL (Abb. 15) Technologie zu messen. Ebenfalls muss hier der Anwendungsfall betrachtet werden, da die Sensoren sehr unterschiedliche Eigenschaften aufweisen.


Abbildung 13: Sharp GP2Y0A21YK0F LED Abstandssensor [15]

Sharp GP2Y0A21YK0F

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


Abbildung 14: MINI-S LIDAR Abstandssensor [16]


MINI-S

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


Abbildung 15: VL6180X VCSEL Abstandssensor [17]


VL6180X

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


Zusammenfassung

Zusammenfassend kann der Sensor im Gesamtumfang positiv bewertet werden. Er sendet und empfängt zuverlässig Ultraschallwellen auf eine Entfernung von 3 cm bis 250 cm. Auf die Entfernung reflektierende Schallwellen sind stark genug, um den Ultraschallempfänger in Schwingung zu versetzen, so dass ein messbares Signal entsteht. Durch die interne Signalverarbeitung auf dem Sensor, ist der Sensor einfach einzusetzen. Lediglich ein Startimpuls von 3,3 V bis 5 V sowie eine Zeitmessung für die Dauer des Highs auf dem EchoPin ist notwendig. Dadurch kann sodann durch eine einfache Umrechnung die Distanz berechnet werden. Der Umgang mit möglichen Messfehler ist bei diesem Sensor extern zu betrachten. Auftretende Fehler können mit einer Temperaturmessung und dessen Wert in der Formel behoben werden.

Lernerfolg

Bei dieser Ausarbeitung des HC-SR04 Abstandssensor konnte ein tiefer Einblick in das Prinzip der Ultraschallmessung erlangt werden. Angefangen bei den Hardwarekomponenten und deren Bedeutung in der Ultraschallerzeugung bis hin zum Auffangen von reflektierten Signale zur Umwandlung in eine messbare elektronische Größe. Des Weiteren wurde der Umgang von Fritzing bei der Erstellung des Schaltbildes und eines Anschlussplans vertieft. Zudem konnte ein Eindruck über die physikalischen Auswirkungen sowie die mathematische Bedeutung bei der Berechnung der Schallgeschwindigkeit gewonnen werden. Durch die eigene Programmierung des Sensors konnte das erarbeite Verständnis in der Praxis angewandt werden. Hierdurch wurde die Inbetriebnahme eines Abstandssensors mit einem Microcontroller vertieft. Dieses führte zu einem Wissensaufbau, wie mit dem Microcontroller eine Flanke über die Zeit ausgelesen werden kann. Ebenfalls wurde auf den Umgang mit Messunsicherheiten eingegangen und Lösungswege zur Behebung dieser analysiert. Abschließend wurden noch mögliche Alternativen betrachtet, die ebenso eine Distanzmessung ermöglichen.

YouTube Video

Zur weiteren Veranschaulichung wurde ein Video erstellt und auf YouTube hochgeladen. In dem Video ist eine Messung anhand des Ultraschallsensors zusehen. Die Ausgabe der Werte erfolgt über einen LCD Display und auf dem seriellen Monitor des Laptops. Der Arduino mit dem Sensor und dem serielleren Display kann ebenso einer externen Spannungsquelle angeschlossen werden wie z.B. einer Powerbank. Dies hat den Vorteil, dass eine Messung unabhängig vom Laptop erfolgen kann. Ebenfalls wurde zum Schutz vor äußeren Einflüssen ein Gehäuse für die einzelnen Bauteile erstellt. Video des HC-SR04

Schwierigkeitsgrad

Die Inbetriebnahme des Sensors ist nicht sonderlich kompliziert. Die vier Anschlüsse vom HC-SR04 sind an den Arduino anzuschließen. Die richtige Software für die Inbetriebnahme erhöht den Schwierigkeitsgrad in diesem Zuge. Es müssen die vorverarbeitenden Signale vom Sensor aufgenommen und die Distanz aus diesen errechnet werden. Insgesamt wird dem Ultraschall Abstandssensor HC-SR04 ein mittlerer Schwierigkeitsgrad zugeordnet.

Quellenverzeichnis

  1. BANGGOOD: Ultraschallmodul HC-SR04. URL: 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, 20. Januar 2021
  2. 2,0 2,1 Joy-IT.: Ultrasonic Distance Sensor. 2017. URL: https://cdn-reichelt.de/documents/datenblatt/A300/SEN-US01-DATASHEET.pdf, 23. Dezember 2020
  3. BANGGOOD: Ultraschallmodul HC-SR04. URL: 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, 20. Januar 2021
  4. PC Services: HC-SR04. URL: http://www.pcserviceselectronics.co.uk/arduino/Ultrasonic/HC-SR04-cct.pdf, 15. Januar 2021
  5. 5,0 5,1 Federau, Joachim: Operationsverstarker Lehr- und Arbeitsbuch zu angewandten Grundschaltungen. Wiesbaden: Vieweg + Teubner, 4. Auflage 2006, Seiten 44ff. ISBN: 978-3-8348-0183-8.
  6. Shenoi, Belle A.: Introduction to digital signal processing and filter design/ B.A. Shenoi. Hoboken, NJ: Wiley, 1. Auflage 2005, Seiten 150ff. ISBN: 9780471464822.
  7. Ehrhardt, Dietmar: Verstärkertechnik. Braunschweig/Wiesbaden: Vieweg+Teubner Verlag, 1. Auflage 1992, Seiten 170ff. ISBN: 978-3-322-83026-5.
  8. 8,0 8,1 8,2 Murata Manufacturing Co., Ltd.: Application Manual. 2013. URL: https://cdn-reichelt.de/documents/datenblatt/B400/ULTRASCHALL%20SENSOR.pdf, 23. Dezember 2020
  9. Reichelt: Ultraschallsender. URL: https://www.reichelt.de/ultraschallsender-16mm-h-12mm-ust-40t-p22188.html?&nbc=1&trstct=lsbght_sldr, 20. Januar 2021
  10. Wolles Elektronikkiste: HC-SR04 und JSN-SR04T-2.0 Abstandssensoren URL: https://wolles-elektronikkiste.de/hc-sr04-und-jsn-sr04t-2-0-abstandssensoren, 20. Januar 2021
  11. PC Services: Ultraschall-Entfernungsmessung mit HC-SR04URL: http://www.pcserviceselectronics.co.uk/arduino/Ultrasonic/, 20. Januar 2021
  12. 12,0 12,1 Douglas, Giancoli: Physik Lehr- und Übungsbuch. München: Pearson Studium ein Imprint von Pearson Deutschland, 3. Auflage 2009, Seiten 561ff. ISBN: 978-3-868-94023-7.
  13. 13,0 13,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)
  14. Amazon: 5V Ultraschallwellen Entfernungs Messbrett Ranging Modul Mit Wasserdichtem Sensor URL: 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, 19.Janaur 2021
  15. Reichelt: GP2-1080K Distanzsensor URL:https://www.reichelt.de/index.html?ACTION=446&LA=3&nbc=1&q=gp2-1080k, 18. Januar 2021
  16. Reichelt: TF MINI-S Benewake TFmini-S LiDAR URL:https://www.reichelt.de/benewake-tfmini-s-lidar-12m-tf-mini-s-p287742.html?&trstct=pos_1&nbc=1, 20 Januar 2021
  17. Distrelec: ToF-Distanzmessgerät URL: 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, 18. Januar 2021

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