Fragen eines Servo-Neulings zur passenden PWM

Gast #1095339
Lesenswert?

Hallo,

möchte gerne ein Servo (Modellbau, JR-kompatibel) mit Atmega32 ansteuern 
und hab jetzt auch schon allerlei Beiträge dazu gefunden und 
durchgestöbert.

Mir ist allerdings noch nicht ganz klar, wie ein entsprechendes 
PWM-Signal zur Servosteuerung aussehen muss.

Allgemein: benötigt wird ein PWM-Signal mit einer Pulsbreite von 20ms. 
Das Tastverhältnis bestimmt den Stellwinkel.
So weit, so gut...

Wie muss denn aber das Signal in der Realität beschaffen sein? Beginnt 
der Servo mit der Auswertung bei H oder L?
Wie muss das Tastverhältnis für Mittelstellung aussehen, Pulsbreite 50%, 
also 10ms H und 10ms L ?

Wäre super, wenn jemand ein paar Hinweise oder Tipps hätte.
Mein erstes Test-Prog hat auf jeden Fall bis jetzt nicht funktioniert, 
was wohl an einem falschen PWM-(Mis(t))verständnis liegt...
Gast #1095349
Lesenswert?

> Allgemein: benötigt wird ein PWM-Signal mit einer Pulsbreite von
> 20ms.

Du meinst die Periodendauer. Üblicherweise ist die 20ms. Aber wenn die 
z.B. nur 10ms lang ist, macht das auch nichts.

> Das Tastverhältnis bestimmt den Stellwinkel.

Nein, nicht das Tastverhältnis, sondern nur die Pulsdauer bestimmt ihn.

> Wie muss denn aber das Signal in der Realität beschaffen sein?
> Beginnt der Servo mit der Auswertung bei H oder L?

Er mißt die Impulsdauer, also die Dauer von der positiven zur negativen 
Flanke.

> Wie muss das Tastverhältnis für Mittelstellung aussehen, Pulsbreite
> 50%, also 10ms H und 10ms L ?

Nein. Die Pulsdauer für Mittelstellung liegt bei 1,5ms. Der Bereich für 
die Pulsdauer liegt grob bei 1 bis 2 Millisekunden.
Gast #1096363
Lesenswert?

Dann hab ich noch eine Frage:

gibt es eigentlich ein Spezial-Ic, mit dem man mehrere Servos 
gleichzeitig steuern kann und das man seinerseits bequem seriell per uC 
ansteuern kann, nach dem Motto "Servo1 auf Stellung 88 bitte und Servo 9 
auf Position 23"?

Das würde bei mehreren Servos Controllerkapazitäten sparen und auch 
Anschlüsse.
Gast #1096409
Lesenswert?

> gibt es eigentlich ein Spezial-Ic, mit dem man mehrere Servos
> gleichzeitig steuern kann und das man seinerseits bequem seriell per uC
> ansteuern kann, nach dem Motto "Servo1 auf Stellung 88 bitte und Servo 9
> auf Position 23"?

Das sollte mit einem AVR kein Problem sein. Das Beispiel bei Hannes
http://www.hanneslux.de/avr/mobau/7ksend/7ksend02.html
zeigt, wie man einfach Impulse für mehrere Servos erzeugen kann. Dazu 
das ganze ADC-Gerödel rauswerfen und die Positionen in einem SRAM-Array 
halten. Wenn man den AVR dann mit einem Baudratenquarz taktet, sollte es 
kein Problem sein, per UART empfangene Kommandos auszuwerten und die 
Positionen im SRAM zu aktualisieren. Da Timer1 zwei separate 
Compare-Einheiten hat, kann man ohne Weiteres zwei separate Servo-Ketten 
laufen lassen, das reicht für 16 bis 20 Servos. Mit einem Tiny2313 
sollten auf diese Art bis zu 14 Servos gleichzeitig ansteuerbar sein.

~

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren