US-020 Ultraschallmodul

Gast #2780482
Lesenswert?

Hallo

ich habe mir das US-020 Ultraschallmodul besorgt.
http://www.suntekstore.com/goods-14006478-us-020_ultrasonic_module_distance_measuring_transducer_sensor.html

Irgendwie komme ich mit der Inbetriebnahme nicht so ganz klar und hoffe, 
dass vielleicht jemand das selbe Teil eingesetzt hat.

Die Beschreibung ist typisch für diese Klasse: fehlerhaft und schlecht 
(man bekommt eben nur für was man bezahlt...)

Im Anhang zwei Plots, einmal ein Hindernis (großer Karton) in 5cm und 
12cm Entfernung.

Kanal 1 ist der Trigger, Kanal RxD zeigt die angeblich 9600Baud Daten - 
irgend wie passt dies aber nicht und der PC interpretiert die Rückgabe 
recht wirr, was in keinem Verhältnis zum tatsächlichen Abstand steht. 
Ich bin mir auch nicht sicher, ob das überhaupt ein richtiger serieller 
Datenstrom ist...

Kann mir jemand helfen?


Thx
Sam
Angehängte Dateien:
Gast #2780501
Lesenswert?

Woanders hört sich die Signalbeschreibung für das US-020 Modul deutlich 
anders an, nix mit UART:

In order from left to right Numbers 1, 2, 3, 4. They are defined as 
follows:
1 Pin: connect the VCC power supply (dc5V).

2 Pin: connect the external circuit Trig end, to the tube feet enter
  a 10uS more high level, can trigger modules ranging.

3 Pin: connect the external circuit of the Echo, when at the end of
  the range, the tube feet will output a high level, level for the
  ultrasonic width and time the sum.

4 Pin: pick up an external circuit.

http://de.aliexpress.com/product-fm/604000412-US-020-ultrasonic-ranging-module-5V-measurable-7M-high-stability-very-low-prices-wholesalers.html

Wie sehen denn die Signale bei deutlich größerem Abstand zur einer Wand 
aus? Bei 1 Meter dürfte sich frühestens etwa 3 ms nach dem Triggerpuls 
irgendetwas tun.
#2786328
Lesenswert?

Hi Sam,

ich habe mir auch dieses Modul zugelegt.

Zunächst ist die Beschreibung auf der Suntekstore-Seite sehr verwirrend, 
eine Nachricht mit 9600Baud konnte ich auch nicht entdecken.

Das Ganze funktioniert folgendermassen
1. einen Triggerimpuls von 10µs erzeugen
2. je nach Abstand dauert es ein wenig bis das US Signal reflektiert und 
ausgewertet wird, dann kommt am Echo Pin aber ein High Signal, dessen 
Länge dem doppelten Hindernisabstand entspricht.
3. Messen und Berechnen:  Abstand [m]=Impulsdauer [s]*340m/s / 2

Ich habe mal beispielhaft ein Impulsverlauf mit dem Logic-Sniffer 
aufgezeichnet (scheint Du nutzt das selbe Equipment :-) ).

Als ich das Modul bekommen habe, habe ich noch das Datenblatt 
nachgefordert - ist zwar in chinesisch, aber dank G****e-Translator ist 
selbst das kein Problem!

Hier noch ein Bascom-Code, der die Entfernung misst und auf ein LCD 
bringt. Und jetzt viel Spass!
1
' ---------------------------------------------------------------------------
2
'
3
'  Ansteuerung eines US-020 Ultraschallmodul
4
'  tr 2012
5
'
6
'  Funktion:
7
'  1. am Trigger Pin ein 10µs langes Highsignal erzeugen
8
'  2. am Pin Echo wird die Distanz als Pulsweite zurückgegeben
9
'
10
'  Berechnung
11
'  Pulsweite *340m /2
12
' ---------------------------------------------------------------------------
13

14
' ------------------------------- µC initialisieren
15
   $regfile = "m8def.dat"
16
   $crystal = 8e6
17
   $hwstack = 48
18
   $swstack = 48
19
   $framesize = 48
20
   $baud = 38400
21
' -------------------------------
22

23
' ------------------------------- Initialisierungen
24

25
' LCD
26
   Config Lcd = 20 * 2
27
   Config Lcdpin = Pin , Db4 = Portd.6 , Db5 = Portd.7 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portb.1 , Rs = Portb.0
28
   Config Portb.7 = Output : Lcd_light Alias Portb.7
29
   Reset Lcd_light                                          'Licht aus
30

31
   Initlcd
32
   Cls
33
   Cursor Off
34

35
' Pins
36
   Config Portc.3 = Output : Pintrigger Alias Portc.3
37
   Config Pind.3 = Input : Pinecho Alias Pind.3
38

39
' Variablen
40
   Dim I As Byte , W As Word
41

42
   Reset Pintrigger
43

44
' Programmschleife
45
   Do
46

47
      Set Pintrigger
48
      For I = 1 To 8 : Next                                    'erzeuge i*2µs langes Signal
49
      Reset Pintrigger
50

51
      Pulsein W , Pind , 3 , 1                              ' Pulsweite messen
52

53

54
      W = W * 17 : W = W / 100                              ' Länge in cm Berechnen und Nachkommastellen abschneiden
55
      Locate 1 , 1 : Lcd "Laenge " ; W ; " cm      "
56

57
      Locate 2 , 1
58
      If Err = 1 Then
59
         Lcd "Timeout"
60
      Else
61
         Lcd "       "
62
      End If
63

64
      Waitms 400
65
   Loop
Timo
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren