Hallo, ich habe mit einem Attiny 45 eine PWM Regelung realisiert, die furchtbar pfeift. Der Attiny läuft mit seinen internen 8Mhz. void init_PWM(void) { /* OC0A und OC0B Port aktivieren mit FAST Mode PWM */ TCCR0A|=(1<<WGM00)|(1<<WGM01)|(1<<COM0A1); /* clk/8 prescaling */ TCCR0B|=(1<<CS01); } Selbst wenn ich den PWM Teiler von 8 auf 1 ändere, bringt das nicht viel. Gibt es eine Möglichkeit, bei 8MHz die Frequenz auf größer 3906Hz zu bringen? Ich würde gerne >10kHz erreichen... Vielen Dank.
Mit Prescaler : 1 gibts am Ausgang 31250 Hz PWM Frequenz: TCCR0B|=(1<<CS00);
Dorenkamp schrieb: > Ich würde gerne >10kHz erreichen... Bevor Du den µC schneller machst solltest Du mal kontrollieren, wie schnell Deine HW überhaupt kann. 10kHz ist schon ganz flott ;-) Gruß Dietrich
Danke. Die Formel lautet doch f_PWM = f_clk_IO / (N * 256) f_clk_IO ist doch 1MHz bei 8Mhz internem Takt, oder nicht?
Wie steuerst du denn den Motor? Wieviel Strom benötigt der? Mosfets? Treiber?
Die PWM-Frequenz bei Brushless-Motren wird normalerweise mit 8KHz betrieben, in seltenen Fällen wird die PWM schon mal auf 16KHz erhöht. Aber es ist völlig normal, dass die Motoren bei Betrieb mit geringer Drehzahl pfeifen.
Dorenkamp schrieb: > f_clk_IO ist doch 1MHz bei 8Mhz internem Takt, oder nicht? Nö, solange du am CLKPR Rgister nicht rumfummelst und CLKDIV8 nicht gefused ist, läuft der Timer mit 8 Mhz (bei Prescaler = 1). Timer1 kann übrigens auch von der PLL gespeist werden, dann ist er mit bis zu 64Mhz am Rennen. Zugegeben, es ist nicht ganz einfach eine geeignete Frequenz zu finden, denn 31 kHz sind schon recht schnell und die Hälfte (15,625 kHz) empfinde ich als unangenehm.
15,625kHz sind genau die Zeilenfrequenz eines älteren TV-Geräts und das fiept furchtbar. Ich hab mir angewöhnt bei einfachen größeren Motoren eine sehr niedrige PWM-Frequenz zu wählen. 100-400Hz hört man zwar auch sehr deutlich, aber ich empfinde das nicht als besonders unangenehm.
Derart geringe PWM-Frequenzen schränken dann wieder ein. Die 15625 Hz hört man nicht mehr, wenn man 30 Jahre oder älter ist, wahrscheinlich schon früher.
Contra. Ich bin 32 und die alte Kiste die ein Kumpel noch einsetzt nervt furchtbar.
Dann wird der Ton durch Resonanzen auf geringere Werte gebracht, also 8KHz, 16 KHz hört man mit 30 nicht mehr ...
Hartmut Wagener schrieb: > wenn man 30 Jahre oder älter ist, wahrscheinlich > schon früher. Ben _ schrieb: > Contra. Ich bin 32 und die alte Kiste die ein Kumpel noch einsetzt nervt > furchtbar. Dito, habe die 50 überschritten und höre sowohl die alten Zeilentrafos als auch Mückenscheuchen. Ben _ schrieb: > Ich hab mir angewöhnt bei einfachen größeren Motoren eine sehr niedrige > PWM-Frequenz zu wählen. 100-400Hz hört man zwar auch sehr deutlich, aber > ich empfinde das nicht als besonders unangenehm. So machens die Jungs in den Berliner U-Bahnen auch. Ist gar nicht so schlecht, hat einen gewissen Charme :-)
Naja die von der S-Bahn hatten weniger Glück... Man beachte die Beinamen der BR481 - "Heulsuse", "Fliegeralarm" oder "Kreissäge.
Dorenkamp schrieb: > Gibt es eine Möglichkeit, bei 8MHz die Frequenz auf größer 3906Hz zu > bringen? Ich würde gerne >10kHz erreichen... Timer 1 nutzen? Der hat mehr prescaling Möglichkeiten.
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.