Radencoder

Aus c't-Bot Wiki
Wechseln zu: Navigation, Suche

Einführung

Mit Hilfe seiner beiden Radencoder kann der c't-Bot die zurückgelegte Wegstrecke bestimmen, eine bestimmte Strecke geradeaus fahren, sowie sich um einen bestimmten Winkel drehen.

Auf der Innenseite der Räder sind Encoderscheiben aufgeklebt. Diese muß man sich beim Zusammenbau selbst herstellen, indem man die Vorlage in der richtigen Größe mit einem Laserdrucker auf Transparentfolie druckt. Dann schneidet man die Encoderscheiben aus und klebt sie mit durchsichtigem Alleskleber innen auf die Alu-Räder. Auf den Encoderscheiben sind insgesamt 30 schwarze Streifen kreisförmig angeordnet. Die Radencoder, bestehend aus zwei CNY70 Opto-Reflex-Kopplern, sind so am Bot angebracht, das sie diese Streifen "sehen" können. Damit der Mikrocontroller diese Signale einfacher verarbeiten kann, werden diese durch ein invertierendes Schmitt-Trigger Gatter in Digitalsignale umgesetzt. Dann braucht der Mikrocontroller nur noch die Flankenwechsel von 'HIGH' nach 'LOW' zu zählen.

Wegstrecke messen

Mithilfe des Rad Durchmessers kann damit die zurückgelegte Wegstrecke bestimmt werden. Die Wegemessung durch Beobachtung der Räder nennt man Odometrie oder auch Hodometrie. Fehler in der Messung können sich einschleichen, wenn beim Bot auf glattem Untergrung die Räder durchdrehen. Deshalb hat der c't-Bot zusätzlich einen optischen Maus-Sensor zur Wegemesssung. Damit lassen sich solche Fehler eliminieren.

Odometrie Verfahren

Die Anzahl der Radumdrehungen zwischen zwei Mess Zeitpunkten wird gezählt. Zusammen mit dem Radumfang wird daraus die zurückgelegte Wegdifferenz berechnet:

s = Pi * d * n

Beim c't-Bot befinden sich auf der Encoderscheibe 30 schwarze Streifen, das ergibt 60 Encoderschritte pro Radumdrehung. Der Raddurchmesser beträgt 57 mm. Mit einer Radumdrehung legt der c't-Bot eine Strecke von 179mm (Pi * d) zurück. Der zurückgelegte Weg je Encoderschritt beträgt ca. 3 mm (U / 60).

Reifendurchmesser: 57 mm
Reifenumfang: 179 mm
Radabstand: 97 mm
Encoder/Weg-Auflösung: ca 3 mm

bestimmten Winkel drehen

Um den c't-Bot einen bestimmten Winkel auf der Stelle drehen zu lassen, genügt es ein Rad vorwärts die gewünschte Schritt-Anzahl drehen zu lassen, während das andere Rad die gleiche Anzahl Schritte rückwärts dreht.

Schaltbild

Bei den Rad Encodern wird das Ausgangssignal des CNY70 durch einen invertierendes Schmitt-Trigger Gatter (HC14) in ein Digital Signal gewandelt und vom Prozessor ausgewertet. Der Mikrocontroller muß deshalb nur die auftretenden Flanken zu zählen. Durch das Enable-Signal ENA_RADLED können die IR-LEDs durch den FET ein- bzw ausgeschaltet werden.

Schaltbild Radencoder

Platine

Sensorplatine links
Sensorplatine rechts

Probleme mit den Radencodern

Bei den ersten ausgelieferten Bausätzen, mußte man sich die Radencoderscheiben noch selbst auf Klarsichtfolie ausdrucken, ausschneiden und aufkleben. Mit diesen Radencoderscheiben gab es allerdings zuviele Probleme, wie Fremdlichteinstreunung, unsaubere Signale, keine eindeutige High/Low Erkennung. Mit den neueren Bausätzen werden Radencoderscheiben aus Plastik mitgeliefert (dank an ct-Bot User V2). Damit gibt es keine Probleme mehr. Besitzer der ersten Bausätze können diese neuen Radencoder bei Segor gegen Rückporto nachbestellen, bzw. bekommen diese bei einer weiteren Bestellung kostenlos mitgeliefert.

Siehe auch

Weblinks