PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abstandsberechnung Problem mit SharpGP2D120



ollivah
12.08.2009, 16:53
Hallo Gemeinde!

Ich hab da mal wieder ein Problem mit dem Sharp GP2D120.
Und zwar hänge ich nun seit mehreren Stunden vor der Abstandsberechnung.
Wie hier im Wiki, und auch auf vielen anderen Seiten zu lesen, habe ich Folgendes versucht:

D = A/(X-B) wobei
A = (X'-X) D'D/(D-D') und
B = (D'X' - DX)/(D' - D)

Das Problem dabei ist, dass ich an den Sensoren einen Spannungsteiler habe, Verhältnis U2 zu U1 = 0,41.
Die Sensoren habe ich an ein Arduino angeschlossen, und dort noch einen Spannungsteiler vor den aRef gesetzt. Verhältnis hier ist 0,32.

Ziel nun ist es, vom Arduino aus die korrekten Abstandswerte ausgegeben zu bekommen.
Dies ist mir jedoch nicht möglich, ich bin langsam am verzweifeln.
Hat jemand ne Idee, wie ich die korrekten Werte errechnen kann?

Momentan habe ich zum errechnen der Konstanten die Werte des AD Wandlers mit 0.32 multipliziert, und dann in die o.g. Formeln eingesetzt.
1. Messung: Abst: 10 cm, A/D: 340, Mal 0.32: 108,8
2. Messung: Abst: 20 cm, A/D: 155, Mal 0.32: 49,9

Das ergibt die Konstanten A: -1184, und B: 168.

Das klappt auch soweit. Wenn ich jetzt allerdings den Wert eines andern Abstandes als den, den ich zur Konstantenberechnung genutz habe, in die Formel einsetze, bekomme ich einen falschen abstand heraus.

Probe: Abstand 15 cm, A/D: 220, *0.32: 70,4

Erhalten tue ich dann mit den "Konstanten" 12,13 cm Abstand.
Kann mir von euch wer sagen wo mein Denkfehler liegt?


Vielen Dank, und Gruß,

ollivah

oberallgeier
12.08.2009, 20:06
... Sharp GP2D120 ... Abstandsberechnung ...Wolln wir mal so sagen: ich liebe Mathe nicht so sehr, dass ich komplizierte Rechnungen durchführen möchte. Daher habe ich mir das beim GP2D.. einfach gemacht. Schau Dir dazu vielleicht mal dieses Posting (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=384168&sid=a50d295d0b6de4b4a553665aca389e97#384168) an. Dort ist erklärt, was ich mit diesem Diagramm gemacht habe, mit dem ich - saubere, konstante Versorgungsspannung des Sharp und des Controllers vorausgesetzt - Genauigkeiten von rund 1 mm, teilweise besser, hinbekomme:

................http://oberallgeier.ob.funpic.de/GP2D120-ADC.jpg

Nachteil: man bekommt dabei nicht das Extremum in der Nähe des Sensors. Damit kann ich leben . . . . .

ollivah
12.08.2009, 20:38
Ich habe es inzwischen hinbekommen, lasst es mich noch verifizieren, dann melde ich mich nochmal.
Danke trotzdem!

Grüße,

ollivah

ollivah
13.08.2009, 11:29
So, nun ist es amtlich, es klappt auch bei mir.
Es hat sich herausgestellt, dass eine Verkettung von Fehler dazu geführt hat, dass es nicht klappt.

U.A. war mein Versuchsaufbau schuld.
Lösung ist ganz einfach. Zum errechnen der Konstanten mittle ich 500 Werte des AD-Wandlers. Mit den dabei herauskommenden Werten lassen sich recht gute Näherungen erreichen.
Alle sechs Sensore geben nun brav die Distanz zu einem Objekt zurück.

Danke für die Hilfe,
gruß,

ollivah