Servo Ansteuerung in C mit Timer0

Gast #102350
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.
Angehängte Dateien:
Gast #102352
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.
Gast #102354
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 ;-)

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.