Hallo,
ich habe ein relativ einfaches Problem, aber ich stehe irgendwie auf dem Schlauch und komme irgendwie nicht weiter.
Ich habe bisher alle möglichen Quellen durchforstet, habe aber bisher noch nicht mit den timern gearbeitet.
Zu meinem Problem.
Ich möchte mit dem Timer1 Rampen generieren um einen Schrittmotor (später auch Servos) anzusteuern. Also Pulse mit unterschiedlichen Zeitabständen erzeugen um die Geschwindigkeit zu Steuern.
Meine Frage wäre jetzt, wie berechne ich den Timer wenn ich eine variable Frequenz von 1Hz bis 60kHz haben möchte.
Wenn mein ATmega mit 16MHz läuft?
Meine erste Überlegung war, ich teile 16MHz/256 und hätte dann 62500Hz Takt für meinen 16bit-Zähler(65536). Wenn ich jetzt von dem maximal möglichen Wert des Zählers meine Zählerfrequenz(62500) abziehe, dann bekomme ich den Vorladewert für meinen Timer.
Also, 65536 - 62500(Hz) = 3036
Mit diesem Wert wird die Zeit bis zum Überlauf genau 1s und die Frequenz 1Hz betragen (wenn man natürlich den Overhead unberücksichtigt lässt).
Wenn ich aber den TimerREG mit z.B. 65535 vorlade, dann hätte ich doch meine maximale Frequenz oder?? Oder liege ich da total falsch?
Lesezeichen