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.
hallo, will den beitrag nochmal hochholen, mit welchem servo hast du das ganze ausprobiert?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.