Hallo, habe zur Frequenz Berechnung des PWM Signals folgende Formeln gefunden: (erste Antwort) http://electronics.stackexchange.com/questions/82751/16-bit-timer-of-atmega-how-to-calculate-timer-count Hier ist es: cpu freq / prescalar * compare match register value + 1 und: (auch die erste Antwort) http://www.avrfreaks.net/forum/frequency-calculation-pmw-signal Hier: PWM Frequency = Clock Speed / 2 PWM Resolution MaxCount Clock Prescaler... Mit der ersten Rechnung hätte ich: 8000000/1*1024 = 7800hz Mit der zweiten: 8000000 / 2 1024 1 = ~4khz Was ist richtig?
Probiere es doch aus. Bei deinen Formeln fehlen allerdings Klammern. Ich tippe auf cpu_freq / (prescaler x (compare_match_register_value + 1))
julius schrieb: > Was ist richtig? Guck dir die Programmierung von deinem Timer an und dazu die Diagramme im Datenblatt. Notfalls darfst du auch den Simulator von Atmel Studio starten und kannst dir dann das Timung mit dem eingebauten Zeitmesser in Zeitlupe ansehen. Die schönsten kopierten Formeln nützen nichts, wenn man sie nicht kapiert und nicht weiss, was sie genau beschreiben.
Joe F. schrieb: > Probiere es doch aus. > Bei deinen Formeln fehlen allerdings Klammern. > > Ich tippe auf > cpu_freq / (prescaler x (compare_match_register_value + 1) So berechne ich mir die Frequenz immer
1 | Freq = (8000000 / 2 / Prescaler - 1) / ComparRegister; |
Hab kein Atmel Studio unter Linux. @Joe: wie probiert man so etwas aus? 8000000/2/1023 sind auch ca ~4khz das / prescalar -1 hab ich beim prescalar 1 jetzt weggelassen
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.