IFD:GrundlagenElektronik2011/Project/Martin/Dokumentation

From Medien Wiki
< IFD:GrundlagenElektronik2011‎ | Project
Revision as of 23:52, 2 April 2012 by Martin T (talk | contribs) (Created page with "= Dokumentation | Martin | aRobot = == Idee == Grundlage des Projekts war die Erstellung einer Roboterbasis, die es mir ermöglicht, verschiedene Sensoren für die Umfeldwahrn...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Dokumentation | Martin | aRobot

Idee

Grundlage des Projekts war die Erstellung einer Roboterbasis, die es mir ermöglicht, verschiedene Sensoren für die Umfeldwahrnehmung und autonome Fortbewegung eines Rotobers zu testen. Im Rahmen der Veranstaltung wollte ich daher eine erste Variante implementieren. Um erste Erfahrungen zu sammeln, sollte ein Sensor eingesetzt werden, der mit einfachen Mitteln zu bauen ist und über die Programmierung gut gesteuert werden kann. Daher entschied ich mich für einen Linefollowing-Sensor basierend auf IR-LEDs und Phototransistoren.


Ablauf

Als Teil der Kettenreaktion erhielt der Roboter ein Piezo-Element, mit dem Druck gemessen werden kann. Gestartet wird der Roboter durch die Holzeisenbahn von Julia. Anschließend folgt er einer geschwungen Linie, an dessen Ende eine Wippe angebracht ist. Durch das Entlangfahren auf der Linie wird die Wippe ausgelöst, wodurch das Würstchen von Sebastian angehoben wird und die Musik startet.


Funktionsbeschreibung

Der Sensor besteht aus drei Bausteinpaaren, die jeweils aus einem IR-Phototransistor und einer IR-LED zusammengesetzt sind. Der Sensor wird knapp über dem Boden angebracht. Die IR-LEDs dienen als Lichtquelle und beleuchten die unmittelbare Umgebung. Je nach Oberflächenbeschaffenheit empfangen die IR-Phototransistoren das ausgesandte Licht und lassen dadurch mehr oder weniger Strom fließen. Mit einem 1 Kilo-Ohm Widerstand in Reihe und einem Abgriff zwischen beiden Elementen dient das Konstrukt als Spannungsteiler. Über jeweils einen analogen Port am Arduino kann dann für jedes Bausteinpaar die aktuelle Helligkeit ausgelesen werden.

Befindet sich nun eine schwarze Linie unter einem der Sensorelemente, verringert sich das zurückgestrahlte Licht signifikant gegenüber dem hellem Untergrund. Auf diese Weise kann die Linie detektiert werden. Je nachdem, welcher Sensor die Linie erkennt, werden die Motoren unterschiedlich angesprochen. Befindet sich die Linie unter dem mittleren Sensor, kann der Roboter mit konstanter Geschwindigkeit geradeaus fahren. Ist die Linie unter dem linken Sensor, folgt eine Linkskurve. Durch Anhalten der linken Kette folgt der Roboter dieser Kurve, bis sich die Linie wieder in der Mitte befindet. Für eine Rechtskurve verhält sich die Steuerung der Motoren analog mit der rechten Kette. Um nicht zu früh wieder gerade aus zu fahren, wurde eine Schwellwerthysterese implementiert, die einen niedrigen Schwellwert für die Fahrtrichtungsänderung und einen hohen Schwellwert für die Freigabe der Änderung beinhaltet.

Über ein Potentiometer an einem zusätzlichen analogen Eingangspin kann der Schwellwertbereich verschoben werden. So ist eine Anpassung an die äußeren Lichtverhältnisse möglich.

Die Ansteuerung des Motors erfolgt über einen Motortreiber. Dieser ermöglicht die Steuerung der Richtung, sowie der Geschwindigkeit von zwei DC-Motoren.



Code