Forum: Compiler & IDEs Atmega Familie bei PWM mehr als 256 Stufen möglich?


von Andi (Gast)


Lesenswert?

Servus ihr lieben,

mal ne Frage gibts ne möglichkeit die Pulsbreiten bei der PWM über 256 
zu bringen? 8-Bit Timer fliegt ja raus aber was ist mit dem 16-Bit Timer 
ist es damit möglich? Als Hardware PWM? Hab bisher immer nur 256 Stufen 
gesehen, würde für ne Regelung von nem 12V Motor gerne mehr als 256 
Stufen haben. Ist dies möglich mit nem reinen AVR?

Gruß Andi

von Yalu X. (yalu) (Moderator)


Lesenswert?

Andi schrieb:
> 8-Bit Timer fliegt ja raus aber was ist mit dem 16-Bit Timer ist es
> damit möglich? Als Hardware PWM?

Selbstverständlich geht das, zumindest bei den ATmegas, die ich kenne
(bspw. beim betagten ATmega8).

von Washington I. (washington_i)


Lesenswert?

klar ist das möglich, bei den "atmega8" und baugleichen über den timer1, 
kann zweimal 16bit hardware pwm, steht alles schön im datenblatt.

aber: bei 16bit dauert ein "zyklus" halt bis zu 256 mal länger, 16Mhz 
durch 65k schritte liefert etwa 250 Hz. mit simpler 8bit pwm könnte man 
eine pwm mit >60kHz erreichen, also ohne fiepen im hörbaren bereich

von Falk B. (falk)


Lesenswert?

@  Andi (Gast)

>Stufen haben. Ist dies möglich mit nem reinen AVR?

Ja, die PWM-Periode kann von 2-65536 Takten frei eingestellt werden, 
also 1-16Bit PWM. Siehe Datenblatt Abschnitt Timer1. WGM 14 als Tipp.
Ein kleines Beispiel gibt es hier.

Beitrag "Re: Stabilität des internen RC-Oszillators AVR vs. MSP430"

MFG
Falk

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.