Hallo sigo
Ich betreibe meine Servos (vorwiegend 5€-Servos) mit 10ms weil ich dann den Timerinterrupt auch bequem für andere Zeitmessungen verwenden kann. Ich habe den Eindruck, sie drehen dann auch etwas agressiver. Mit 6-7ms liefen sie kurzzeitig auch ohne Schaden zu nehmen. Bei noch kürzeren Abständen (durch falsche Timerparameter) fangen sie an zu pfeifen, aber auch das haben meine Servos (kurzzeitig) schadlos überlebt.
Bei Intervalen länger als 20ms werden sie träge bis sie dann deutlich zuckeln.
Irgendwelche Datenblätter habe ich noch nicht gesucht, müßten aber im Netz zu finden sein.
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Danke mic,
ich hatte auch an 10ms gedacht.
Und zwar möchte / muss ich ohne Timer-Interrupt auskommen, und für 2 Servos die PWM1a und PWM1b verwenden.
Ich stelle mir das so vor, dass ich die PWM auf ca. 100Hz und 10 Bit (1024 steps) einstelle.
Wenn ich dann alle 10ms einen Servoimpuls erzeugen möchte, kann ich für PWM1a bzw. PWM1b einfach Werte zwischen 102 und 204 eingeben, was dann 1-2 ms entspräche.
Vorteil:
Das Programm muss sich überhaupt nicht um die PWM kümmern, es wird praktisch keine Prozessorzeit verbraucht, mein Timing wird nicht gestört, da kein Interrupt erscheint, einfach Wert in PWM1a oder 1b fertig.
Nachteil: Die Servoauflösung beträgt dann nur ca. +/- 51 Steps
Aber für meine Anwendung wäre das allemale genug.
Bei 20ms hätte ich aber nur +/- 25 Steps, was dann doch was wenig würde..
Sigo
Hi,
aber PWM verwendet doch auch nen timer. dann kannst doch glei selbst den timerinterrupt verwenden.
mfg jeffrey
Hallo
...aber es erzeugt keinen Interrupt und unterbricht oder stört deshalb das Hauptprogramm nicht. *vermutet*aber PWM verwendet doch auch nen timer
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
genauZitat von radbruch
Lesezeichen