Soft-PWM mit f<2500Hz

Gast #1335220
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.
Gast #1335312
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.
#1335377
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren