mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LEDs Dimmen mit 16bit PWM - Frequenz?


Autor: Robert R. (pforcht)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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/Pulsweiten...
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.

Autor: robbse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Robert R. (pforcht)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Daniel Goßmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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. :-)

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
scheint für einen µC jedenfalls eine nicht einfache lösung.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Siehe LED-Fading und Soft-PWM

MFG
Falk

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.