Letztes Jahr hatte ich mit dem Bau des Disketten Box Roboters angefangen. Das Gehirn des Roboters ist ein Raspberry Pi 3 Model B mit Raspbian Jessie. Das Mecanum-Auto verwendet Mecanum Räder die ein spezieller Typ von Rädern ist für das herumfahren. Mit diesen Mecanum Rädern ist der Roboter in der Lage auch seitwärts zu fahren – also von Seite zu Seite. Dabei muss jedes Rad separat voneinander angesteuert werden um die Bewegungsrichtung des Roboters zu steuern. Der Roboter verwendet dabei vier Getriebemotoren für die Drehung der Räder. Um die vier Motoren steuern zu können habe ich zwei Motortreiber installiert. Dabei verwende ich zwei L298N H-Brücken für die unabhängige Kontrolle der Motoren voneinander.
Das war genug Theorie über den Bot und wie die Mecanum Räder funktionieren. Das Video unten zeigt den Roboter wie er das erste Mal durch mein Büro fährt.
Das nächste Bild zeigt das Innere des Roboters mit dem Raspberry Pi, den beiden Motortreibern, dem Step-Down Konverter und der Raspberry Pi Kamera.
Raspberry Pi Roboter-Auto Komponentenliste
Wenn ich jetzt das Interesse wecken konnte am Bau eines Roboters zusammen mit einem Raspberry Pi der findet auf meinem Blog eine Komponentenliste. Diese Komponentenliste listet die elektronischen Komponenten oder fertigen Raspberry Pi Bausätze auf die ich selber mit gutem Gewissen weiterempfehlen kann. Die meisten aufgezählten Komponenten kommen in meinen Modellen zum Einsatz und wurden so durch mich auf Funktion und Kompatibilität mit dem Raspberry Pi hin geprüft.
Hier der Link auf die Komponentenliste: Komponentenliste
Im Heck des Roboters sind die beiden Motortreiber untergebracht. Rechts von den beiden Motortreibern ist der Step-Down Konverter angebracht. Er versorgt den Raspberry Pi mit Energie also mit 5V bei maximal 2,5A. Die Getriebemotoren sind 12V Motoren und werden über zwei 7,2V Akkus die in Reihe geschalten sind mit 14,4V über die Motortreiber mit Energie versorgt.
Auf dem Roboter selber habe ich ein Raspberry Pi Sense HAT angebracht mit unterschiedlichen Sensoren. Aktuell verwende ich die Sensoren noch nicht aktiv für die Steuerung der Bewegungen des Roboter Autos. Aber in diesem kleinen Roboter-Auto habe ich die Sensoren schon angeschlossen und eingesetzt
RASPBERRY PI SELF-DRIVING ROBOT
Aber ich werden meine Python Programm erweitern und die Steuerung der vier Getriebemotoren gestützt mit den Sensoren umsetzen. So kann der Mecanum-Roboter dann viel schönere und rundere Drehungen ausführen.
[DE_BOOK_DETAIL DE_BOOK_DETAIL=“DE_BOOK_DETAIL“]
Software: Python Programm für die Steuerung
Ich hatte schon ein Python Programm geschrieben mit dem genau ein Motortreiber gesteuert werden konnte. Jetzt habe ich dieses Programm erweitert, damit es mit zwei Motortreibern arbeiten kann. Eigentlich war es nicht schwierig. Aber immer die richtigen der 12 GPIO Pins anzusprechen war eine Herausforderung.
Auch musste ich das Python Programm anpassen mit dem die Bewegungen des Bot gesteuert werden. Das Programm hat keine GUI und es muss über das Terminal Fenster gestartet werden. Durch pressen von Tasten wird der Roboter gesteuert. Wie im nachfolgenden Bild zu sehen ist gibt es ein kleines Menü das die Steuerung kurz erklärt. Auch zeigt es die Geschwindigkeit der Motoren an.
Wenn Du das Programm herunterladen möchtest um zwei Motortreiber ansteuern zu können biete ich es zum Download als ZIP Datei an. Das Programm ist entworfen den Mecanum-Roboter zu steuern.
Hallo Ingmar,
ich bin gerade dabei das Roboterauto aus deinem Buch (Roboter-Autos mit dem Raspberry Pi 2019) nachzubauen.
Die Teile habe ich größten Teils aus deiner Liste übernommen. Jedoch habe ich als Chassiskit ein Kit mit Mecanum Rädern besorgt.
Ich möchte dein Auto mit Mecanum Steuerung bauen.
In obigem Artikel hast du schon so ein Auto gebaut.
Ich habe das nachgebaut mit zwei Motortreibern und zusammen mit deinem Code läuft das Auto.
Nun möchte ich gerne die beiden L298N Motortreiber zusammen mit dem Servocontroller aus obigem Buch verbinden.
Meine Fragen dazu:
Müssen ENA und ENB von beiden L298N mit dem Servocontroller verbunden werden?
Einmal auf 0 + 1 (PWM) und der andere auf 2 + 3 (PWM)?
Hast du dazu zufällig ein Python Beispiel, wie deine Codes erweitert werden müssen?
Hast du zufällig deine 2019er Buch Auto schon mal mit zwei L298N und Mecanumräder gebaut?
Ich hoffe es ist ok, dass ich „du“ schreibe.
Viele Grüße
Franz Rappel
Hallo Franz,
der PCA9685 kann einmal das PWM Signal erzeugen für Pin ENA und ENB aber eben auch für IN1 bis IN4 ein HIGH/LOW Signal. So kann man via I2C Bus und einem PCA9685 Servocontroller einfach zwei oder mehr L298N Motortreiber ansteuern.
Das Setup habe ich hier einmal erklärt allerdings nicht für einen Raspberry Pi. Aber das Prinzip ist ja das Gleiche.
Hier geht es zur besagten Anleitung; https://custom-build-robots.com/roboter/esp32-cam-roboter-auto-mit-live-video-stream-selber-bauen-verkabelung-allgemein/13457
Ich wünsche Dir viel Erfolg,
Maker