Forum: Mikrocontroller und Digitale Elektronik Frequenz des PWM Signals


von julius (Gast)


Lesenswert?

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?

von Joe F. (easylife)


Lesenswert?

Probiere es doch aus.
Bei deinen Formeln fehlen allerdings Klammern.

Ich tippe auf
cpu_freq / (prescaler x (compare_match_register_value + 1))

von Tom (Gast)


Lesenswert?

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.

von Rene K. (xdraconix)


Lesenswert?

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;

von julius (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.