Aus Raspberry Pi Geek 07/2025

Fischertechnik Maker Kit Omniwheels (Teil 1) (Seite 2)

Um ein Fahrzeug auf Kurs zu halten, lassen Sie es im einfachsten Fall einer Linie folgen. Das wiederum gelingt leicht über ein Infrarotmodul. Das beim Roboter eingesetzte Modul [9] verfügt über einen TCRT5000-Sensor, der eigentlich Gegenstände an bestimmten Positionen erkennt. Der Preis des Moduls hängt stark von der Bestellmenge ab. Mit ein wenig Glück bekommen Sie ihn unter einem Euro. Die Reichweite des Sensors beträgt 1 mm bis 25 mm und ist über ein Poti einstellbar. Die Betriebsspannung rangiert im Bereich von 3,3 V bis 5 V.

Zusammenbauen

Um am Aufbau flexibel arbeiten zu können, spendieren Sie dem Treibermodul einige zusätzliche Steckverbinder. Über die finden wiederum die Impulsgeber der Motoren, ein Distanzsensor, ein Linienfolgesensor und die WS2812-LED Anschluss. Den dazugehörigen Schaltplan zeigt die Abbildung 5. Beachten Sie, dass die Motoren ein eigenes Batteriepack verlangen. Die Spannungsschwankungen, die diese im Betrieb erzeugen, würden den Raspberry Pi bei einer gemeinsamen Spannungsversorgung zum Absturz bringen. Die Energie für den Raspberry Pi liefert deshalb seine eigene Powerbank.

Bis auf einige Pullup-Widerstände für die Impulsgeber und den bereits angesprochenen Spannungsteiler sind die Verbindungen eins zu eins mit den GPIO-Pins des Raspberry Pis verdrahtet. Anstelle der physisch vorhandenen Pullup-Widerstände könnten Sie die GPIOs des Raspberry Pis entsprechend programmieren, um die internen Widerstände zu aktivieren. Das hat allerdings den Nachteil, dass Sie die Größe der Widerstände nicht frei wählen können. Achten Sie bei der Verdrahtung darauf, dass sich keine Leitungen in den Zahnrädern verfangen können.

Abbildung 5: Der Schaltplan zum Fahrzeug zeigt zusätzliche Steckverbinder, über die Sie die Impulsgeber der Motoren, einen Distanzsensor, einen Linienfolgesensor und die WS2812-LED anschließen.

Abbildung 5: Der Schaltplan zum Fahrzeug zeigt zusätzliche Steckverbinder, über die Sie die Impulsgeber der Motoren, einen Distanzsensor, einen Linienfolgesensor und die WS2812-LED anschließen.

Himbeere einrichten

Im nächsten Schritt bereiten Sie die SD-Karte für den Raspberry Pi vor. Für den Roboter genügt Raspberry Pi OS Lite in der 64-Bit-Fassung. Nutzen Sie zum Beschreiben der SD-Karte den Rpi-imager, in dessen Benutzeroberfläche Sie den SSH-Dienst (Abbildung 6) aktivieren. Nachdem Sie das Betriebssystem-Image auf die SD-Karte geschrieben haben, booten Sie diese in einem Raspberry Pi 4. Als Programmiersprache für das Projekt fiel die Wahl auf Python: Dank einer Vielzahl von Bibliotheken kommen Sie mit dieser Skriptsprache besonders schnell zu einem funktionierenden Roboter.

Abbildung 6: Denken Sie daran, SSH beim Schreiben des Images zu aktivieren.

Abbildung 6: Denken Sie daran, SSH beim Schreiben des Images zu aktivieren.

Bringen Sie jetzt den Raspberry Pi in Ihr Netzwerk und melden Sie sich via SSH auf der Konsole an. Die Kommandos aus Listing 1 bauen eine Experimentierumgebung auf. Damit die selbst geschriebenen Programme später Interrupts verwenden können, tauschen die letzten beiden Befehle die Bibliothek rpi-gpio gegen das Pendant rpi-lgpio aus. Wann immer Sie sich zukünftig erneut am Raspberry Pi anmelden, müssen Sie als Erstes das source-Kommando aus Zeile 8 aufrufen. Es aktiviert die passende Python- und somit die eingerichtete Entwicklungsumgebung.

Listing 1

Installationsschritte auf dem RasPi

### Raspberry Pi aktualisieren
$ sudo apt update
$ sudo apt upgrade
### nötige Pakete installieren
$ sudo apt-get install python3-dev
### Virtuelles Python-Environment
$ python -m venv omni
$ source ./omni/bin/activate
$ cd omni
### Bibliothek für das Treibermodul
$ pip install adafruit-circuitpython-motorkit
### IRQ-Verarbeitung ermöglichen
$ pip uninstall rpi-gpio
$ pip install rpi-lgpio

Damit der Raspberry Pi mit dem Treibermodul kommunizieren kann, müssen Sie die I2C-Schnittstelle aktivieren. Um die LED mit Daten zu versorgen, benötigen Sie zudem die SPI-Schnittstelle. Beide Schnittstellen knipsen Sie komfortabel mit dem Konfigurationswerkzeug raspi-config an. Starten Sie es dazu mit Superuser-Rechten via sudo raspi-config. Setzen Sie 3**Interfacing Options | I5**I2C auf Yes und anschließend den Punkt 3**Interfacing Options | I4**SPI ebenfalls auf Yes.

Um Energie zu sparen, senken Raspberry-Pi-Modelle ab der dritten Generation die CPU-Frequenz, was gleichzeitig die Frequenz des SPI-Taktgenerators verändert. In der Folge funktioniert die Datenübertragung zu den WS2812-LED nicht mehr einwandfrei. Daher müssen Sie den SPI-Generator auf eine feste Frequenz setzen, indem Sie in der Textdatei /boot/firmware/config.txt am Ende die Zeilen core_freq=500 und core_freq_min=500 hinzufügen.

Testfahrt

Das bisherige Setup testet das Programm aus Listing 2. Es initialisiert die Bibliothek für das Treibermodul und lässt den Motor M1 für eine Sekunde laufen. Wenn Sie das Fahrzeug für den Test auf ein Podest stellen, kann es sich im Fehlerfall nicht selbstständig machen. Speichern Sie Listing 2 in der Datei motor_test.py und starten Sie es via python ./motor_test.py.

Listing 2

Installation (motor_test.py)

import time
import board
from adafruit_motorkit import MotorKit
kit = MotorKit(i2c=board.I2C())
kit.motor1.throttle = 1.0
time.sleep(2)
kit.motor1.throttle = 0

Fazit

Das Fischertechnik Maker Kit Omniwheels ist ein tolles Modell, mit dem Sie Ihr eigenes autonomes Fahrzeug bauen. Um es zum Leben zu erwecken, genügt ein Raspberry Pi mit ein wenig Zusatzhardware. Im zweiten Teil dieser Reihe gehen wir genauer auf die Programmierung der einzelnen Komponenten ein und zeigen an einigen Beispielen, was das Fahrzeug alles kann. (tsc)

Der Autor

Martin Mohr hat die komplette Entwicklung der modernen Computertechnik live miterlebt. Nach dem Studium entwickelte er überwiegend Java-Applikationen. Mit dem Raspberry Pi erwachte seine alte Liebe zur Elektronik wieder.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben