PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ansteuerung eines Servos



nowayback
04.01.2010, 22:26
Guten Abend allerseits,

ich lese mir gerade den RM-Wiki-Artikel zum Thema Servos durch (Link (http://www.rn-wissen.de/index.php/Servo)).
Es heisst dort: Die Repetition-Period(Periode) entspricht bei den meisten Modellen 20ms. Innerhalb/zu Beginn dieser 20ms wird ein Puls erwartet [...]
Mal angenommen, der Impuls soll 1,5ms dauern (Mittelstellung). Nach dieser Angabe sind diese 1,5ms Teil der 20ms-Periode, also wird der Signal-Pin für die nächsten 18,5ms auf Low gezogen.
In der Skizze darunter werden allerdings 20ms (statt 18-19ms) als Zeitspanne zwischen den Impulsen angegeben, und im C-Programm sollte es doch entsprechend

if(count<2000)count++; statt
if(count<2000+servopos)count++; lauten, oder?
Welche Annahme ist richtig?
Oder spielt es im Endeffekt gar keine Rolle, wie lange die Low-Zeit des Signal-Pins genau ist, solang sich der Impuls hin und wieder mal meldet?

Danke für Eure Antworten.

021aet04
04.01.2010, 22:36
Normalerweiße sind die 1-2ms Teil der 20ms. Also 1ms Puls-19ms Pause bis 2ms Puls-18ms Pause. Bei den Servos ist das aber nicht so genau. Du kannst auch z.B. 1ms Puls-20ms Pause bis 2ms Puls-20ms Pause nehmen.

Es ist also beides möglich.

MfG Hannes

nowayback
04.01.2010, 22:42
Okay, alles klar. Danke.