Hallo, Ab welcher Frequenz ist das LED Flackern selbst beim "drüberschauen" nicht mehr wahrnehmbar? Im Rahmen meiner RGB-Lichterketten Entwicklung ( Beitrag "RGB-LED-Lichterkette. Niedervolt oder 230V?" ) kam mir das Problem der PWM Frequenz auf. Ich habe eine 1024 (linear) Stufige PWM, die mit einer Frequenz (Zyklus) von ca 100Hz läuft. Diese Soft PWM ist schon das schnellste, was mein Atmega32 mit 16Mhz und Soft PWM erzeugen kann. Leider ist beim "drüberschaun" erkennbar, dass die LED unruhig leuchtet. Wenn ich mir so eine Lichterkette vorstelle, wird das bestimmt nicht sehr schön. Im Artikel http://www.mikrocontroller.net/articles/Pulsweitenmodulation#Dimmen_von_Leuchtmitteln steht, dass für LEDs eine Frequenz von 1kHz-9kHz angemessen sei. Muss es tatsächlich so viel sein? Hier im Forum laufen die Meinungen jedenfalls auseinander. Übrigens, da der AVR nicht mehr hergibt, und mir die 1024 PWM Stufen nur 32 Helligkeitsabstufungen erlauben, möchte ich eine Hardware PWM mit dem TLC5943 von Texas Instruments verwenden. Er bietet 65536 Lineare Stufen auf 16 Kanälen. Allerdings wird er maximal mit 33Mhz getaktet. Teile ich dies durch die Anzahl der Stufen, so komme ich im Gegensatz zu dem Artikel auf eine PWM Frequenz von ca. 500Hz, statt mindestens 1kHz. Es kann doch nicht sein, dass TI auf die Wahrnehmbarkeit keine Rücksicht genommen hat.
Hallo, kann es sein dass Du da was durcheinander wirfst? Wieso hast Du nur 32 Helligkeitsstufen bei 10 Bit??? Und wieso teilst Du die Frequenz durch die Anzahl der Kanäle? Aber um Deine Frage zu beantworten: größer 100 Hz reicht aus; Hardwaremäßig bietet der AVR so ~122Hz und höher an. Möchtest Du mehrere Hardware-PWM-Kanäle nutzen bietet sich ein IC wie der von Dir erwähnte TLC5943 an; oder schau Dir mal den neuen UC3L von Atmel an; der kann auf jedem (!) GPIO 8 Bit (= 256 Stufen) PWM. MfG, robbse
Hi, danke für deine Antwort. Ich hab mich evtl nicht deutlich genug ausgedrückt. 65536 PWM stufen möchte ich haben, damit ich 256 echte Helligkeitsstufen habe. Abgebildet wird mit der Funktion f(k)=k^2 auf die PWM stufen, um dem Auge einen linearen Helligkeitsverlauf vorzugaukeln Diese Funktion approximiert die exponentielle Wahrnehmung des Auges. Teilen tue ich den Takt, da ich wissen will, wie schnell ein 65536 Zyklus bei einem bestimmten Takt ist. Soweit ich weiß, ist ein solche Zyklus maßgeblich für die PWM wahrnehmung, und nicht die einzelnen Abstufungen.
Hallo Robert! Ich versuche mich auch gerade an dem TLC5943. Der TLC5943 teil die gesamte PWM-Periode in 128 gleich große Segmente mit jeweils 512 GSCLK-Takten Die Zeit, in der jede LED leuchtet, wird auf diese Segmente aufgeteilt, was bei TI dan „enhanced spectrum PWM“ (esPWM) heißt (Datenblatt Seite 17,18). Wie ralisierst Du denn f(k)=k^2? Gruß Daniel
moment bei 16 bit PWM hab ich 65536 helligkeitsstufen. die brauch ich bestimmt nicht, 256 reichen aus und dazu brauch ich nur 8 bit. wenn sich der atmega nur um die PWM in software kümmern braucht hab ich bei 256 stufen eine PWM-frequenz von 15,6khz - bei nur 4mhz takt. :-)
>bei 16 bit PWM hab ich 65536 helligkeitsstufen.
Schon, aber keine, die vom Auge als gleichmäßig wahrgenommen werden,
weil es sozusagen eine logarithmische Kennlinie hat (Funktion
Helligkeitsempfinden von Einschaltdauer). Effektiv hast Du bei einer 16
Bit-PWM daher viel weniger Helligkeitsstufen, z. B. nur 16: 1, 2, 4, 8,
16 ... 65536 (wenn man die Null mal außen vor lässt).
Du kannst ja testweise mal mit einer 8-Bit-PWM ein lineares Fading gemäß
1, 2, 3, 4 ... 253, 254, 255 machen und über das völlig unbrauchbare
Ergebnis staunen.
achsooo nun versteh ich was er will. mal rechnen... ein AVR mit 20mhz takt und 2khz soll-pwm-frequenz erreicht er 10000 schritte, bei 1khz soll 20000 schritte. ich denke das sollte reichen um 256 "sichtbare" stufen auf "unsichtbare" pwm-schritte abzubilden.
>und 2khz soll-pwm-frequenz erreicht er 10000 schritte
Hört sich viel an, ist es aber nicht. Für ein als stufenlos empfundenes
Fading darf sich die Einschaltdauer nur minimal ändern, sagen wir
höchstens 1 %. Das begrenzt den nutzbaren Bereich nach unten hin auf
100, woraus ein Helligkeits-Dynamikumfang von nur 10000 : 100 = 100 : 1
resultiert. Das ist zu wenig, denn ein Prozent Einschaltdauer resultiert
keineswegs in einem schwachen Glimmen, sondern erscheint im Vergleich zu
100 % noch als überraschend hell. Fazit: Flimmer- und ruckelfreies
Fading über einen weiten Helligkeitsbereich ist alles andere als
Peanuts, und deshalb gibts für diese Aufgabe auch spezielle ICs.
scheint für einen µC jedenfalls eine nicht einfache lösung.
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.