PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ultraschallabstandssensor - Probleme bei Signalauswertung



robo_alex
29.12.2009, 18:37
Hallo Leute,

Habe mir einen Ultraschallabstandssensor nach diesem (http://www.roboterwelt.de/images/usmod/usmod.gif)Schaltplan gebaut. Sender und Empfänger funktionieren soweit auch ganz gut.

Probleme hab ich, dass er bei der Entfernungsmessung Probleme beim Auswerten der Signallaufzeit hab. Mein Code sieht derzeit so aus:



Config Timer1 = Timer , Prescale = 256


Config Timer0 = Timer , Prescale = 1
On Timer0 Stop_us


Config Adc = Single , Prescaler = Auto



Start Adc

Enable Timer1
Enable Timer0



Enable Interrupts

While Timer1 < 1000
Empf_wert = Getadc(0)
If Empf_wert > Ewert_max And Timer1 > 70 Then
Counter_dist = Timer1
Ewert_max = Empf_wert
End If

Wend



If Ewert_max < 500 Then
Print "kein Hindernis"
Else
Dist = Counter_dist * 0.000032
Dist = Dist * 343
Dist = Dist / 2

End If

Print Dist





Das Prinzip Hinter der Messung soll sein, dass der Zeitpunkt des stärksten Echos Festgehalten wird, welches doch die Signallaufzeit darstellen müsste.
Leider kommen bei den Messungen realtiv willkürliche Ergebnisse raus. (Meistens im Bereich von 60cm, egal wie weit er vor dem Hindernis, einer Wand, steht) Was mach ich falsch/hab ich nicht beachtet?

mfg
Alex

Thomas$
29.12.2009, 20:20
piezzos passend? hast du oszi?

robo_alex
30.12.2009, 17:28
die Piezos sind 0,5 cm voneinander angebracht und parallel ausgerichtet. (mit einer leichten neigung von ca. 1° zueinander.

Es wird auch Schall registriert, nur leider weichen die Messungen stark voneinander ab.

Achja es wird ein atmega32 mit 8MHz Quarz verwendet.

Oszi hab ich zur Zeit leider nicht verfügbar...

kyodai
31.12.2009, 00:40
Ultraschall kann tückisch sein. Wenn du ein Signal bekommst dann ist die Schaltung immerhin nicht von Graundauf falsch (ansonsten würdest du nix messen). Wand sollte normalerweise zum testen ideal sein solang die nicht mit dem lack der Stealth Fighter bestrichen ist (Kleiner Scherz, das dürfte trotzdem Ultraschall reflektieren).

Jetzt sagst du die Messungen weichen stark voneinander ab, aber irgendwie scheinst du ja doch immer auf 60 cm zu kommen. Also wenn du immer auf das gleiche Ergebnis kommst dann wird der Ultraschall wahrscheinlich irgendwo in deinem Aufbau schon reflektiert und nicht von der Wand (Blindtest - frei im Raum aufgestellt, kein Hinderniss in Ultraschall Reichweite - trotzdem Signal zu messen!), dann musst du rausfinden wo er reflektiert, meist im gehäuse der Piezos falls du eins verwendest - ich sage mal bei 1 Grad zueinander können die sich normal net "direkt" erreichen, aber weil du schreibst 0,5 cm Abstand versuch den doch mal zu verringern, vielleicht "hört" der eine den anderen schon beim senden.

Signalrauschen würde ich ausschließen wenn du "immer auf 60 cm" kommst, ansonsten mal schauen daß die Leitungen nicht zu dünn sind und nicht zu dicht beieinander, das kann auch geistersignale erzeugen, gerade bei sehr dünnen isolierungen.


Ansonsten bei ultraschall - je nach Aufbau und Umgebung kommt es zu vielen Ausreissern die man nicht erwartet. besser immer 10 Messungen machen, addieren und durch 10 teilen - der Wert ist in der Regel zuverlässiger.

robo_alex
01.01.2010, 12:42
Danke, ich werd mich weiter dransetzen und dann Bericht erstatten :wink:

Klasse wie in diesem Forum auch Anfängern geholfen wird =D>

Frohes neues
Alex

Bammel
02.02.2010, 17:18
Gibt es schon was neues?
würde mich auch brennend interesieren.

Virus
02.02.2010, 18:41
ich hab mal den Ultraschall abstandwarner von Pollin, natürlicht deutlich qualitativ unterlegen an ein Oszi gehängt, erst hatte ich ein sauber triggerbares Sinussignal und dann wurde es ohne jegliche Veränderung zu einem verkrüppelten Rechtecksig. Auserdem konnte ich eine Abhängigkeit von dem Signal an dem Sender zum Signal aus dem Mirko feststellen, im Zweikanalbetrieb konnte man sehen wie die beiden verkrüppelten Rechtecksignale nahezu gleich auf ein Hinderniss reagierten.