Hat jemand schonmal ein serielles Servoboard mit einem RPi angesteuert oder kann mir sagen was ich beachten muss?
Möchte meinem Lynxmotion Hexapod ein leistungsstärkeres "Gehirn" geben, sodass ich mich dazu entschieden habe, das originale Bot Board zu entfernen und stattdessen ein Raspberry Pi zu verbauen, welches in Python programmiert werden soll. Doch leider bekomme ich die Ansteurung nicht hin. Habe versucht das Board sowohl über die RS232 Schnittstelle der GPIO ports anzusteuern als auch über einen USB zu RS232 Converter, an dem das Board angeschlossen war.
Habe das Paket python-serial installiert, mit dem ich dachte mein Projekt umsetzten zu können. Das Testprogramm dazu sah wie folgt aus:
Mein RPi gab die fehlermeldung aus, dass delay nicht deklariert sei. Als ich es entfernt hatte und erneut ausführte kam keine Fehlermeldung, jedoch hat sich auch kein Servo bewegt.Code:import serial serialport = serial.Serial("/dev/ttyAMA0", 9600, timeout=0.5) serialport.write("#0 P1500 # 1 P1500 T 1000 <cr>") delay(1000) serialport.write("#0 P1000 # 1 P1000 T 1000 <cr>") delay(1000)
Als ich dann versuchte das Board per USB anzusteuern änderte ich die Adresse zu /dev/ttyACM0 , welche entweder nicht richtig ist, oder das Board darauf auch nicht reagiert....
Hat jemand eine Idee zur Lösung meines Problems?
Hat jemand schonmal ein serielles Servoboard mit einem RPi angesteuert oder kann mir sagen was ich beachten muss?
Bist Du sicher, dass die Adresse stimmt? Ich verbinde meine Peripherie am RasPi über USB-to-UART über das Terminal CuteCom; ich habe aber die Adresse "/dev/ttyUSB0" eingetragen. Das Raspi bediene ich dabei über RemoteDesktop.
Schau doch mal beim Hochfahren im Konsolentext vom RasPi, was bei Dir beim Kontext zu "USB" steht . . . das könntesollte bei Dir ein ähnlicher Anschluss sein. Denn Du adressierst mit AMA (Advanced_Microcontroller_Bus_Architecture, statt AMBA steht hier kurz AMA) eine "direkte" UART-Verbindung des RasPI und nicht den USB-Konverter.
Ciao sagt der JoeamBerg
Hallo oberallgeier für deine Antwort.
USB0 als Adresse anzugeben funktioniert nicht.
Habe die USB Schnittstelle "abgefragt" wobei mir aufgefallen ist, dass mein USB zu RS232 erkannt und scheinbar installiert ist:
Bus 001 Device 004: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Po
bitte entschuldige, dass ich noch nicht alles bei Linux weiß, aber die Adresse, die ich statt USB0 angeben müsste wäre doch 067b richtig? Durch diesen Befehl ist eine Signalübertragung über den USB converter gegeben ?!
- - - Aktualisiert - - -
bitte entschuldige, hab das wörtchen danke in der anrede irgendwie übersprungen
- - - Aktualisiert - - -
die Beine meines Hexapods bewegen sich!!!!!!!
noch nicht regelmäßig oder gewollt aber daran kann man nun weiter aufbauen!
Mein Fehler im System war ein sehr dummer Fehler! Hab im Kabelgewürr TX falsch angeschlossen....
Wer bitte weiß schon alles über Linux? Ich bin da grad mal seit ein paar Tagen drin - da kratze ich erst an der Oberfläche rum.... entschuldige, dass ich noch nicht alles bei Linux weiß ... sehr dummer ... TX falsch angeschlossen ...
TX falsch angeschlossen! Kenn ich, vor allem kenne ich diese dumme Verwechslung Rx/Tx. Deshalb sind meine dreipoligen UART-Stecker auch immer als (Rx)(GND)(Tx) angeordnet. Da genügt ein einfaches Steckerwenden.
Schön, dass es jetzt klappt!
Ciao sagt der JoeamBerg
hatte ja nichts gelötet sondern alles mit Brücken gesteckt... doch wenn 18 Kabel von den Servos und noch einige weitere Kabel auf meinem Tisch liegen, verliert man schnell die übersicht
Weißt du zufällig wie ich jeden einzelnen der 32 Ports anspreche?
kann mir vielleicht jemand kurz erklären wofür folgende Zeile verantwortlich ist, bzw. was die Werte aussagen?
serialport.write("#0 P1000 # 1 P1000 T 1000 <cr>")
Egal wie ich die Werte änder, es bewegt sich immer das erste Servo in immer derselben Geschwindigkeit...
Hallo robosapiens,
dazu könntest Du Dir das User-Manual zum SSC32 von Lynxmotion (klick hier) ansehen.
Viele Grüße
Jörg
Hallo Jörg,
auf diese Idee bin ich nicht gekommen... Besonders weil ich das Ausgedruckte Handbuch zum SSC32 vorgstern noch in der Hand hatte
Hallo robosapiens,
..."hört" sich komisch an Deine Antwort.
Deswegen:
Sorry das ich überhaupt was gesagt habe....war anscheinend ZU offensichtlich das dort direkt was zu dem Problem stehen könnte. Vielleicht überlege ich mir auch nochmal ob ich auf Fragen, die schon länger als zwei Wochen nicht weiterbeantwortet wurden, antworte. Denn die Wahrschienlichkeit das der Fragensteller die Lösung schon gefunden hat ist doch ziemlich hoch, merke ich.
Also was ist jetzt - neue Erkenntnisse gewonnen, oder stand in Deinem Handbuch dazu nichts?
Viele Grüße
Jörg
Geändert von HeXPloreR (28.08.2014 um 08:42 Uhr)
Lesezeichen