Titelgrafik www.thinkcool.ch

> Home   > Admin   > Kontakt

Sensoren

Was für uns die fünf Sinne, sind für einen Roboter seine Sensoren. Ohne Sensoren ist er absolut blind und völlig hilflos (nicht, dass dieses Problem durch den Einbau von Sensoren sofort behoben wäre...).

Der Roboter 2 verfügt lediglich über eine Sensorik zum Erkennen von Hindernissen. Dazu kann man einerseits berührungslose Annäherungssensoren, meist auf optischer oder Ultraschallbasis verwenden, oder aber Schalter, die auf Berührung reagieren. Letztere finde ich etwas witzlos, da der Roboter ja erst nach der Kollision reagieren kann - das wirkt dann ähnlich elegant, wie jemand, der mit verbundenen Augen durchs Zimmer rennt. Erstere sind dafür umso teurer, die günstigsten Annäherungssensoren (reagieren bei ca 10 cm) gibt es ab 20 Franken. Und ich brauche ja 2 davon. Also selber bauen...

Phase 1 - Denk dir deinen Sensor aus...

Das Prinzip für den Sensor (Abb.1-4) ist einfach: Es wird ein Lichtstrahl ausgesendet. Trifft dieser auf ein Hindernis, so wird er reflektiert. Dieses reflektierte Licht kann man wiederum mit einem Helligkeitsmesser messen - es wird nämlich heller! Je näher das Hindernis, desto grösser die Reflexion, desto heller. Nun gibt es aber ein Problem: Helligkeitsunterschiede können auch aus der Umgebung stammen, z.B. von einem plötzlich eingeschalteten Licht oder von unterschiedlich ausgeleuchteter Umgebung - oder schlicht durch das Spiel von Licht und Schatten.

Abstandsensor
Prinzip des Sensors: Das Licht wird gepulst gesendet. Aus der Differenz zwischen ein- und ausgeschaltetem Licht kann die tatsächliche Stärke der Reflexion und damit auch der Abstand bestimmt werden (je näher, desto mehr Licht wird reflektiert).

Die Lösung des Problems: Das Licht wird gepulst ausgesandt. Zuerst wird bei eingeschaltetem Lichtimpuls die Helligkeit gemessen, dann bei ausgeschaltetem. Die beiden Werte werden subtrahiert und man erhält die Stärke der Reflexion und damit auch - ungefähr - den Abstand des Objekts.

Dann gäbe es noch ein zweites Problem: Die Stärke der Reflexion ist aus verständlichen Gründen alles andere als proportional zum Abstand des Objekts. Ein Spiegel erzeugt noch in mehreren Metern Entfernung gut messbare Reflexionen, schwarzes Leder hingegen ist schon nach wenigen Zentimetern absolut ohne messbare Reflexion. Käme noch der Einfallswinkel des Lichts dazu... Für dieses Problem habe ich leider keine Lösung parat.

Phase 2 - Von der Theorie zur Praxis

Die Umsetzung gestaltet sich einfach: Als Lichtquelle wird eine Infrarotdiode (Abb. 4, dunkelblauer Kopf), gesteuert von einem Port des Mikrocontrollers verwendet. Als Lichtmesser dient ein Fototransistor (Abb. 4, durchsichtiger Kopf), dessen Analog-Wert vom Analog-Digital-Wandler des Controllers gelesen wird.

Wie im Schaltplan ersichtlich wird, sind die beiden IR-LEDs noch über einen Transistor angesteuert um den nötigen hohen Strom für helle Impulse zu verkraften (der Portpin würde wohl sterben). Der Vorwiderstand ist mit 10 Ohm (allerdings für beide parallel geschalteten Dioden) sehr klein und lässt Ströme bis ca 150 mA zu ((5 V - 2 V Flussspannung) / 10 Ohm verteilt auf 2 Dioden). Diese Spitzen sind nur in kurzen Impulsen (bei mir ca 1 ms Impuls / 1 ms Pause) zugelassen.

Die Fototransistoren sind über einen einfachen Spannungsteiler an den Analog-Digital-Wandler-Eingängen des Controllers angeschlossen.

Phase 3 - Vom Lötkolben an den Computer: Die Software

Prinzipiell ist die Software sehr einfach aufgebaut. Übersteigt der Unterschied zwischen 'Licht ein' und 'Licht aus' einen bestimmten Wert c, so geht man davon aus, dass ein reflektierendes Objekt sehr nahe ist. Um Störungen etwas auszufiltern, muss dies aber 3 mal in Serie so gemessen werden, um eine Kollisionswarnung auszulösen.

DO
wert1 = Wert am Analog-Digital Wandler
IR-LED einschalten
wert2 = Wert am Analog-Digital Wandler
IR-LED ausschalten
IF wert2 - c > wert 1 THEN
  kollisionscounter ++
ELSE
  kollisionscounter = 0
IF kollisionscounter > 3 THEN
  Kollisionswarnung ausgeben
LOOP

17.01.07 

Gamekonsole fertiggestellt!

Kurz und bündig: Die Gamekonsole, an der ich nun seit 4 Monaten arbeite, ist fertiggestellt und dokumentiert. Natürlich ...

15.08.06 

GBC-Projekt kommt bald...

Seit einigen Wochen arbeite ich bereits mit der Gameboy-Kamera und habe nun ein erstes Zwischenziel erreicht: Auslesen u ...

Abb. 1

Abb. 2

Abb. 3

Abb. 4