Also, wenn ich mich recht entsinne (hab jetzt grad das Datenblatt nicht bei der Hand), kann jeder Timer 2 PWM Kanäle ansteuern. Das macht dann in der Summe 6.
Zur Konfiguration des eines Timers:
Mal angenommen der µC rennt mit 4 MHz.
Dann macht der Timer ohne Prescaler in 20ms exakt 20000 Zählschritte.
Das ist natürlich für einen 8Bit Timer etwas viel (der kann nur bis 255 zählen ..).
Nun kommt der Prescaler ins Spiel. Dieser sagt dem Zähler: "Hör mal zu, du zählst nur jeden Xten Takt eins weiter.".
Also nehmen wir in unserem Beispiel einmal an, wir hätten den Prescaler auf 128 gesetzt.
Es ergibt sich also für den Zählerendwert: (20000 / 12- 1 = 155
Nun kommt das nächste Problem:
Wir wollen einen Impuls erzeugen, der zwischen 1ms & 2ms lang ist.
also:
(1000 / 12-1 ~ 7
(2000 / 12-1 ~ 15
Dieser Wert kommt ins Kompare Register.
Die Genauigkeit mit der der Servo gesteuert werden kann ist natürlich sehr gering ... ich habe gerade mal 8 mögliche Positionen zur Auswahl ...
Mal eine andere Frage: in welcher Programmiersprache willst du das eigentlich realisieren ?
Grüße,
da HAnni.
Lesezeichen