Buchempfehlung:
Roboter-Autos mit dem Raspberry Pi

Roboter Autos mit dem Raspberry Pi

Zuerst hatte ich eine kleine H-Brücke mit 2,5 A verbaut um die DC Motoren mit Strom zu versorgen. Aber dieser Typ von Motortreiber war zu klein ausgelegt und zu dem Augenblick als der Roboter auf der Stelle drehen sollte brannte der Motortreiber durch. Anschließend habe ich einen stärkeren Motortreiber gekauft mit dem es jetzt möglich ist herum zu fahren und auf der Stelle zu drehen ohne dass der Motortreiber durchbrennt. Ich habe nach diesem Motortreiber eine Zeitlang gesucht und wollte einen kaufen der mindestens 10 A pro Motor abgegeben kann. Ich habe einen Motortreiber gefunden der maximal 43 A Strom abgibt und mit einem Raspberry Pi gesteuert werden kann. Ich habe mich dann dazu entschieden den BTS7960B Motortreiber zu kaufen. Der Grund war das dieser 43 A Strom abgeben kann und das ist mehr als genug für meine DC Motoren im Roboter.

Das folgende Bild zeigt die beiden Motortreiber und den Raspberry Pi platziert auf einem Stück Pappe im Big Rob.

Big Rob BTS7960B Motor Driver 43A H-Bridge

Big Rob BTS7960B Motor Driver 43A H-Bridge

Um Ihnen das finden einer Bezugsquelle einfach zu machen hab eich hier einen Link auf den Amazon online Shop direkt zu dem BTS7960B Motortreiber eingefügt.

Loading ...

Logische Verkabelung des BTS7960B Motortreibers

Sie benötigen sechs Female-to-Female Jumper-Kabel um den Motortreiber mit dem Raspberry Pi verbinden zu können. Zwei Kabel werden benötigt um die Logik des Motortreibers mit 3,3 V zu versorgen (VCC und GND). Zwei weitere Kabel werden benötigt um die H Brücken zu aktivieren also um ein high Signal erzeugt von dem Raspberry Pi an den Motortreiber zu senden um die Drehrichtung der DC Motoren zu bestimmen /R_EN / L_EN). Die beiden letzten Jumper-Kabel werden benötigt um das PWM Signal an den Motortreiber zu senden mit dem bestimmt wird wie schnell sich die Motoren drehen sollen (RPWM/LPWM).

Das folgende Bild zeigt die verkabelten Motortreiber im Roboter.

BTS7960B motor driver

BTS7960B motor driver

BTS7960B Python Programm für Raspberry Pi

Ich musst mein schon vorhandenes Python Programm umschreiben mit dem ich bis jetzt die normalen kleinen L298N H-Brücken gesteuert habe um den BTS7960B Motortreiber ansteuern zu können. Dieses Vorgehen vereinfach es sehr das bestehende Python Programm RobotControl.py für die manuelle Steuerung des Roboters weiter zu verwenden. Es muss nur das neu entstandene Modul für die Steuerung des BTS7960B Motortreibers in das Steuerprogramm importiert werden.

Buch - Roboter-Autos mit dem Raspberry Pi: Planen, bauen, programmieren

Ich habe auch ein Buch veröffentlicht, in dem ich den Bau von Roboter Autos mit dem Raspberry Pi Computer Schritt für Schritt beschreibe. Ich erkläre das notwendige Basiswissen beginnend bei der Roboter Elektronik, über das Design des Chassis bis hin zum Navigieren nach GPS. Python ist die für diese Bauanleitung gewählte Programmiersprache. So wird im Buch erklärt wie Ultraschallsensoren ausgelesen werden können oder ein Motortreiber angesteuert wird. Auch kommen der Raspberry Pi und das Betriebssystem Raspbin nicht zu kurz. Mit all diesem Wissen aus dem Buch ist es möglich selber Roboter auf Basis des Raspberry Pi zu bauen.

Loading ...

Ich habe das Python Programm für die Ansteuerung des Motortreibers zusammen nur mit einem Raspberry Pi hier auf meiner Seite hochgeladen. Im Programm ist eine Dokumentation vorhanden die beschreibt welche GPIO Pins vom Raspberry Pi für was benötigt werden.

download: Big Rob motor controller program L298NHBigrob.py

BTS7960B Python Programm für PCA9685 Servo Kontroller

Da für die Ansteuerung im BigRob Roboter zwei BTS7960B Motor Treiber verbaut sind benötige ich auch vier PWM Signale. Der Raspberry Pi selber hat es schwer aus seiner Architektur heraus ein gutes und konstantes PWM Signal zu erzeugen. Daher habe ich in meiner neuesten Programmverison einen PCA9685 Servo Kontroller für die Erzeugung des PWM Signals eingesetzt. Alle anderen Pins um den Motor Treiber zu aktivieren sind nach wie vor am Raspberry Pi angeschlossen.

Das Programm findet sich auf GitHub unter der folgenden URL: Motor-Driver-BTS7960B-and-PCA9685

BTS7960B motor driver PCA9685 servo controller

BTS7960B motor driver PCA9685 servo controller

Zusammenfassung

Die Verkabelung des BTS7960B war direkt machbar und mit all meiner Erfahrung in dem Bau von Robotern sehr einfach. Die Weiterverwendung von meinen zuvor geschriebenen Python Programmen erleichtere die Entwicklung der Steuerung des Roboters sehr. So war es mir möglich innerhalb von Minuten die Programme wo nötig anzupassen und mit dem Big Rob herum fahren zu können. Ist schon sehr schön einen Roboter zu haben mit so viel Kraft und Drehmoment.


Artikelübersicht - Big Rob:

RASPBERRY PI ROBOTER – BIG ROB BAUANLEITUNG
RASPBERRY PI ROBOTER – PEAK POWER PACK STROMVERSORGUNG
RASPBERRY PI ROBOTER – BIG ROB 4×4 ELEKTROMOTOR ANTRIEB
RASPBERRY PI ROBOTER – BIG ROB MOTORTREIBER BTS7960B UND SOFTWARE
RASPBERRY PI ROBOTER – BIG ROB OUTDOOR-KAMERAGEHÄUSE
RASPBERRY PI ROBOTER – BIG ROB mit differential GPS
RASPBERRY PI ROBOTER – BIG ROB ZÄHNE
RASPBERRY PI ROBOTER – BIG ROB FAHRWERK OPTIMIERUNG
RASPBERRY PI ROBOTER – BIG ROB modularer Aufbau 1-2
RASPBERRY PI ROBOTER – BIG ROB modularer Aufbau 2-2

(Visited 1.130 times, 1 visits today)