Das Lynxmotion SSC-32U Servo Controllerboard verfügt über verschiedene Schnittstellen und einstellbarer Baud Rate, wodurch dieses mit nahzu jeder Hardware kompatibel ist:
- TTL
- Serial
- USB
- XBEE
Wir verbinden das SSC32 mittels Serial Anschluss an das Raspberry Pi. Wichtig ist dabei das RX an TX angeschlossen werden muss. Wird dies nicht getan, kann der Servocontroller nicht angesteuert werden.
Ansteuerung mittels UART
Die nachfolgenden Pakete müssen auf dem Raspberry Pi installiert sein.
sudo apt-get update sudo apt-get install python-dev sudo apt-get install python-rpi.gpio sudo apt-get install python-serial
Einstellungen
Öffnen Sie die Console und geben "Sudo Raspi-Config" ein. Im nachfolgenden Fenster müssen Sie die 7. Position "Serial" anwählen und dies mit "No" bestätigen.
Python Code
import serial serialport = serial.Serial("/dev/ttyAMA0", 9600, timeout=0.5) serialport.write("#0 P1500 # 1 P1500 T 1000 /r")
Wenn alles richtig durchgeführt wurde, müsste sich nun das Servo an Port 0 und 1 bewegt haben.
Ansteuerung mittels USB
Das Lynxmotion SSC-32U stellt neben einer UART Schnittstelle ebenfalls einen XBEE Steckplatz und USB Port zur Verfügung. Nachfolgend wird die Verwendung des USB Ports erläutert.
USB Port identifizieren
Um das SSC-32U ansteuern zu können, muss zunächst der entsprechende/zugewiesene USB Port identifiziert werden. Dies ist unter LInux denkbar einfach. Nach Ausführung nachfolgender Codezeile, muss noch einem Gerät geachtet werden, welches sich mit der Kennung FTDI RS232 anmeldet.
dmesg grep tty
In unserem Beispiel ist dies der Port ttyUSB1. Der Codeaufbau ist identisch zum darüberliegenden Beispiel, lediglich der Port, und die Baudrate, welche mit der des Board übereinstimmen muss, muss angepasst werden. Das Resultat müsste dem nachfolgend dargestellten Beispiel ähneln.
import serial
serialport = serial.Serial("/dev/ttyUSB0", 115200, timeout=0.5)
serialport.write("#0 P1500 # 1 P1500 T 1000 /r")