Forum: Mikrocontroller und Digitale Elektronik Soft-PWM mit f<2500Hz


von Boris (Gast)


Lesenswert?

Werte µC-Gemeinde,

ich habe kürzlich eine LED-Anwendung mit dem C-Code aus dem Tutorial 
"Soft-PWM" gebastelt.

Als Controller setzte ich einen ATmega8515/16MHz ein und generierte vier 
PWM Ausgänge.

Mit dieser Lösung ist jedoch bei einer PWM-Frequenz von ca. 450Hz 
schluss.

Für eine weitere LED-Anwendung möchte ich versuchen, diese sogar 
resistent gegen Fotoapparate und HDTV-Kameras zu machen. D.h. man 
benötigt eine PWM-Frequenz von >= 2540Hz.

Kann mir von euch jemand Hilfestellung geben, wie ich dies realisieren 
könnte?

Vielen Dank im Voraus.

von Michael (Gast)


Lesenswert?

Bei LED-Anwendungen ist teiweise die Auflösung extrem wichtig, da das 
Auge ein logarithmische Wahrnehmung der Helligkeit hat, eine PWM aber 
linear gestuft ist.
Will heißen, kleine Unterschiede (Ungenauigkeiten) in dem Tastverhältnis 
können teilweise gut gesehen werden.
Einige Hersteller sind dazu übergegangen PWMs mit Zeitauflösungen im 1ns 
Bereich zu erproben.

Ist:
16MHZ / 450Hz = 35555 Prozessortakte pro PWM-Periode.
35555 / 128  (7Bit Auflösung) = 277 Takte pro Interrupt
Damit sollten die paar Vergleiche plus Interrupteinsprung etc erledigt 
sein.

Soll:
16MHZ / 2540Hz = 6300 Prozessortakte pro PWM-Periode.
6300 / 128  (7Bit Auflösung) = 50 Takte pro Interrupt.
Das ist schon fast zu knapp.


Generell würde ich dir zu einer Hardware PWM raten. Der 8515 hat leider 
nur 3 Compare Ausgänge - wenn es in deiner Anwendung einen LED-Kanal 
gibt, der dir nicht so wichtig ist, kannst du den per Software PWM 
weiter laufen lassen.

von Falk B. (falk)


Lesenswert?

@Boris (Gast)

>Für eine weitere LED-Anwendung möchte ich versuchen, diese sogar
>resistent gegen Fotoapparate und HDTV-Kameras zu machen. D.h. man
>benötigt eine PWM-Frequenz von >= 2540Hz.

Lass die PWM und steur das klassisch linear. Oder nimm einen 
PWM-Baustein. Soft-PWM ist nix für solche Frequenzen.

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.