Tut mir leid: Eine Bolzplatzverletzung hat mir die vergangenen Tage so stark zu schaffen gemacht, dass ich nicht am Schreibtisch arbeiten konnte. Trotz phantastischer Physiotherapie bekamen wir die eingeklemmten Nerven nicht frei, so dass wir leider verspätet in unserer Serie fortsetzen müssen. Dieses kann unserem RoboSoccer nicht passieren, da dieser keine Schmerzen empfindet.

In diesem Beitrag wollen wir uns das erste Mal eingehender mit dem Modul 1 beschäftigen. Dieses Modul haben Sie vielleicht schon bei unserem Projektlieferanten qfix erworben, sonst sollten Sie das jetzt nachholen, wenn Sie mitbasteln möchten.

In diesem ersten Modul befinden sich das RoboSoccerBoard, der Akku mit zugehörigem Ladegerät sowie ein Parallelportkabel zur Kommunikation zwischen dem RoboSoccerBoard und dem Computer.

Jetzt kommt vielleicht der Einwand: Wir haben keinen Parallelport an unserem Computer. Nun, dafür ist vorgesorgt, Sie können auf der qfix-Webpage einen USB-Adapter erwerben.

Für die Bastler unter Ihnen sei unsere neue Rubrik "Bastelecke" erwähnt, wo man zu den jeweiligen Tasks das benötigte Material sowie weiterführende Links findet. Dieses mal benötigen wir ein Potentiometer (einstellbarer Widerstand) mit einem Widerstandswert von 1KΩ bis 10KΩ, sowie einen dreipoligen Platinen-Steckverbinder mit einem 2,5 mm Rastermaß (Artikelnummer 741760); das Einfachste ist, diesen Bastelbedarf bei Conrad zu kaufen.

Bevor wir mit den ersten Schritten der Programmierung unseres RoboSoccerBoards beginnen, sollten wir das mitgelieferte Akkupack aufladen. Dazu verbindet man einfach das Pack mit dem Ladegerät, um dieser Kombination dann die benötigten 230 Volt zuzuführen.

Da der Ladevorgang geraume Zeit in Anspruch nehmen wird, widmen wir uns währenddessen dem Aufbau des RoboSoccerBoards. Das hierfür benötigte Controllerboard wurde von Stefan Enderle von der Firma qfix für den Einsatz im Roboterfußball entworfen. Unsere Entscheidung, auf dieses Board zurück zugreifen, hatte im Vorfeld zu einigen internen kontroversen Diskussionen geführt. Verschiedene Aspekte haben dann die Entscheidung beeinflusst: Zum einen möchten wir einem breiteren Publikum das Mitmachen ohne jegliche Vorkenntnisse ermöglichen, zum anderen wollen wir auch den ambitionierten Interessenten ansprechen. Einen Mittelweg zu finden war nicht einfach.

Controllerboard - Was versteckt sich hinter diesem Begriff?

Das vor Ihnen liegende Controllerboard ist für die gesamte Steuerung des Roboters zuständig. Neben dem Mikrocontroller (µC) beherbergt das Board auch Bausteine zur Ansteuerung der Aktuatoren und zur Stromversorgung der Sensoren, des weiteren befinden sich für Testzwecke 4 Taster und 4 LED's darauf.

Der wichtigste Baustein auf dem Controllerboard ist der Mikrocontroller ATmega32 von Atmel , welcher auf einer AVR - Architektur (Advanced Virtual RISC) basiert. Ein Mikrocontroller ist ein spezieller Prozessor, der neben der CPU (Central Processing Unit) sowohl über einen internen Speicher als auch über verschiedene Kanäle zur Ein- bzw. Ausgabe (I/O-Ports) verfügt.

Zunächst zur eigentlichen Rechen- und Steuereinheit, der CPU. Der ATmega32 besitzt eine RISC (Reduced Instruction Set Computing) Architektur. In solchen Architekturen verfügt der Prozessor zwar nur über wenige Befehle, kann diese dafür aber sehr schnell ausführen. Die Erzeugung der Taktfrequenz von 8 MHz erfolgt mit einem internen Taktgenerator.

Für die Programme, die wir später vom Computer in den Controller laden, stehen 32 KByte Flash-Speicher zur Verfügung. Dieser Speichertyp, der vorrangig in USB-Sticks, MP3-Playern und Digitalkameras Verwendung findet, ist nichtflüchtig: Beim Ausschalten geht der Programmcode nicht verloren. Für die Speicherung von Daten kann man einerseits bis zu 2 KByte RAM (Random Access Memory) nutzen. Dieser Speicher ist flüchtig und verliert mit dem Ausschalten seinen Inhalt. Andererseits ist auch ein nichtflüchtiger Datenspeicher vorhanden, nämlich 1 KByte EEPROM (Electrically Eraseable Programmable Read Only Memory). Der Zugriff auf diesen Speicher ist jedoch für den Programmierer schwieriger als beim RAM.

Für die Kommunikation mit der Außenwelt hat der Mikrocontroller die 4 Ports A bis D, die jeweils über 8 Kanäle verfügen. Mit dem Port A werden die auf dem Board befindlichen Taster T0 bis T3 und die analogen Eingänge An0 bis An3 abgefragt.