-
-
Gut, dass ich diese Woche grade an meiner 3 Kanal Servoansteuerung saß 
Den Taktanschluß steckst du direkt an den PWM des Atmel. Beim Mega 8 sind das PB1,2,3.
Dann solltest du einen Prescaler und ein entsprechend breites Vergleichsregister wählen, damit du auf eine Periode von etwa 20ms kommst.
Ich betreibe bspw. gerade einen Mega8 mit 12MHz. 256er Prescaler und 9Bit PWM machen dann: 1 / (12.000.000 / 256 / 512) * 2 = 0.0218s
Den OCR rechne ich indem ich die maximale Pulsbreite die der Servo hat durch 180 teile und mit der gewünschten Gradzahl multipliziere. Das ergibt die Pulsbreite für die gewünschte Position in ms. Und danach:
OCR1A = 512 - Pulsbreite * F_CPU/256/1000000 / 2
(also Breite * Zeit für einen Tick durch 2, weil er ja auch wieder runterzählt und das Ganze halt von den 9BIT abgezogen)
Hoffe, das hilft dir weiter. Ansonsten fragen 
PS.: Ich betreibe die Servos in inverted PWM
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen