Robo3

Dieser Roboter ist recht einfach aufgebaut. Er hat einen mehrfach programmierbaren Mikrocontroller und zwei Schrittmotoren, mit denen er fahren und lenken kann. Um den Roboter mehr Einsatzmöglichkeiten zu geben, wurde zusätzlich mit verschiedenen Erweiterungen bestückt.  Der MCU hat hierfür 7 freie digitale I/O Ports zur Verfügung. Zwei Ports werden bei mir jedoch noch von zwei Status LEDs belegt, so dass 5 Ports zur Erweiterung übrig bleiben. Die Materialkosten betragen ohne Accus knapp 20 ¤.

Hier die Daten

Erweiterungen

Infrarot Empfänger
Mit Hilfe eines angeschlossenem IR Empfängers kann man dem Roboter von außerhalb Befehle geben. Der Vorteil ist, dass jede beliebige IR Fernbedienung (z.b. die eines Fernsehers) zur Steuerung benutzt werden kann. Zum Empfang wurde ein TSOP1738 Empfänger Baustein verwendet. Da der Empfang so doch recht unzuverlässig war, wurde ein weiterer Empfänger parallel geschaltet (TSOP1736).

Funkempfänger
Ein recht günstiger Funk Empfänger (c.a 15¤) ermöglicht es direkt per RS232 Daten an den Roboter zu senden. Da der AT90S2313 einen Hardware RS232 Port besitzt, wird keine aufwendige Programmierung zur Decodierung der Daten benötigt. Die Daten lassen sich bequem mit einem PC senden. Leider verhindern hier die Motoren einen zuverlässigen Empfang, so dass nur empfangen werden kann, während die Motoren abgeschaltet sind.
Inzwischen habe ich den Funk Sender und Empfänger jedoch in meiner Funkübertragung verbaut.

Taster
Zwei einfache Microschalter vorne am Roboter angebracht, ermöglichen es dem Roboter Hindernisse links und rechts zu erkennen. Je nach Programmierung, kann der auf diese entsprechend reagieren. Die Taster lassen sich im Gegensatz zu den vorherigen Erweiterungen auch nicht durch die Motoren stören. Ganz nebenbei sind die Taster auch die günstigste und interessanteste genannte Erweiterungsmöglichkeit. Prinzipiell ließen sich auch noch einige Taster hinten und unten am Roboter befestigen um Treppen oder Hindernisse beim Rückwärts fahren zu erkennen.


Hier der Schaltplan

Programmierbeispiele

robo3-ir-remote.bas Steuert den Roboter per Infrarot Signal. Mit etwas Übung lässt er sich mit jeder beliebigen TV/Videorecorder/Stereoanlangen Infrarot Fernbedienung steuern. Steuerung: Eine Fernbedienungstaste eine bestimmte Zeit drücken und dann loslassen, wählt die Fahrtrichtung aus. Danach wieder eine Taste drücken sorgt dafür, dass die Fahrtrichtung beibehalten wird, bis die Taste erneut losgelassen wird. Benötigte Erweiterungen: Infrarot Empfänger
robo3-funk-remote.bas Gibt dem Roboter per Funkbefehl die Drehrichtung und Geschwindigkeit der Motoren vor. Es muss ein entsprechendes Byte z.b. mit dem PC dauerhaft gesendet werden (PC Programm muss selbst geschrieben werden). Leider gibt es hier dass Problem, dass die Motoren den Funkempfänger stören und so die Befehle nicht immer korrekt empfangen werden :-(  Benötigte Erweiterungen: Funkempfänger
robo3-kursfahr.bas Per Funkempfänger werden Daten empfangen, welcher Motor wie lange in welche Richtung drehen soll und diese Daten dann im EEProm des Controllers gespeichert. wird ein Taster berührt, wird dann die einprogrammierte Strecke abgefahren. Sollte während des Fahrens einer der Taster von einem Hindernis berührt werden, wird die Fahrt abgebrochen. Es können bis zu 60 Motor Bewegungen abgespeichert werden. PC Programm zum Senden der Streckendaten muss selbst geschrieben werden. Benötigte Erweiterungen: Taster, Funkempfänger
robo3-wandvermeider.bas Der Roboter fährt herum, und versucht Hindernissen auszuweichen. Benötigte Erweiterungen: Taster
robo3-wand-folger1.bas Der Roboter fährt geradeaus, sobald er auf einer Seite ein Wand findet, versucht er dieser zu folgen. Benötigte Erweiterungen: Taster
ircrt-02.c Steuerung des Roboters mittels IR-LCD. Benötigte Erweiterung: Infrarot Empfänger.
rc5-drive_final1.zip
Steuerung des Roboters mit Hilfe einer gewöhnlichen Infrarot Fernbedienung, die die Signale im RC5 Format sendet. Zusätzlich kann der Weg aufgezeichnet und wieder abgefahren werden oder ein automatische Fahrt eingestellt werden bei der der Roboter entweder eine Wand folgt oder sich von ihr fern hält. In gewisser Weise enthält die Software also teilweise die Funktionen von den obigen Dateien robo3-ir-remote.bas, robo3-kursfahr.bas robo3-wandvermeider.bas und robo3-wand-folger1.bas. Benötigte Erweiterungen: Infrarot Empfänger, RC5 kompatible Fernbedienung und für manche Funktionen die Taster.

Bilder des Roboters (Vergrößerung durch klicken)

Roboter nur mit IR-Empfänger Bild mit Funkempfänger
Räder mit Klebeband für bessere Haftung
Bild des Roboters Robo3 ohne Funkempfänger Roboter Robo3 mit Funkempfänger
Roboter Robo3 mit Klebeband für bessere Haftung
Roboter mit Taster (alt) Roboter mit Taster (neu) Der RS232 Funksender
Roboter mit Taster Roboter von vorne
Roboter mit zweitem IR Empfänger (neu)




Probleme mit dem Roboter

Es gibt Probleme mit der Spannungsversorgung, da der Verbrauch der Motoren die Spannung zu stark fallen lässt und so dem Empfang des IR- und Funk- empfängers stark behindert. Für den Abfall der Spannung sind weniger die Accus, sondern größtenteils die schlechten Kontakte zwischen Batteriehalter und Accus verantwortlich. Dickere Leitungen und ein besserer Batteriehalter dürfte hier Abhilfe schaffen. Die Holzstäbe im viertem Bild wurden durch Kabel ersetzt, da sich die starren Holzstäbe im vorletztem Programmierbeispiel zu leicht in der Wand verhakten.

Grenzen des Roboters

Zum einen schließen die starken Störungen der Motoren gewissen Erweiterungen aus. Zum anderem bietet der Roboter nur begrenzt Raum und Kraft um größere und schwerere Erweiterungen aufzunehmen. Auch fährt der Roboter nur auf ebenem Untergrund zuverlässig den vorgegebenen Kurs. Nicht zuletzt verhindern die 2KB Programmspeicher komplexere Programme und fehlende A/D Ports verhindern Beispielsweise einen vernünftigen Anschluss von Lichtsensoren.

Der Nachbau des Roboters und die Benutzung der Programmierbeispiele erfolgt auf eigene Gefahr!

Wie programmiere ich den Mikrocontroller?

Eine kurze Einleitung gibt es Hier.

Zu meiner Startseite

zuletzt aktualisiert: 29.04.2006