Forum: Mikrocontroller und Digitale Elektronik Zahlen über die GPIOs übetragen


von anonym (Gast)


Lesenswert?

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

von Wolfgang (Gast)


Lesenswert?

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.

von minifloat (Gast)


Lesenswert?

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

von minifloat (Gast)


Lesenswert?

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

von Stammgast (Gast)


Lesenswert?

"Hr. Ober, zahlen bitte!"

von Hr. Ober (Gast)


Lesenswert?

Stammgast schrieb:
> "Hr. Ober, zahlen bitte!"

3493456850458423038425809750486537218324390567560973424710

Macht 10,50€ zzgl. Corona Gefahrenzulage.

von anonym (Gast)


Lesenswert?

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.

von my2ct (Gast)


Lesenswert?

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?

von Stammgast (Gast)


Lesenswert?

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!")

von Stefan F. (Gast)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.