Unterrichts- und Lernmaterial für Mikrocontroller
Unterrichts- und Lernmaterial fürMikrocontroller

Der Ultraschallsensor HC-SR04

Wie arbeitet der HC-SR04?

Der HC-SR04-Baustein verfügt über zwei Übertrager: einen Sender und einen Empfänger. Um einen Ultraschallpuls auszusenden, bedarf es einer relativ hohen Spannung. dafür sorgt auf der Platine ein MAX232. Die beiden Schaltkreise für Sender und Empfänger werden über einen nicht näher bezeichneten Controller gesteuert.

Mit einem Triggersignal (fallende Flanke) wird der Sensor aktiviert; dazu wird der Triggeranschluss TRIG zunächst auf HIGH und anschließend auf LOW gezogen. Nach ca. 250µs sendet der HC-SR04 ein Burstsignal aus.

Der Eingang des Echo-Sensors ECHO liegt auf LOW; die Zeitmessung wird gestartet. Sobald das vom Hindernis reflektierte Signal am Empfänger einläuft, setzt dieser seinen Ausgang auf LOW.

 

 

Abb. 1: Zwischen fallender Flanke des Triggersignals an TRIG und steigender Flanke an ECHO liegen ca. 450µs. In dieser Zeitspanne sendet der Sender des HC-SR04 ein 40kHz Burstsignal aus.

Abb. 2: Das 40kHz-Burst-Signal setzt sich aus acht 12µs-Impulsen zusammen. Es vergehen weitere 3µs bis ECHO von LOW auf HIGH gezogen wird; das Zeitfenster reicht aus die Zeitmessung zu starten. Anschließend wird ECHO auf HIGH gezogen.

Sobald der Empfänger das von einem Gegenstand reflektierte Signal empfängt, wird der Echopegel auf 0 gezogen (s. Abb. 1) und die Zeitmessung stoppt.

Abb. 3: im Monitorfenster wird neben der Signallaufzeit des Echosignals (DeltaT) der daraus berechnete Abstandswert dargestellt.

Was passiert in diesem Programm?

Aufgabe

Beschreibe bei jeder Programmzeile was sie bewirkt. Versuche jeden Befehl in seiner Wirkung zu verstehen.

 

Zusatzaufgabe

Kommentiert man in dem obigen Programm in der ersten WHILE-Schleife den time.sleep-Befehl aus, wird die ausgegebene Entfernungsmessung um ca. 5 - 7 cm kürzer ausfallen. Erkläre diesen Sachverhalt.

Übung 1 - Abstandsmessung mit dem HC-SR04

Übung 1 - Abstandsmessung mit dem HC-SR04
Material
  • 1x  Raspberry Pi 3 oder 2, Anschlusskabel, Maus, Tastatur, Steckernetzteil
  • 1x  Steckbrett, klein
  • 1x  HC-SR04
  • 1x  Widerstand, 330 Ohm
  • 1x  Widerstand, 470 Ohm
  • 4x  Steckdraht
  • Tennisball, Topflappen, Stck. Pappe o.ä.
  • 1x  langes Lineal oder Maßband (ca. 30cm ... 40cm)
Aufgabe
  • Baue die Schaltung nach Vorgabe der Schaltskizze bzw. des Schaltungsaufbaus auf.
  • Verbinde das Steckernetzteil mit der Steckdose und boote den Rechner.
  • Starte über das Hauptmenü "Entwicklung - Python3 (IDLE)" die Python Shell und öffne über File - New File ein neues Editorfenster.
  • Übertrage in den Editor das Programm ra-hcsr04-01.py aus der Vorlage und speichere es anschließend ab.
  • Starte über das Konsole-Fenster durch Eingabe von sudo pigpiod den pigpio-Dämon; starte erst danach im Editorfenster das Programm über Run - Run Module.
  • Platziere nacheinander verschiedene Gegenstände in einem festen Abstand vor dem Ultraschallsensor und ließ die gemessenen Abstände ab. Schätze für jedes verwendete Material ab, wie genau die Abstandsmessung ist. Welche Schlüsse ziehst du daraus und lassen sich die Unterschiede physikalisch erklären?

Schaltskizze und Schaltungsaufbau

 

 

 

 

 

 

 

 

 

 

Abb. 1

Schaltskizze mit HC-SR04 für Abstandsmessungen mit einem Raspberry Pi3. Die Eingänge des Rechners vertragen Spannungen von max. 3,3 Volt. Der Ultraschallsensor wird mit 5V betrieben. Um sicher zu stellen, dass am Echoeingang (GPIO14) der Spannungspegel stets kleiner oder gleich 3,3V ist, wurde ein Spannungsteiler aus einem 470 Ohm und einem 330 Ohm Widerstand eingebaut.

Das Programm ra-hcsr04_01.py

Abstandsmessung Monitorschirm - Sensor

 

 

 

 

 

Abb. 2

Bestimmung des Abstandes zwischen einem HC-SR04 und einem Monitor(Glas): Abstand handgemessen: 41,3 cm. Der Mittelwert der Messreihe liegt bei 40,8 cm.

<< wird fortgesetzt >>

Druckversion | Sitemap
© Reinhard Rahner - Gettorf