Forum: Mikrocontroller und Digitale Elektronik Fragen eines Servo-Neulings zur passenden PWM


von Herr_Mann (Gast)


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...

von hans (Gast)


Lesenswert?


von Rolf Magnus (Gast)


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.

von Hannes L. (hannes)


Lesenswert?

Hier sind ein paar AVR-Basteleien in Assembler, die mit Servoimpulsen zu 
tun haben:
http://www.hanneslux.de/avr/mobau/index.html

...

von Gerd (Gast)


Lesenswert?


von Herr_Mann (Gast)


Lesenswert?

Moin Leute,
frohes Neues!!!
Danke für die Infos, Servo läuft jetzt!
Super!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

von Herr_Mann (Gast)


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.

von Christoph S. (mixer) Benutzerseite


Lesenswert?

Hallo,

Es gibt ein Projekt, glaub für n Mega8 der über I²C 10 Servos ansteuert 
oder so. Hab blos den Link nicht mehr parat - musst hald bei google 
suchen!

MFG Mixer

[edit]:

http://www.kreatives-chaos.com/artikel/servocontroller-rnkc10
http://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=14220&highlight=

von Sinusgeek (Gast)


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.

~

von STK500-Besitzer (Gast)


Lesenswert?

Wenn hier schon andere "Ihren" Code verbreiten, dann ich auch mal:
Beitrag "Re: Problem mit PWM und Servo"

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.