Forum: Mikrocontroller und Digitale Elektronik Attiny PWM - Motor pfeift - max. PWM Frequenz?


von Dorenkamp (Gast)


Lesenswert?

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.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Mit Prescaler : 1 gibts am Ausgang 31250 Hz PWM Frequenz:
 TCCR0B|=(1<<CS00);

von Dietrich L. (dietrichl)


Lesenswert?

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

von Dorenkamp (Gast)


Lesenswert?

Danke.

Die Formel lautet doch
f_PWM = f_clk_IO / (N * 256)

f_clk_IO ist doch 1MHz bei 8Mhz internem Takt, oder nicht?

von Martin S. (drunkenmunky)


Lesenswert?

Wie steuerst du denn den Motor? Wieviel Strom benötigt der?

Mosfets? Treiber?

von Hartmut W. (killozap)


Lesenswert?

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.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

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.

von Ben _. (burning_silicon)


Lesenswert?

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.

von Hartmut W. (killozap)


Lesenswert?

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.

von Ben _. (burning_silicon)


Lesenswert?

Contra. Ich bin 32 und die alte Kiste die ein Kumpel noch einsetzt nervt 
furchtbar.

von Hartmut W. (killozap)


Lesenswert?

Dann wird der Ton durch Resonanzen auf geringere Werte gebracht, also 
8KHz, 16 KHz hört man mit 30 nicht mehr ...

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

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 :-)

von Ben _. (burning_silicon)


Lesenswert?

Naja die von der S-Bahn hatten weniger Glück... Man beachte die Beinamen 
der BR481 - "Heulsuse", "Fliegeralarm" oder "Kreissäge.

von Paule (Gast)


Lesenswert?

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