Hallo,
ich habe eine kleine Frage. Ich weiß, dass man auf einem Arduino über
die Pins Positionen für Servos senden kann(z.B Servo 1 soll auf Position
90 fahren). Geht das auch über die GPIOs vom RaspberryPi oder geht das
nur über serielle Schnittstellen(Pin 14, Pin 15), LAN, WLAN, etc? Ich
habe nur Codebeispiele für 0 und 1 gefunden.
Liebe Grüße
anonym schrieb:> Geht das auch über die GPIOs vom RaspberryPi oder geht das> nur über serielle Schnittstellen(Pin 14, Pin 15), LAN, WLAN, etc? Ich> habe nur Codebeispiele für 0 und 1 gefunden.
Die serielle Schnittstelle verwendet GPIOs. Und natürlich kann ein
einzelner Pin für Digitalsignale nur 0 und 1 übertragen. Und auch der
Servo bekommt seine Sollposition in Form von 0 und 1 mitgeteilt. Beim
Servo ist die Position in der Pulslänge des 1 Pulses kodiert, bei der
seriellen Schnittstelle in einer Folge von 0 und 1.
Mit einer seriellen Schnittstelle und Standard-Baudraten ließen sich
realistisch zumindest 4 verschiedene Positionen anfahren. Dazu an den
UART-TX einen Inverter(wenn positiv-Puls Servo) oder halt auch
nicht(wenn negativ-Puls-Servo) und mit 4800baud im 20msec-Raster ein
Byte schicken.
0b0000000 = 1,8msec-Puls
0b1000000 ...
0b1100000 ...
0b1110000 = 1,0msec-Puls
0b1111000 = 0,8msec-Puls
0b1111100 = 0,6msec-Puls
...
Kürzere Pulse versteht der Servo unter Umständen nicht.
Add1 Mit Umschalten der Baudrate auf 2400 bekommt man auch mehr als
1,8msec-Pulse hin. Das wird dann aber langsam wirklich albern.
Add2 Mit einem Servo-Demultiplexer, wie aus dem Modellbau, gehen an
einem UART auch mehrere Servos. Dazu einen Bytestring gemäß des obigen
Schemas alle 20msec senden.
mfg mf
anonym schrieb:> auf einem Arduino
Mein Tipp, einen Arduino als Servo-Bedienknecht zu nutzen, der
"High-Level"-Kommandos vom Himbeerrechner über UART bekommt.
mfg mf
Danke für die schnellen Antworten. Ich meinte eigentlich,ob man auf dem
Pi die Position für Servos genauso über die Pins bzw. GPIOs wie beim
Arduino übermitteln kann oder es nur über eine serielle Schnittstelle
geht.
anonym schrieb:> Ich meinte eigentlich,ob man auf dem> Pi die Position für Servos genauso über die Pins bzw. GPIOs wie beim> Arduino übermitteln kann oder es nur über eine serielle Schnittstelle> geht.
Warum fragst du das dann nicht?
Bist du vielleicht in der Lage, die Worte "Raspberry Pi Servo" in eine
Suchmaschine deiner Wahl einzugeben?
my2ct schrieb:> anonym schrieb:>> Ich meinte eigentlich,ob man auf dem>> Pi die Position für Servos genauso über die Pins bzw. GPIOs wie beim>> Arduino übermitteln kann oder es nur über eine serielle Schnittstelle>> geht.> Warum fragst du das dann nicht?> Bist du vielleicht in der Lage, die Worte "Raspberry Pi Servo" in eine> Suchmaschine deiner Wahl einzugeben?
Das ist der Erste Schritt, der zweite dann:
Was an den Suchergebnissen verstehst Du nicht/ kannst Du nicht für Dich
verständlich deuten?
(und Genderisiert, damit wg. "Ober" sich andere Geschlechter nicht
ausgeschlossen fühlen müssen: "Fräulein, Zahlen bitte!" + "Bedienung,
Zahlen bitte!")
minifloat schrieb:> Mein Tipp, einen Arduino als Servo-Bedienknecht zu nutzen, der> "High-Level"-Kommandos vom Himbeerrechner über UART bekommt.
Habe ich schonmal (ohne Arduino Framework) gemacht:
http://stefanfrings.de/servocontroller/index.html
Etwas ähnliches gibt es fertig als Modul zu kaufen, google mal nach
PCA9685.
Eine eigene Frage?
Dieser Thread ist über 6 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.