www.mikrocontroller.net

Forum: Projekte & Code Servo Ansteuerung in C mit Timer0


Autor: Malte Marwedel (Gast)
Datum:
Angehängte Dateien:

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

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

will den beitrag nochmal hochholen,

mit welchem servo hast du das ganze ausprobiert?

Autor: Malte Marwedel (Gast)
Datum:

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

Autor: c-sar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für den tollen beitrag malte!! gute arbeit!

Autor: Malte (Gast)
Datum:

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

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.