Ultraschallsensor SRF05 für Entfernungsmessungen

SRF05 ist ein seit Jahren bewährter Ultraschallsensor zum Messen von Entfernungen zwischen etwa 3 cm und 4 Metern. Er wurde von Devantech speziell für den Robotik-Bereich entwickelt, ist jedoch auch für zahlreiche andere Anwendungen verwendbar.
Es handelt sich hier um die neuste Generation von Ultraschallmodulen, der SRF5 ist quasi der Nachfolger des beliebten SRF04. Im Gegensatz zum SRF04 ist beim SRF05 nur noch 1 Port notwendig. Ein Kompatiblitätsmode erlaubt jedoch auch die 2 Port Ansteuerung genau wie beim älteren SRF04.

Der SRF05 ist die preiswerte Alternative zum Devantech SRF10 mit I2C-Ansteuerung und bietet zudem noch etwas höherer Reichweite. Die Entfernung wird durch die Länge des zurückgebenen Signales bestimmt.Ein Beispielprogramm für ein Roboternet-Board findet ihr unten in dem Beitrag.

Technischen Eigenschaften

  • Betriebsspannung: 5V
  • Stromaufnahme: nur ca. 4mA
  • Frequenz: 40KHz
  • Maximale Reichweite: 4 m
  • Minimale Reichweite: 1 cm
  • Betriebsmode 1:  SRF04 kompatibler Mode mit einem Auslösepin und einem Echo-Pin (Messergebnis)
  • Betriebsmode 2: Ein Pin Mode wo Auslösung und Ergebnis (Echo) über einen Port läuft
  • 43mm x 20mm x 17mm
  • Hersteller: Devantech Ltd

Diese Dokumentation und das Beispiel wird zeigen das die Handhabung sehr einfach ist. Wenige Zeilen, z.B. in Basic, reichen aus um die Entfernung zu ermitteln. Natürlich kann der Sensor auch leicht in Assembler oder C angesprochen werden.

Betriebsmode 1 – SRF04 Kompatibler Mode – Getrennter Auslöse- und Ergebnisport

Dieser Betriebsmode nutzt unabhängige Pin´s für den Start des Messvorganges und die Übergabe des Egebnisses. Also zwei Ports müssen mit einem Controllerboard (wie z.B. RN-Control) verbunden werden. Ein kurzes High Impulse von mindestens 10 Mikrosekunden löst den Messvorgang aus. Danach muss nur noch vom Controllerboard der Echo-Pin überwacht werden. Hier erfolgt ein High-Impuls, dessen Länge proportional zur Entfernung des Objektes ist. Die gemessene Zeit wird einfach durch 29 geteilt und man erhält die Entfernung in Zentimetern. Einfacher geht’s nicht.
Wichtig ist das man die Zeit des Echo-Impules möglichst genau ermittelt, je genauer desto genauer die Entfernungsmessung. Hochsprachen oder Compiler wie Bascom verfügen in der Regel über geeignete Befehle zur Impulsmessung.

Dieser Modus ist voll kompatibel zum SRF04. Alle Programme für den SRF04 können übernommen werden.

Pinbelegung Ultraschallsensor SRF05

Timing Ultraschallsensor SRF05

 

Mode 2 – Neuer Modi mit nur einem Port für Auslösung und Messergebnis

Dieser Modus hat den Vorteil das man nur ein Pin des Controllerports belegt. Auslösung und Messen des Ergebnisses erfolgt über den gleichen Port. Um diesen Modus zu aktivieren, muss der Mode-Pin am Ultraschallsensor mit Low (GND) verbunden werden.

Nach senden des Auslösesignales, auch hier ein min. 10uS langes High Signal müssen Sie den Port auf Input Umschalten und danach auf das High-Signal des Ultraschallsensors warten. Für diese Umschaltung haben Sie genügend Zeit (mindestens 700uS), so das es auch in Hochsprachen kein Problem darstellen sollte.

Ansonsten verhält sich alles gleich wir im ersten Mode. Die Länge des zurückgelieferten High-Impulses ist proportional zur Entfernung des Objektes. Die gemessene Zeit wird einfach durch 58 geteilt und man erhält die Entfernung in Zentimetern. Einfacher geht’s nicht.

Wichtig ist das man die Zeit des Echo-Impules möglichst genau ermittelt, je genauer desto genauer die Entfernungsmessung. Hochsprachen oder Compiler wie Bascom verfügen in der Regel über geeignete Befehle zur Impulsmessung.

Pinbelegung Ultraschallsensor SRF05

Timing Ultraschallsensor SRF05

Hier wird demonstriert wie ein Programm auf einem BasicStamp-Controllerboard den Mode 2 nutzt um die Entfernung zu berechnen.:

SRF05 PIN 15 ' use any pin for both trigger and echo
Range VAR Word ' define the 16 bit range variable

SRF05 = 0 ' start with pin low
PULSOUT SRF05, 5 ' issue 10uS trigger pulse (5 x 2uS)
PULSIN SRF05, 1, Range ' measure echo time
Range = Range/29 ' convert to cm (divide by 74 for inches)

 

Berechnung der Entfernung

Wie bereits geschildert, ist die Berechnung der Entfernung sehr einfach. Man ermittelt einfach wieviel Mikrosekunden der vom SRF05 gesendete High-Impuls ist. Diesen Wert teilt man durch 58 und erhält dadurch die Entfernung in Zentimetern. Teilt man das Ergebnis durch 148, dann erhält man das Ergebnis in Inches (Zoll).

Bis zu 20 Messungen pro Sekunde sind mit diesem Ultraschallmodul möglich, also alle 50 Millisekunden ist eine Messung möglich.

Beispielprogramm in Bascom Basic für RN-MiniControl (AVR-Board mit ATMega168)

Auch auf anderen Avr-Boards wie z.B. RNBFRA, RN-Control, Arduino usw. verwendbar.

'###################################################
'srf05beispiel.bas
'Dieses Programm demonstriert die Verwendung
'des Ultraschall Entfernungssensors SRF04
'mit dem Controllerboard RN-MINICONTROL
'Verwendeter Compiler Bascom V 1.11.8.2
'
'Aufgabe:
'Entfernung wird gemessen und in Zentimetern über
'RS232 ausgegeben
'Autor: Frank
'http://www.Roboternetz.de bzw. mikrocontroller-elektronik.de/
'###################################################


'Die üblichen Definitionen bei Standardprogrammen auf Miniboard

$regfile = "m168def.dat"
$crystal = 16000000 'Quarzfrequenz
$baud = 9600
$hwstack = 32
$framesize = 32
$swstack = 32

Dim Zeitmessung As Word
Dim Entfernung As Word

Print "**** SRF05 mit RN-MINICONTROL *****"
Print "Entfernung in cm anzeigen"

Config Pind.2 = Output

Do
 Portd.2 = 0 'Port Low
 Pulseout Portd , 2 , 40 'Min. 10uS Impuls senden
 Pulsein Zeitmessung , Pind , 2 , 1
 Zeitmessung = Zeitmessung * 10 'mal 10 da Pulsein in 10uS Einheiten Ergebnis ermittelt
 Entfernung = Zeitmessung / 58 'Umrechnen in Zentimeter
 Print "Entfernung: " ; Entfernung ; " cm"
 Wait 1
Loop

Pinbelegung Ultraschallsensor SRF05

 

Richtwirkung des Sensors

Erfassungsbereich Ultraschallsensor SRF05

Erfassungsbereich Ultraschallsensor SRF05

Dimension des Sensors

Dimension Ultraschallsensor SRF05

 

Weblinks zum Thema

Bezugsquelle

Alternative Angebote bei Amazon

Achtung, bei den Angeboten bei Amazon werden zum Teil unter gleichen Namen sehr ähnliche Ultraschallsensoren angeboten. Diese sind oft weder Pin noch von der Ansteuerung kompatibel. Also genau in der Beschreibung des jeweiligen Herstellers drauf achten wie diese verwendet werden müssen.

Hailege 5pcs HY-SRF05 Ultraschallsensormodul DC 5V HY-SRF05 Entfernungsmesser Sensor Raspberry Pi
Hailege 5pcs HY-SRF05 Ultraschallsensormodul DC 5V HY-SRF05 Entfernungsmesser Sensor Raspberry Pi*
Hochwertiger HY-SRF05 Ultraschallsensor; Betriebsspannung: 5V (DC); Statischer Strom: Weniger als 2 mA.
11,79 EUR Amazon Prime
HiLetgo® HY-SRF05 Ultraschallmodul, Entfernungssensor, für Arduino UNO R3 MEGA2560 DUE, 3 Stück
HiLetgo® HY-SRF05 Ultraschallmodul, Entfernungssensor, für Arduino UNO R3 MEGA2560 DUE, 3 Stück*
Passt zu: Hergestellt für Raspberry Pi und Arduino.; - -
14,38 EUR Amazon Prime
HALJIA HY-SRF05 Ultraschall-Entfernungssensor-Modul, kompatibel mit Arduino, 3 Stück
HALJIA HY-SRF05 Ultraschall-Entfernungssensor-Modul, kompatibel mit Arduino, 3 Stück*
Betriebsspannung: 5 V Gleichstrom; Statischer Strom: < 2 mA; Erkennungsabstand: 2-450 cm
10,99 EUR Amazon Prime
sourcing map Ultraschall Modul Abstandssensor für DIY Roboter HY-SRF05 (2 Pack)
sourcing map Ultraschall Modul Abstandssensor für DIY Roboter HY-SRF05 (2 Pack)*
Verwendung des IO-Triggers für die Signale mit hohem Level (nicht weniger als 10us); Das Modul sendet acht 40kHz automatisch und erkennt, ob ein Impulssignal zurückliegt.
8,69 EUR

Letzte Aktualisierung am 26.09.2024 / * Affiliate Links 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

scroll to top