c't Projekte - c't-Bot und c't-Sim -
Mailinglisten
[Voriger (Datum)]
[Nächster (Datum)]
[Voriger (Thread)]
[Nächster (Thread)]
[Nach Datum][Nach Thread]
Absender: Torsten Evers
Datum: Fr, 17.03.2006 13:54:17
In-reply-to:
<441A94E3.6060709@xxxxxxxxxxxx>
References:
<9612803660.20060317112342@xxxxxxxxxxxxxxxxx> <8614128726.20060317114547@xxxxxxxxxxxxxxxxx> <441A94E3.6060709@xxxxxxxxxxxx>
Hallo Herr Thiele und Herr König,
Am Freitag 17 März 2006 11:52 schrieb Peter König:
> Thorsten Thiele schrieb:
> > Erste Einschaetzung: problematisch ist wahrscheinlich weniger das
> > Fremdlicht als mehr die Oberflaechentextur der Tischlampe. Der Sensor
> > muss eine Chance haben, das von ihm selbst abgestrahlte IR-Licht in
> > vernuenftiger Menge zurueckzubekommen. Die Mattglas-Lampe wird
> > vermutlich einen grossen Teil dieses Lichtes entweder durchlassen oder
> > streuen.
>
> Was ich gleich hätte schreiben können: Im ausgeschalteten Zustand der
> Lampe bekam ich realistische Werte... 8-)
hierzu möchte ich kurz meine Erfahrungen mit den Distanzsensoren schildern:
Nachdem auch bei mir die Werte zunächst sogar über alle drei Hex-Stellen
schwankten und so natürlich keine Sinnbringende Ermittlung der
Kennlinienwerte a und b möglich ist, habe ich folgende Maßnahmen ergriffen
und die dargestellten Ergebnisse erhalten:
1. Messen des Widerstands zwischen Aluträger und Gehäuse der Sensoren
Dabei erhiehlt ich zunächst das Ergebnis: 4,7kOhm. Nach bekleben des
Aluträgers mit Isolierband und der Verwendung einer Unterlegscheibe war der
Widerstand dann unendlich. Kurze Momente der Freude später sponnen die
Sensoren wieder. Nachmessen ergab wieder 4,7 kOhm. Es stellte sich heraus,
dass nun ein Schraubenkörper die Wandung der Öse im Sensor berührte.
Ich legte dieses Vorgehen daher zunächst ad acta, da mir hierzu keine
geeignete Lösung einfiel.
2. Softwareseitiges Entprellen
Auf www.ctbot.de gibt es einen Patch, der Spitzenwerte ausfiltert (Werte, die
sich um die Höhe des letzten Messwerts von diesen unterscheiden, werden
verworfen. Link:
http://www.ctbot.de/forum/patch-distanzsensoren-schlagen-kurzzeitig-sehr-stark-aus-t203.html
Dies bewirkt zwar ein bischen mehr Stabilität, wenn man die Werte in
bot-local.h auf die ungefähren Messwerte anpasst aber eine vernünftige
Einstellung auf die Kennlinie der Sensoren ist so nicht möglich, d.h. es
reicht maximal zur Definition einer bestimmten Entfernungszone, bei der man
z.b. umdrehen möchte.
3. Patch wie auf ct-bot.de empfohlen (2x 100nF Kondensatoren zwischen VCC und
GND des Sensors)
Sorgt bei mir nur dafür, dass die Sensoren beim Einschalten des Bots zunächst
auf sehr hohen Werten sind und sich dann langsam einpegeln. Danach schwanken
die Werte wie schon zuvor.
4. Befestigung der Sensoren mit doppelseitigem Klebeband
Ich habe die Sensoren dann mit doppelseitigem Klebeband fixiert, um einen
Kontakt mit dem Aluträger komplett zu verhindern und mittels Isolierband den
Sensor noch von der Sensorplatine isoliert. Widerstand zwischen Sensorgehäuse
und Aluträger ist nun dauerhaft unendlich.
Die Messwerte schwanken zwar immer noch über die letzten zwei Stellen aber ich
habe damit einmal die Werte a und b bei mir bestimmt (51000 und 45 bei mir).
Die Entfernungsmessung arbeitet nun besonders im Bereich 10-50cm recht gut
und hat nur wenig Fehler.
Einschränkungen die dabei noch geblieben sind:
Streulicht von der Oberfläche ist anscheinend noch ein sehr grosses Problem.
Auf einer glatten Tischoberfläche sorgt es für Schwankungen um bis zu 5-10 cm
in der Entfernungsmessung. Bei matten Oberflächen reduziert sich dies auf
beinahe Null. Man könnte dies evtl. verhindern, indem man den nach unten
"schielenden" Sensor dreht, was aber iirc mit der Ladeklappe kollidieren
würde. Tut man dies jedoch und bringt ggfs. gar noch einen kurzen
Pappstreifen als "Sichtschild" unter den Sensoren an, arbeitet die Messung
auch auf glatten Flächen recht gut. Allerdings muss man den Sensor senkrecht
zur Oberfläche neigen (Unterlegscheiben bei Schraubenbefestigung oder dickere
Klebefläche) um wirklich die Entfernung zur Wand und nicht eine Schräge zu
messen.
Dazu bleibt der "Fehler" mit durchsichtigen Körpern.
Alles in allem denke ich, eine Lösung wie ein Radarmodul (KMY24 z.B.,
Datasheet gibt es hier:
http://www.ortodoxism.ro/datasheets/infineon/1-kmy24.pdf) wäre besser,um vom
Licht unabhängig Hindernisse erkennen zu können.
Mfg,
Torsten Evers