Hallo Leute, ich beziehe mich mal auf folgende Angaben: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#PWM_.28Pulsweitenmodulation.29 Da steht, wenn ich das richtig verstanden habe, das ein PWM doch einen Teiler von 510 bei 8Bit zur CPU-Freq hat, selbst wenn ich über CS10 bis 12 direkt den Takt ohne Teiler vorgebe, oder? Das würde doch auch heißen, das ich bei 16MHz Takt doch max 31,372kHz (16Mhz/510) erzeugen könnte :( Bitte sagt mir das ich falsch liege! Ich brauche mind. 125kHz bei 8Bit Auflösung. jammer
Die Tabelle ist 1. nicht für den Fast-PWM Modus und 2. vernachlässigt den Prescaler (bzw. nimmt an f_TC1 = f_clk_IO / Prescaler)
Radlos > Radab schrieb: > . 125kHz bei 8Bit > Auflösung Nimm einen von den schicken neuen AVRs mit PLL. Der Timer wird dann mit ca. 64MHz betrieben, dann kommst du auf max. 250kHz PWM-Frequenz.
Nicht ganz! Wenn ich keinen Denkfehler drin hab, liegt die maximal Frequenz bei F_CPU / 255 (8bit) also bei 62,745khz. Mehr ist leider nicht drin. Grüße Tobi PS.: Erzeuge doch das PWM extern über einen Timer ala NE555 oder eben vergleichbarem. Der dürfte schnellbenug sein und über den µC stellte das dann hat ein.
Radlos > Radab schrieb: > Bitte sagt mir das ich falsch liege! Ich brauche mind. 125kHz bei 8Bit > Auflösung. jammer Nimm einen andern AVR. Die Tiny25/45/85 z.B. können erstmal per PLL auf 64MHz hoch, um damit dann den Timer für die PWM zu füttern. Damit ereichst du 250kHz bei 8Bit, oder halt auch 125kHz.
Radlos > Radab schrieb: > Das würde doch auch heißen, das ich bei 16MHz Takt doch max 31,372kHz > (16Mhz/510) erzeugen könnte :( Mit Fast-PWM würdest du ca. die doppelte Frequenz herausbekommen. Das ist aber immer noch zu wenig. Es gibt aber z.B. den ATTiny26, welcher intern 64 MHz per PLL erzeugen kann und diese können auf die Timer gegeben werden. Damit würdest du im 8-Bit-Modus 250kHz PWM-Frequenz erreichen. Gruß Skriptkiddy
Tobi W. schrieb: > Wenn ich keinen Denkfehler drin hab, liegt die maximal Frequenz bei > F_CPU / 255 (8bit) Den hast du ;) F_CPU / 256 (8 bit). Der Sprung von 0xFF zurück auf 0 kostet auch einen Takt ;)
Luk4s K. schrieb: > Nimm einen von den schicken neuen AVRs mit PLL. Der Timer wird dann mit > ca. 64MHz betrieben, dann kommst du auf max. 250kHz PWM-Frequenz. welche sind das denn? das waren doch entweder 8pinner oder Typen die man kaum bekommt.
Εrnst B✶ schrieb: > Der Sprung von 0xFF zurück auf 0 kostet auch einen Takt ;) Stimmt... ritzen geh ;) Würde jez den Braten aber auch net fett machen, da ja fast die hälfte fehlt... Εrnst B✶ schrieb: > Nimm einen andern AVR. Die Tiny25/45/85 z.B. können erstmal per PLL auf > 64MHz hoch, Huch... Da muss ich wohl geschlafen haben als die das erzählt haben xD Wusste ich gar nicht! Gruß Tobi
Vlad Tepesch schrieb: > Luk4s K. schrieb: >> Nimm einen von den schicken neuen AVRs mit PLL. Der Timer wird dann mit >> ca. 64MHz betrieben, dann kommst du auf max. 250kHz PWM-Frequenz. > > welche sind das denn? > das waren doch entweder 8pinner oder Typen die man kaum bekommt. Εrnst B✶ schrieb: > [...] Die Tiny25/45/85 z.B. [...]
Hmpf wie sieht es eigentlich mit dem Takt aus? Wenn ich einen ATtiny48-20 nehmen würde, kann ich den durch die interne RC-Schaltung auf die max. PWM Freq bringen? Ein Quarz/Oszillator würde ich nicht unbedingt spendieren wollen...
Radlos > Radab schrieb: > ATtiny48-20 Der Hat keine PLL. Mit dem 25/45/85 und 8MHz RC-Oszillator kommst du mit der PLL auf die 64MHz Timer-Frequenz, damit auf 250kHz PWM. Siehe Datenblatt, S.24.
War ein Tippfehler! es ist wirklich ein 45!!! Super, dann kann ich ja sogar einen ATtiny45-10 oder einen ATtiny45-20 nehmen :)
Wenn man mehr als 8 Pins braucht; der Tiny461 und 261 (bzw. der alter Vorgänger Tiny26) hat auch den Internen PLL und hat 20 Pins. Bei der Länger der Periode reichen 255 Zyklen um auf 256 verschiedene Zustände zu kommen. Das ist aber eher ein minimaler Unterschied.
Radlos > Radab schrieb: > ATtiny45-20 Sollte es schon sein ;) Wer spricht denn hier was von 256Khz?! Der Tiny schafft so sogar 500khz im FastModus ;) Und wenn du den TinyX5 im PLL Modus mit 64Mhz fahren willst kommt er automatisch in den Tiny15 Mode - sprich du hast für deinen µC an sich nur noch 1,6 Mhz Takt zu Verfügung.
Nachtrag: Der Tiny schafft sogar ohne PLL im normalen Timer1 PWM eine 250Khz PWM Freq mit 8Bit Auflösung und eine 500Khz Freq mit 7Bit Auflösung im Asnyc Modus... Siehe Datenblatt Seite 91 / Tabelle 12-3
Hi ATtiny261/461/861 und ATtiny15L haben ebenfalls eine PLL. >Der Tiny schafft sogar ohne PLL im normalen Timer1 PWM eine 250Khz PWM >Freq mit 8Bit Auflösung und eine 500Khz Freq mit 7Bit Auflösung im Asnyc >Modus... Bei mir sind 250kHz x 256 oder 500kHz x 128 immer noch 64MHz. MfG Spess
Spess53 schrieb: > Bei mir sind 250kHz x 256 oder 500kHz x 128 immer noch 64MHz. Oha... jep... in der Zeile verrutscht :D Und ich schreib auch noch Asnyc Mode -.- "To set Timer/Counter1 in asynchronous mode first enable PLL and then wait 100 μs for PLL to stabilize. Next, poll the PLOCK bit until it is set and then set the PCKE bit."
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.