Buchempfehlung:
Roboter-Autos mit dem Raspberry Pi

Roboter Autos mit dem Raspberry Pi

Der klassische Modellbau Fahrtenregler findet sich in RC Autos, Booten und Flugmodellen. Ich hatte bis jetzt für meine Roboter Autos immer H-Brücken verbaut die über eine Vielzahl an Kabeln mit dem Raspberry Pi Computer verbunden werden. Die H-Brücken mit teilweise bis zu sechs Kabeln anzuschließen hat immer wieder Potential für Fehler geboten in Form z. B. eines Wackelkontaktes oder gelösten Steckers. Mit einem elektronischen Fahrtenregler (ESC) der mit nur einem Stecker mit drei Kontakten an einem Servo-Kontroller angeschlossen ist das Fehlerrisiko deutlich geringer.

Für mein Projekt Donkeycar habe ich einen Fahrtenregler wie den nachfolgenden verbauen müssen. So habe ich mich mit dem Anschließen und der Ansteuerung im Zusammenhang mit einem Raspberry Pi auseinandergesetzt.

Raspberry Pi elektronischer Modellbau Fahrtenregler

Raspberry Pi elektronischer Modellbau Fahrtenregler

Neben dem Fahrtenregler wird noch ein PCA9685 Servo-Kontroller und ein Raspberry Pi benötigt. Der Servo-Kontroller wird am I2C Bus des Raspberry Pi angeschlossen und bietet 16 Anschlussmöglichkeiten für Standard RC Komponenten wie Servomotoren und besagten Fahrtenregler.

Für den PCA9685 Servo Kontroller gibt es eine Adafruit Bibliothek die die Ansteuerung aus einem Python Programm heraus sehr vereinfacht. Ich habe unter dem nachfolgenden Link eine Artikelserie geschrieben die in den PCA9685 Servo-Kontroller einführt und Schritt für Schritt erklärt welche Software benötigt wird.

Tutorials PCA9685 Servo Kontroller: 16-Kanal PCA9685 Servo Kontroller – Teil 1 Einführung und Aufbau

Nach folgende Bild zeigt einen Raspberry Pi mit angeschlossenem Servo Kontroller am I2C Bus. Der Servo Kontroller benötigt selber noch 5V um die Servo Motoren mit Energie versorgen zu können. Dieses Kabel ist noch nicht angeschlossen.

Raspberry Pi mit PCA9685 Servo-Kontroller

16 Kanal Servo Kontroller I2C Schnittstelle PCA9685 logisch angeschlossen

16 Kanal Servo Kontroller I2C Schnittstelle PCA9685 logisch angeschlossen

Ich habe den RC Modell Fahrtenregler in mein Donkeycar eingebaut und mit dem kleinen DC Motor des Modellautos verbunden. In dem Modell arbeite ich mit Spannungen von 7,2 V und 5V für den Raspberry Pi und den Servo Kontroller. Nach dem ich den Fahrtenregler mit dem Kanal 0 des Servo Kontrollers verbunden hatte konnte ich diesen mit meinem Python Programm ansteuern.

Autonom fahrendes Raspberry Pi KI Roboter Auto - ESC Fahrtenregler

Autonom fahrendes Raspberry Pi KI Roboter Auto – ESC Fahrtenregler

Python Programm – RC Modellbau Fahrtenregler

Mit dem kleinen Python Programm das ich geschrieben habe ist es möglich einen Fahrtenregler auf dem Kanal 0 und einen Lenk Servo auf dem Kanal 1 den Servo Kontrollers zu steuern. So ist es möglich so gut wie jedes RC Auto mit einem Raspberry Pi und dem Python Programm mit der Tastatur über SSH fernzusteuern.

Das Programm gibt es auf GitHub zum download: GitHub – Python Programm RC Fahrtenregler

Das Python Programm esc.py kann mit dem folgenden Befehl gestartet werden. Es erscheint anschließend ein Text-Menü nach dem Tippen z. B. der Pfeiltaste nach oben. Über die Pfeiltasten der Tastatur wird das RC Modellauto ferngesteuert.

Befehl: python esc.py

Das folgende Bild zeigt das Text-Menü des Python Programms für die Fernsteuerung des RC Autos.

Python RC Auto - Python Programm

Python RC Auto – Python Programm

Zusammenfassung

Wenn man einmal verstanden hat wie ein RC Modellbau Fahrtenregler mit einem Raspberry Pi angesteuert werde kann dann möchte man eigentlich keine H-Brücke mehr verbauen. Im Vergleich zu einer H-Brücke spart man sich eine Vielzahl an Kabeln und kann auf Standard RC Modellbau Komponenten zurückgreifen.

Allerdings muss man etwas mit der Nullstellung des Fahrtenreglers spielen. Dazu bitte die Dokumentation in einem Programm beachten. Denn nur wenn die Nullstellung des Habels für die Beschleunigung zu dem eingesetzten Fahrtenregler stimmt kann dieser aktiviert werden und das Auto fährt vorwärts oder rückwärts. Die Nullstellung sollte bei ca. 380 bis 420 liegen. Mein Python Programm ist entsprechend so geschrieben.


Übersicht der PCA9685 Servo Kontroller Anleitungen:

16-Kanal PCA9685 Servo Kontroller - Teil 1 Einführung und Aufbau
16-Kanal PCA9685 Servo Kontroller - Teil 2 Software Installation und Test
16-Kanal PCA9685 Servo Kontroller - Teil 3 Ansteuerung einer L298N H-Brücke
16-Kanal PCA9685 Servo Kontroller - Teil 4 Ansteuerung eines LED Bandes mit Dimm-Funktion
16-Kanal PCA9685 Servo Kontroller - Spezial: Raspberry Pi elektronischer Modellbau Fahrtenregler
(Visited 769 times, 7 visits today)