Mobile Transportroboter gehören zu jeder modernen Fertigungseinrichtung. Wie man einen solchen Helfer baut und programmiert, lässt sich im Kleinen mit dem Fischertechnik Maker Kit Omniwheels nachvollziehen.
Der Fischertechnik-Bausatz Maker Kit Omniwheels [1] besteht aus 201 Teilen und ist als Basis für eigene Projekte konzipiert. Dadurch lässt sich vor allem die Ansteuerungselektronik frei wählen. Die Schachtel enthält vier Encodermotoren, vier Räder in Form von sogenannten Omniwheels sowie alle weiteren nötigen Teile, um ein Fahrzeug aufzubauen.
Mit der von Fischertechnik bereitgestellten Bauanleitung [2] ist das Modell (Abbildung 1) schnell zusammengesetzt. Lediglich die Montage der Omniwheels gestaltet sich etwas knifflig. Dabei sollten Sie die Anleitung sehr aufmerksam abarbeiten. Die unverbindliche Preisempfehlung für das Modell liegt bei knapp 200 Euro, einige Händler offerieren es bereits für rund 130 Euro.

Abbildung 1: Das einsatzbereite Modell ohne Elektronik fungiert als Grundlage für allerlei eigene Projekte.
Die im Lieferumfang enthaltenen Omniwheels (Abbildung 2) wurden erstmals im Jahr 1919 von J. Grabowiecki patentiert. Sie ermöglichen es dem Roboter, sich in jede Richtung zu bewegen. Dazu sind auf dem Rad zusätzliche drehbare Komponenten verbaut. Darüber hinaus kann sich das Fahrzeug um verschiedene Achsen drehen. Sämtliche möglichen Bewegungsarten visualisiert anschaulich ein PDF-Dokument [3] von Fischertechnik.

Abbildung 2: Jedes Omniwheel aus dem Bausatz enthält drehbare Komponenten, die Bewegungen in jede Richtung gestatten.
Der Encodermotor ist ein handelsüblicher Elektromotor mit einem nachgeschalteten Getriebe. Auf der Antriebsachse des Motors befindet sich ein Impulsgeber, der bei jeder Umdrehung des Motors 63,9 Impulse liefert. Er arbeitet mit einem Open-Collector-Ausgang, wodurch sich das Ausgangssignal an unterschiedliche Betriebsspannungen anpassen lässt. Der Fischertechnik-Motor verträgt dabei maximal 9 V. Weitere technische Informationen finden Sie im Datenblatt [4].
Treibermodul
Die GPIO Pins des Raspberry Pi liefern nicht genug Strom, um den Motor in Bewegung zu versetzen. Es gibt aber noch einige weitere gute Gründe, ihn nicht direkt an einen GPIO-Pin anzuschließen. Unter anderem erzeugt der Motor im Betrieb Überspannungen. Für den sicheren Betrieb benötigen Sie daher ein zusätzliches Treibermodul. Im Folgenden kommt ein speziell für den Raspberry Pi entwickeltes Exemplar zum Einsatz (Abbildung 3), das Sie für rund 32 Euro im Buyzero-Shop [5] erhalten. Mit ihm können Sie vier Gleichstrom- oder zwei Schrittmotoren ansteuern. Das verwendete Treiber-IC TB6612-MOSFET kann 3 A Spitzenstrom und 1,2 A Dauerstrom liefern.
Zum Schutz der umliegenden Bauteile haben die IC-Entwickler Freilaufdioden integriert. Die Datenübertragung zum Modul erfolgt über die I2C-Schnittstelle, wobei Sie die Adresse frei wählen können. Auf diese Weise lassen sich bis zu 32 Module an einen Raspberry Pi anschließen. Die Ansteuerung der Treiber-ICs erfolgt über den PWM-Generator PCA9685 mit 16 Kanälen (Kasten “PWM”). Regelmäßige LinuxUser-Leser kennen diesen Baustein bereits aus anderen Projekten mit Servos oder LEDs.
PWM
PWM ist die Abkürzung für Pulsweitenmodulation. Das Verfahren erzeugt ein Rechtecksignal mit konstanter Frequenz. Es variiert dabei nur das Verhältnis zwischen Puls- und Pausenzeiten. Damit lässt sich die Leistung, die an einem Verbraucher ankommt, genau einstellen.
Ein wesentlicher Vorteil der Pulsweitenmodulation liegt im Wirkungsgrad: Eine Transistorendstufe erzeugt im gesperrten und vollständig leitenden Zustand kaum Verlustleistung. Folglich wird keine überschüssige Energie in Abwärme umgewandelt. Stellt man einen Arbeitspunkt ein, der einer bestimmten Leistung entspricht, würde man im ungünstigsten Fall fast die Maximalleistung als Verlustleistung produzieren. Alte Netzteile mit linearer Regelung arbeiten auf diese Weise. Moderne Schaltnetzteile verwenden ein PWM-ähnliches Verfahren und kommen so auf einen Wirkungsgrad über 90 Prozent.
Es werde Licht
Um ungewollte Kollisionen zu vermeiden, sollten autonome Fahrzeuge auf sich aufmerksam machen. Hierzu kommen im Folgenden mehrere WS2812 RGB-LED mit 8 mm Durchmesser zum Einsatz. Da sie hierzulande nicht zu bekommen sind, bleibt Ihnen nur eine Bestellung direkt in China [6]. Bei unserem Testkauf waren die LED bereits nach einer Woche auf dem Schreibtisch, um den Zoll hat sich der Versender gekümmert.
Das Pinout der Dioden sehen Sie auf Abbildung 4. Um die LED mit der Fischertechnik-Welt zu verbinden, bohren Sie in vier passende Bausteine jeweils ein 8 mm großes Loch. Schalten Sie zunächst vier der LEDs in Reihe, indem Sie den DOUT mit dem DIN der jeweils folgenden LED verbinden. Positionieren Sie dann die LED an den Ecken des Fahrzeugs. An den Raspberry Pi schließen Sie den DIN der ersten LED an, der DOUT der letzten LED bleibt offen.
Die 3,3 V aus dem Raspberry Pi versorgen die WS2812 mit Spannung. Das ist zwar nicht der Betriebsmodus, den das Datenblatt empfiehlt, es klappt aber in diesem Fall ohne Probleme. Des Weiteren verwenden die LEDs ein sehr spezielles Datenübertragungsverfahren, um das sich glücklicherweise später bei der Programmierung eine entsprechende Bibliothek [7] kümmert. Da die SPI-Schnittstelle Verwendung findet, können Sie die Programme zur Ansteuerung ohne Root-Rechte laufen lassen.
Kollisionsvermeidung
Damit das Fahrzeug nicht gegen Hindernisse fährt, statten Sie es mit einem Distanzmesser aus. Der entsprechende Sensor HC-SR04 verwendet Ultraschallsignale und kann Distanzen zwischen 2 cm und 400 cm mit einer Genauigkeit von 3 mm messen. Je nach Bestellmenge erstehen Sie den Sensor [8] bereits für unter 2 Euro.
Die Betriebsspannung des HC-SR04 beträgt 5 V. Zwar sollen einige Modelle auch mit 3,3 V zurechtkommen, da hier aber die Angaben der Anbieter oft etwas indifferent ausfallen, nutzt der Roboter sicherheitshalber 5 V. Um dabei den Raspberry Pi nicht zu beschädigen, müssen Sie die Ausgangsspannung des Sensors mit einem Spannungsteiler herabsetzen.








