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
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
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
>OCR0A = ... = 200 >Sind blos noch 7.64 Bit Wobei das nicht unbedingt ein Nachteil sein muss. Ein Max-Wert von 200 hat auch Vorteile. So kann man ohne zu rechnen, in 0,5%-Schritten dimmen...
Hi >Wobei das nicht unbedingt ein Nachteil sein muss. Ein Max-Wert von 200 >hat auch Vorteile. Genau genommen sind es allerdings 192. Bei 200 sind es 24kHz. MfG Spess
spess53 schrieb: > Genau genommen sind es allerdings 192. Bei 200 sind es 24kHz. > > MfG Spess Aber nicht bei den vom TO genannten 10MHz.
Hi
>Aber nicht bei den vom TO genannten 10MHz.
Die 10MHz müssten als externer Takt anliegen. Ich habe mit dem internen
RC-Oszillator (9,6MHz) gerechnet.
MfG Spess
spess53 schrieb: > Die 10MHz müssten als externer Takt anliegen. Schon klar > Ich habe mit dem internen RC-Oszillator (9,6MHz) gerechnet. Ich nicht. Und der TO auch nicht.
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.