Forum: Projekte & Code Servo Ansteuerung in C mit Timer0


von Malte Marwedel (Gast)


Angehängte Dateien:

Lesenswert?

Nachdem es hier in der Codesammlung bereits Beispiele für die
Ansteuerung von Servos in Assembler und Basic gibt, hier ein Beispiel
in C.
Das Programm verwendet Timer0 zur Steuerung. Es dürften bis zu 8 Servos
ansteuerbar sein (getestet mit zwei).
Ausprobiert hab ich das Programm mit einem AT90S4433 mit 8MHZ.
Kommentare sind natürlich willkommen.

von Christoph (Gast)


Lesenswert?

hallo,

will den beitrag nochmal hochholen,

mit welchem servo hast du das ganze ausprobiert?

von Malte Marwedel (Gast)


Lesenswert?

Schön dass mir 178 Downloads später auch mal jemand antwortet. :-)
Also erfolgreich getestet habe ich das Programm mit den
Standartservos:
acoms AS-12
SANWA 1301
Graupner varioprop C601 (wohl schon älter, etwas größer als ein
Standartservo)
und einem Noname Micro Servo von der letzten Intermodellbau.

von c-sar (Gast)


Lesenswert?

danke für den tollen beitrag malte!! gute arbeit!

von Malte (Gast)


Lesenswert?

Aufgrund einer Nachfrage per Mail ergänze ich mal folgendes:
Zur Verwendung der Servos an Mikrocontrollern sind keine Modifikationen
an den Servos nötig.
Das Grundprinzip der Servoansteuerung erfolgt so:
An dem Signal Pin des Servos wird ein High Puls von 1-2ms Dauer
angelegt. Bei 1ms schlägt der Servo zur einen Richtung maximal aus, bei
2ms in die andere Richtung. Bei 1,5ms Puls-Dauer befindet sich der Servo
in der Mittelstellung. In der Praxis erreichen einige Servos erst bei
mehr als 2ms bz. weniger als 1ms den Maximalauschlag. Nach dem High
Puls kann der Steuereingang für ungefähr 20ms auf Low gesetzt werden
(hier kommt es auf ein paar ms mehr oder weniger nicht an).
http://www.geocities.com/BourbonStreet/3220/servobasics.html
bescheibt das Ganze noch etwas ausführlicher.

Andere Programmierbeispiele für Servos in diesem Forum:
In Basic:
http://www.mikrocontroller.net/forum/read-4-15251.html
in Assembler:
http://www.mikrocontroller.net/forum/read-4-7047.html
http://www.mikrocontroller.net/forum/read-4-591.html
in C:
http://www.mikrocontroller.net/forum/read-4-38872.html
http://www.mikrocontroller.net/forum/read-4-119934.html

fehlt nur noch Pascal ;-)

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.