Forum: Mikrocontroller und Digitale Elektronik STM8 PWM Auflösung erhöhen, aber wie?


von Robert (Gast)


Lesenswert?

Hallo,

ich habe eine Frage bezüglich der PWM Erzeugung bei STM8. Ich brauche
ein 350kHz Signal, und möchte aber den Duty Cycle in 1% Schritten
erhöhen.

Laut dem Formel im ST Sheet, PWm_Freq = Timer_Freq/ARR + 1
Setzte ich als Timer_Freq 16MHz, ungeteilt vom Clock Frequenz
hergeleitet und hierbei komme ich auf ca. ARR = 45 um 353kHz zu kommen.

45 entspricht aber eine Auflösung von 2,2% Schrittweite, welches für
meine Anwendung nicht brauchbar ist.

Gibt es eine Möglichkeit, trotz dieser Tatsache eine feinere Auflösung
zu erreichen?

von Axel S. (a-za-z0-9)


Lesenswert?

Einen anderen µC nehmen. STM32F030 kann bis 48MHz Clock. Kostet kaum 
mehr und ist von der Peripherie her sehr ähnlich.

Oder einen ATTinyx61. Der kann zwar auch nur 20MHz CPU-Takt, dafür aber 
bis 64MHz für den High-Speed Timer 1.

von Purzel H. (hacky)


Lesenswert?

Nein, eine Erhoehung einer PWM Aufloesung sollte kein Problem sein. Man 
produziert dann eben Subharmonische.

Wie produziert man zB 48.5 ? Indem man die Haelfte der Zeit 48 und die 
andere Haelfte der Zeit 49 ausgibt. Das bedeutet man laesst den PWM 
reload auch gleich auf einem Interrupt, der dann jeweils das Register 
fuer den uebernaechsten Cycle definiert.

Ich hab aus 8 bit so schon 16 bit gemacht. Der PWM Clock von 8MHz ergab 
eine 8Bit PWM Frequenz von 64kHz. Und die Subharmonischen erreichten 
einen 256-tel davon, also etwa 250 Hz. Die meisten Prozesse tolerieren 
das.

von Falk B. (falk)


Lesenswert?

@Robert (Gast)

>ich habe eine Frage bezüglich der PWM Erzeugung bei STM8. Ich brauche
>ein 350kHz Signal, und möchte aber den Duty Cycle in 1% Schritten
>erhöhen.

Ganz schön hochfrequent. Eine einfache Rechnung sagt dir, daß du dazu 35 
MHz Timertakt brauchst.

>Gibt es eine Möglichkeit, trotz dieser Tatsache eine feinere Auflösung
>zu erreichen?

Das beschriebene Verfahren von hacky nennt man Dithering. Damit kann 
aber nur das MITTLERE Tastverhältnis feiner aufgelöst werden, wenn man 
den Mittelwert über viele Dutzend bis hunderte PWM-Zyklen betrachtet 
bzw. mißt. Die echten Einzelpulse haben dann immer noch diese 
Schrittweite.

Gemäß Goethe. Mehr Taktfrequenz!

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.