Nach dem im Teil 1 die Grundlagen besprochen wurden und der Servo Kontroller mit dem Raspberry Pi verbunden wurde folgt jetzt die Software Installation. Nach der Installation der notwendigen Programm auf dem Raspberry Pi zeige ich euch wie Ihr einen Servo testen könnt ob dieser sich auch bewegt. Das wäre dann der erste Schritt um einen Servo mit dem PCA9685 Servo Kontroller Board über einen Raspberry Pi anzusteuern um z. B. ein Modellauto oder Roboter damit zu steuern.
Raspberry Pi – Software Installation
Der 16-Kanal Servo-Kontroller wird wie im vorherigen Abschnitt erläutert über den I2C Bus des Raspberry Pi angesteuert. Damit Ihr den I2C Bus am Raspberry Pi verwenden könnt müsst Ihr diesen erst einmal im Betriebssystem Raspbian aktivieren. Dazu geht ihr einfach in das Raspberry Pi eigene Konfigurationsmenü und setzt den entsprechenden Radio Button wie im folgenden Bild zu sehen ist auf „Aktiviert“.
Anschließend startet ihr den Raspberry Pi neu. Ab jetzt ist der I2C immer aktiv und kann schon fast verwendet werden. Damit Ihr den Bus ansprechen könnt muss unter Raspbian noch etwas Software installiert werden. Das erkläre ich euch im nachfolgenden Abschnitt wie genau das funktioniert.
I2C Bus Software installieren
In einem nächsten Schritt installiert ihr noch die Software die notwendig ist um den I2C Bus unter Raspbian nutzen zu können. Dazu führt ihr einfach die beiden folgenden Befehle aus.
- sudo apt-get install python-smbus
- sudo apt-get install i2c-tools
Jetzt könnt ihr mit dem folgenden Befehl überprüfen ob I2C Geräte auf dem Bus vorhanden sind. Ihr solltet das Servo Board sehen mit der Standardadresse „70“.
- sudo i2cdetect -y 1
Bei mir sieht die Anzeige jetzt wie im folgenden Bild gezeigt im Terminal Fenster aus.
Servo-Kontroller Adafruit Bibliothek installieren
Die notwendige Software für die Ansteuerung des Boards kann direkt bei Adafruit herunter geladen werden. Adafruit hat sich hier die Mühe gemacht und eine tolle Bibliothek bereit gestellt.
Der link auf die Seite von Adafruit zu der Software ist folgender: Using the Adafruit Library
Bei Adafruit findet Ihr auch eine Anleitung auf English die erklärt wie die Bibliothek zu verwenden ist. Ich habe diese Anleitung als Basis für meine Seite verwendet, übersetzt und mit meinen Erfahrungen soweit notwendig ergänzt.
Legt bitte jetzt einen Ordner mit dem Namen „servo“ unter dem Pfad /home/pi an. Wechselt jetzt in das Terminal Fenster in den Ordner „/home/pi“ und führt den folgenden Befehl aus.
- Sudo chmod 777 servo
Ab jetzt darf jeder diesen Ordner öffnen, neue Ordner Dateien anlegen, löschen, ändern, ausführen etc.
Als nächstes wird git installiert damit der Zugriff auf das git Software Repository möglich ist und die python-dev Entwicklungsbibliotheken. Dazu führt bitte im Terminal des Raspberry Pi die folgenden Befehl aus.
- sudo apt-get install git build-essential python-dev
Für den nächsten Schritt gehe ich davon aus, dass Du im Ordner „/home/pi/servo/“ bist. Mit dem folgenden Befehl wird die Software von Adafruit auf euren Raspberry Pi geclont / kopiert. Diese wird in den Ordner „Adafruit_Python_PCA9685” abgelegt.
Bitte wechselt jetzt in den Order „Adafruit_Python_PCA9685” im Terminal Fenster um die gerade herunter geladene Adafruit Bibliothek zu installieren.
- cd Adafruit_Python_PCA9685
Die Installation wird mit dem folgenden Befehl gestartet. Das dauert ein paar Sekunden und anschließend kann es schon losgehen und ihr könnt gleich eure Servo Motoren steuern.
- sudo python setup.py install
Die Installation ist schnell erledigt und ein Beispiel Programm ist auch gleich mit dabei.
Servo Beispielprogramm
Das Beispielprogramm für die Ansteuerung eines Servo liegt im Ordner „examples“ unter /home/pi/servo/Adafruit_Python_PCA9685/. Um es starten zu können wechselt einfach im Terminal fenster in den Ordner examples und führt den folgenden Befehl aus der das Python Programm „simpletest.py“ starte.
- cd examples
- sudo python simpletest.py
Wenn nichts passiert also sich die Servo Motoren nicht drehen kann das daran liegen, dass ihr eventuell euren Servo an einem anderen Kanal am Servo-Kontroller angeschlossen habt als im Beispielprogramm hinterlegt wurde. Die Stelle im Programm an der er die Belegung ändern könnt findet ihr hier.
Zusammenfassung
Das Servo Kontroller Board war sehr einfach am Raspberry Pi über dne I2C Bus in Betrieb zu nehmen. Mit 16 Kanälen bietet es ausreichende Möglichkeiten um in das Thema Servo Motoren mit dem Raspberry Pi steuern einzusteigen. Durch die Kombination von mehreren Servo Kontrollern können bis zu 16 x 32 = 992 Servo Motoren gesteuert werden.
Übersicht der PCA9685 Servo Kontroller Anleitungen:
16-Kanal PCA9685 Servo Kontroller - Teil 1 Einführung und Aufbau16-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
Hallo,
eine frage habe ich mal, kann man die Geschwindigkeit des Servos auch ändert?
Also das der Servo arm sich langsamer bewegt.
mfg
Frosch007