Der SainSmart Roboter Arm ist eigentlich für einen Arduino gedacht bzw. für diesen sind die Bohrungen in die Basis gebohrt. Aber der Roboter Arm lässt sich mit seinen sechs Servo Motoren auch mit einem Raspberry Pi steuern. Dazu habe ich an der Basis ein Stück Pappe angebracht um etwas mehr Platz für den Raspberry Pi 3 Model B und den PCA9685 Servo Kontroller zu bekommen. Auf dem Raspberry Pi wird die notwendige Software installiert. Der PCA9685 Servo Kontroller steuert die Servo Motoren an und erhält selber die Befehle von dem Python Programm das auf dem Raspberry Pi läuft. So gesehen ist der Roboter Bausatz sehr flexibel denn die Servo Motoren lassen sich generell von einem Mikrokontroller oder Single Board Computer ansteuern.

Das folgende Bild zeigt meine kleine Modifikation mit der Pappe und den beiden Boards.

SainSmart 6 Achsen Desktop Roboter Arm - Raspberry Pi

SainSmart 6 Achsen Desktop Roboter Arm – Raspberry Pi

Im folgenden Abschnitt geht es um die notwendige Software für dieses Projekt.

Software Installation Roboter Bausatz

Das Ziel ist es den Roboter Arm mit einem in Python geschriebenen Programm steuern zu können. Die Befehle werden mit Hilfe des Servo Kontrollers vom Typ PCA9685 in elektrische Impulse (PWM Signale) umgesetzt die die Servo Motoren steuern. Hier kann der Raspberry Pi zwar via Software ebenfalls ein PWM Signal erzeugen aber dieses ist ziemlich ungenau und bei sechs Servo Motoren wird es wohl nicht richtig klappen.

Bitte installieren Sie die folgenden Softwarepakete auf Ihrem Raspberry Pi mit den folgenden Befehlen.

  • sudo apt-get update
  • sudo apt-get upgrade -y
  • sudo apt-get install mc -y
  • sudo apt-get install python-smbus -y
  • sudo apt-get install i2c-tools -y
  • sudo apt-get install git build-essential python-dev -y
  • sudo git clone https://github.com/adafruit/Adafruit_Python_PCA9685.git
  • sudo apt-get install flask

Jetzt haben Sie die notwendige Software auf Ihrem Raspberry Pi Computer installiert.

Hinweis: Wenn Sie gerne etwas mehr über den PCA9685 Servo Kontroller erfahren möchten dann lesen Sie sich bitte die folgende Einführung auf meinem Blog durch: 16-Kanal PCA9685 Servo Kontroller – Teil 1 Einführung und Aufbau

Python Programm – Web-Interface

Das Python Programm, dass die Befehle für die Steuerung der Servo Motoren an den PCA9685 Servo Kontroller schickt soll mit Hilfe einer Web-Oberfläche bedient werden. So ist es möglich den Roboter Arm von z. B. einem Smartphone oder Computer aus zu bedienen ohne an einem Terminal Fenster angemeldet sein zu müssen. Genau hier kommt dann auch der Flask Web Server zum Einsatz.

Hinweis: Eine gute Anleitung wie der Flask Web-Server zusammen mit einem Raspberry Pi funktioniert findet sich hier: Build a Python Web Server with Flask

Das Python Programm für die Steuerung des Roboter Arms sowie die Web-Templates, jQuerry etc. werde ich auf GitHub ablegen: <Link kommt blad>

Mit dem folgenden Befehl klont Ihr das Repository auf einen Raspberry Pi.

  • sudo git clone <Link kommt blad>

Jetzt ist die Software auf eurem Raspberry Pi für die Steuerung des Roboter Amrs vorhanden. Wichtig ist jetzt die sechs Servo Motoren an den Kanälen 0 bis 5 des PCA9685 Servo Kontroller anzuschließen. Hier hängt es jetzt davon ab in welcher Reihenfolge ihr welchen Servo am Servo Kontroller anschließt. Ich habe dies wie folgt gemacht gemacht und in dem Python Programm entsprechend hinterlegt. Da die Nummerierung am Servo Kontroller mit Null startet übernehme ich dies Nummerierung auch für die folgende Auflistung der Servo Motoren.

  • Servo 0 – Dreht den Roboter Arm links / rechts.
  • Servo 1 – neigt den ersten Teil des Roboter Arms hoch/runter.
  • Servo 2 – neigt den zweiten Teil des Roboter Arms hoch/runter.
  • Servo 3 – Dreht den vorderen Ausleger links / rechts.
  • Servo 4 – Dreht den Kopf des Roboter Arms links / rechts.
  • Servo 5 – Neigt den Kopf des Roboter Arms hoch/runter.

Jetzt könnt Ihr die Servo Motoren ansteuern aber seit vorsichtig und lest den folgenden Hinweis.

Hinweis: Der Roboter Arm ist noch nicht kalibriert und beim ersten anschalten muss darauf geachtet werden, dass sich die Servo Motoren nicht festfressen und heiß werden. Wenn dem so ist dann bitte sofort den Stecker des betroffenen Servo Motors abziehen.

Wie der Roboter Arm kalibriert wird erfahrt Ihr im folgenden Artikel dieser Serie.

Zusammenfassung

Mit dem Raspberry Pi 3 Model B und dem PCA9685 Servo Kontroller ist die Basis geschaffen den Roboter Arm zu steuern. Weiter ist die notwendige Software installiert und das Python Programm initial geschrieben. Hier bedarf es noch einigen Verbesserungen bis es sich richtig bedienen lässt und von mir publiziert werden kann. Aber zuerst muss die Kalibrierung erfolgen andernfalls macht es keinen Spaß da die Gefahr zu groß ist die Servo Motoren zu beschädigen.


Artikel Übersicht SainSmart Roboter Arm Bausatz:

SainSmart 6-Achsen Desktop Roboter Arm - Raspberry Pi
SainSmart 6-Achsen Desktop Roboter Arm – Raspberry Pi Verkabelung
SainSmart 6-Achsen Desktop Roboter Arm – Raspberry Pi Software installation
SainSmart 6-Achsen Desktop Roboter Arm – Raspberry Pi Steuerung Test
(Visited 3.684 times, 1 visits today)