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
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.