25kHz-PWM mit attiny13

Gast #2393330
Lesenswert?

Hallo allerseits,

eine 25kHz-Pulsweitenmodulation möchte ich gerne mit einem attiny13 
realisieren, da dieser über einen konfigurierbaren "Fast Pwm Mode" 
verfügt. Bei genauerem Studium dieses Forums sowie des Datenblattes habe 
ich dann festgestellt, dass die Ausgangsfrequenz durch folgende 
Gleichung definiert ist:

f= fclk / (N * 510) [Phase Correct PWM Mode]

Bei Verwendung eines Controllers mit einer Taktfrequenz von 10MHz komme 
ich dann leider nur auf f = 19,6kHz.

Nun habe ich dazu folgende Fragen:
1. Habe ich vielleicht einen Rechenfehler gemacht?
2. Wenn nein, gibt es andere Prozessoren von Atmel, bei denen sich die 
Frequenz exakter definieren lässt?

Herzlichen Dank im Voraus!

Gruß
   Holger
Gast #2393387
Lesenswert?

Hi

>Nun habe ich dazu folgende Fragen:
>1. Habe ich vielleicht einen Rechenfehler gemacht?

Nein. Außer, das du erst von 'Fast PWM' redest und dann mit Phase 
Correct PWM rechnest.

>2. Wenn nein, gibt es andere Prozessoren von Atmel, bei denen sich die
>Frequenz exakter definieren lässt?

Du kannst auch mit dem ATTiny13 deine 25kHz erreichen. Im Mode 5 lässt 
sich der Top-Wert des Timers, und damit die Frequenz, mit OCR0A 
einstellen. Bei den 9,6MHz des ATTiny ergeben sich bei OCR0A= $C0 die 
25kHz. Mit OCR0B wird das Tastverhältnis eingestellt.

MfG Spess
#2393404
Lesenswert?

Versuchs mal mit WGM0[2:0] = 5 (Mode 5)
Da ist der maximale Timer-Wert OCR0A.
Damit würde sich folgender Zusammenhang ergeben:

f= fclk / (N x 2 x OCR0A) [Phase Correct PWM Mode 5]

OCR0A = fclk / (f x 2 x N)

Mal für deinen Fall berechnet:

geg: f    = 25kHz       ges:  OCR0A
     fclk = 10MHz
     N    = 1


Lsg:

     OCR0A = 10000000 / (25000 x 2 x 1) = 200


Allerdings hat man nun keine 8-Bit Auflösung für den Dutycycle mehr. 
Sind blos noch 7.64 Bit.


Gruß Oliver

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren