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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von anonym (Gast)


Bewertung
-2 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
1 lesenswert
nicht 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)


Bewertung
-1 lesenswert
nicht lesenswert
"Hr. Ober, zahlen bitte!"

von Hr. Ober (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Stammgast schrieb:
> "Hr. Ober, zahlen bitte!"

3493456850458423038425809750486537218324390567560973424710

Macht 10,50€ zzgl. Corona Gefahrenzulage.

von anonym (Gast)


Bewertung
-1 lesenswert
nicht 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)


Bewertung
1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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. (stefanus)


Bewertung
0 lesenswert
nicht 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.

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.