Forum: Mikrocontroller und Digitale Elektronik US-020 Ultraschallmodul


von Sam (Gast)


Angehängte Dateien:

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

von Werner (Gast)


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.

von Timo R. (tire)


Angehängte Dateien:

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

von Timo R. (tire)


Angehängte Dateien:

Lesenswert?

mmmh, da hat was nicht mit dem Upload der Anhänge funktioniert

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.