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.
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.
@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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.