Soft-PWM mit f<2500Hz

Gast #1335220
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
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.