Absender: Peter Jonas
Datum: Mi, 29.03.2006 08:49:08
Hallo Herr Thiele, zunächst einmal vielen Dank für Ihre Bemühungen, den Sensorproblemen auf die Spur zu kommen. Dazu einige Bermerkungen: 1. Spikes im Ausgang Hier wäre es interessant, das Ausgangssignal der Sensoren in realer Bot-Umgebung zu sehen, und zwar für unterschiedliche Abstände und für reflektierenden Boden (Parkett) und nicht reflektierenden Boden (Teppich). 2. Betrieb über BS250 Mich würde interessieren, ob es überhaupt einmal eine sinnvolle Anwendung geben wird, bei der die Sensoren ein- und ausgeschaltet werden (soweit ich mich erinnere, benötigen die Sensoren deutlich mehr als 50 ms, um zu ?booten?). Ansonsten ist das Überbrücken des BS250 eine wirkungsvolle Maßnahme, die bei meinem Bot auch in Ergänzung zu den 100 uF-Elkos noch eine deutliche Verbesserung brachte. 3. Messzyklen Ich gehe davon aus, dass das PSD-Element aufgrund der Scheibendrehung eine Rechteckspannung liefert, deren Flanken nicht steil, sondern schräg sind. Wenn der Sensor dieses empfangene Signal abtastet, wird es auch Abtastzeitpunkte während dieser Flanken geben. Dadurch entstehen dann die schmalen Stufen zwischen den eigentlichen breiteren Werten. Da die Drehung der Scheibe und die Taktung des Sensors asynchron zueinander sind, variiert der Meßwert dieser zusätzlichen Stufe in der Höhe natürlich. Schaltungstechnisch könnte man das evt. in den Griff kriegen, indem man am Sensor detektiert, wann die LED pulst, und davon abhängig dann den AD-Wandler des Bots steuert, so dass Messungen nur während der richtigen Sensorwerte stattfinden. Dafür könnte man am Sensor den Meßpunkt verwenden, der im Steckerbereich neben dem Vcc-Anschluß liegt (siehe hierzu http://people.ee.ethz.ch/~althaufe/robots/8bit/) . Ich bezweifele jedoch, dass im realen ?Botleben? diese Zwischenwerte eine Rolle spielen, denn die zappelnden Messwerte treten ja auch auf, wenn sich der Abstand nicht ändert. 4. Abstrahlwinkel (und optische Interferenzen) Dies scheint mir der wichtigste Einflußfaktor zu sein, wenn man bereits die Versorgungsspannung durch die einschlägigen Maßnahmen geeignet geglättet hat. Hier spielt ein evt. stark reflektierender Boden (Parkett) eine große Rolle: So weisen linker und rechter Sensor z.B. unterschiedliche maximal messbare Distanzen auf, weil das Licht des linken Sensors auf dem Parkettboden reflektiert wird und in einem anderen Winkel am PSD-Element auftrifft als es beim rechten Sensor der Fall ist. Hier hilft es, den linken Sensor um 180 Grad zu drehen, und evt. (wie ich es gemacht habe) den Anschlußstecker und dazugehörendes Platinenstückchen vom Sensor zu entfernen, damit diese nicht ins Transportfach des Bots hineinragen. Auch die Wirkung der ?Scheuklappen? hängt stark von der Umgebung und dem Boden ab. Ich konnte die Störungen z.B. deutlich vermindern, indem ich auf der einen Seite einen Pappstreifen oberhalb des Sensors und auf der anderen Seite unterhalb des Sensors anbrachte. Wenn ich dann allerdings den Sensor drehte, waren die Störungen wieder da, weil nun das Streulicht von ganz anderer Seite kam. Die unregelmäßigen niederfrequenten Störungen haben m.E. die Ursache darin, dass das Licht des einen Sensors den jeweils anderen Sensor beeinflußt. Da beide Sensoren asynchron zueinander arbeiten, gibt es Zeitpunkte, wo der andere Sensor blind für dieses Streulicht ist, und andere Zeiten, wo er es als Messwert interpretiert. Man erhält eine Schwebung, die von der Frequenzdifferenz beider Sensoren abhängt. Denkbar ist, dass bei manchen Anwendern diese Schwebungen weniger störend sind, weil hier die Differenz der Frequenzen anders ist. Hier müsste man also einen Weg finden, die beiden Sensoren zu synchronieren. Evt. könnte man auch hier den oben beschriebenen Messpunkt beider Sensoren verwenden, um zumindest ?unschöne? Messungen zu verwerfen, die sich aus einer bestimmten Lage der Sendeimpulse zueinander ermitteln lassen. Da Sie ja die technischen Meßmöglichkeiten haben, würde mich interessieren, wie sich diese Störungen über die Zeit (abhängig vom Boden und Distanz) zeigen (Speicheroszilloskop). Eine weitere unschöne Wirkung hat auch die Linearisierung der Sensorkennlinie: Da die Kennlinie ja gerade bei größeren Distanzen deutlich abflacht, muss hier durch einen entsprechend großen Korrekturfaktor versucht werden, die Kurve zu begradigen. Dass heißt aber auch, dass die Störsignale gerade in diesem Bereich zusätzlich verstärkt werden. Der Störabstand bei großen Distanzen ist ja besonders klein, weil der Sensor hier sowieso die kleinste Ausgangsspannung liefert und alle Störungen relativ stark wirken können. Beim weiteren Vorgehen sollte man sich vielleicht mit einer empfindlichen Infrot- oder SW-Kamera mal die Reflexionen anschauen, die auf die Sensor zurückfallen. Evt. kann man dadurch die Scheuklappen weiter optimieren. Ausgehend von den diversen Oszilloskopmessungen und -aufzeichnungen sollte man dann gezielt in der Software versuchen, das Preoblem zu mindern. Ganz interessant in diesem Zusammenhang ist übrigens der Thread im ctbot-Forum (insbesondere die Bilder): http://www.ctbot.de/forum/probleme-mit-den-sharp-gp2d12-t115.html http://www.ctbot.de/forum/linker-abstandssensor-umgebaut-t295.html Beste Grüße Peter Jonas -- Bis zu 70% Ihrer Onlinekosten sparen: GMX SmartSurfer! Kostenlos downloaden: http://www.gmx.net/de/go/smartsurfer