Hallo, ich möchte RGB LEDs mit dem TLC5940 von Texas Instruments Dimmen. So weit kein Problem, die Funktion ist klar und es klappt auch. Der TLC5940 bietet ja 12 bit pro PWM Kanal... Das ist mehr als genug. Mein Problem ist jetzt folgendes: Die meisten (eigentlich alle) RGB LEDs die ich bis jetzt benutzt habe, habe unterschiedlich helle Farben. Meistens ist das Rot relativ schwach. Ich suche nun nach einer Möglichkeit die Farben entsprechend Anzupassen (über das 12 bit PWM) um so eine möglichst gute Darstellung des RGB Farbraumes (8 bit pro Farbe, True Color) zu erreichen. Hat jemand von euch sowas schonmal gemacht? Wenn ja, wie? Danke Steffi
1. Definiere weiss;-) Wir haben vor Kurzem ein RGB LED abgestimmt, und zwar einmal bei Tageslicht, und ein mal unter Leuchtstoffröhren, das dritte mal im Dunkeln. Das wir 3 mal verschiedene Ergebnisse gekriegt haben war ja klar, daher hat die Digitalkamera ja auch ein Weissabgleich;-) Stichtwort: Farbtemperatur, Kelvin Wir haben pro Farbe einen anderen Widerstandswert ferstgelegt. Du kannst aber natürlich die Farbe in deine PWM Berechnung einfliessen lassen, das ist dann dynamischer. Objektiv abstimmen kannst du auch mit einer Digitalkamera, Weissabgleich auf Manuell schalten, mit weissem Blatt Papier abgleichen (in gewünschter Lichtquelle) und dann gegen die LED halten, du siehst relativ schnell auf dem Display ob es weiss ist oder ob es zuviel blau oder was auch immer hat. mfg Andreas
Ok, jetzt sagen wir mal ich habe einen Weißabgleich gemacht und folgende Werte rausbekommen: rot: 4095 grün: 3422 blau: 3142 sind jetzt nur Beispiele. Die Eingangsdaten für die LED soll ein 24 bit Wert sein (8bit je Farbe) Kann ich das jetzt linear ausrechnen? Wieder ein Beispiel: Ich will die Farbe CA7AFF mit meiner LED darstellen. Die 8 bit pro Farbe muss ich ja jetzt in 12 bit pro Farbe umrechnen. Ich nehme mal nur den wert für Grün ( 7A=122 ) Ist der Wert den ich jetzt in den TLC5940 schieben muss folgender: (3422/255)*122= 1637 ?
Da ist der Andreas wohl schon ins Bett gekrochen ;) Trotzdem vielen Dank für deine Hilfe!
Lange Antwort: Gibt schon Artikel darüber (siehe linkes Menü). Bitte lesen. Kurze Antwort: Die Wahrnehmung des Auges stimmt nicht mit der Realität überein. D.H. wenn es uns linear vorkommen soll, dann muss die Änderung in der Tat exponentiell sein. In genanntem Artikel gibt es verschiedene Tabellen, aus denen man sich die Werte picken kann.
Hier noch der direkte Link zu dem Artikel, den ich meine: http://www.mikrocontroller.net/articles/LED-Fading
Wie unangenehm. Das heißt meinen linearen Ansatz von oben kann ich vergessen. Und am besten bastel ich mir durch ausprobieren eine Lookup Tabelle zusammen?
Geht es um mehrere RGB LEDs? Bei genügend vielen würde es ja Sinn machen pro Farbe einen TLC zu benutzen und mit Iref pro Farbe einen entsprechenden Offset einzustellen. Ansonsten musst du nach dem lookup den offset noch mit reinrechnen. Leider sehe ich gerade, daß der sourcecode im Artikel keine Tabelle für 12 Bit Auflösung enthält. Aber vielleicht kannst Du ja auch hier mal nachfragen: Beitrag "Modulare 16x8-RGB-LED-Matrix-Platine mit Gamma-Korrektur"
Hallo Steffi, das Thema "Farbmischung" mit RGB-Led's ist alles andere als trivial. Wie du schon richtig bemerkt hast, ist das Hauptproblem nicht der "Mischalgorithmus" sondern die LED als solche. Bei RBG's geben die Hersteller im Datenblatt entweder die Farborte für die Einzelchips an, oder aber für einen definierten Weißpunkt, der sich einstellt wenn die Chips mit einem bestimmten Strom beaufschlagt werden (z.B. 20mA /20mA /10mA) Kennt man die "Anfangsorte", so kann man durch eine lineare Gleichung ganz easy den resultierenden Zielort berechnen. So, nun aber die Krux an der Sache: Die Messung der Farborte erfolgt beim LED-Hersteller am Band, dauert daher nur ein paar Millisekunden. Dies ist aber für einen Einsatz in der Praxis absolut unnütz, da die LEDs dort ja dauerhaft leuchten. Durch die Temperaturerhöhung verschiebt sich der Farbraum nun aber dramatisch und liegt weit neben dem Startpunkt, der vom Hersteller angegeben wurde :-( Mittlerweile gehen einige Hersteller (Ich denke Osram) dazu über ein sog. "hot- binning" durchzuführen, wobei genau dieser Erwärmung berücksichtigt wird...alles in allem ein sehr sehr komplexes Thema und ohne Refernzmessung durch Sprektrometer (scheiß teuer) oder zumindest einem True-Colour Farbsensor eigentlich nicht machbar...Oder hot-binned Leds verwenden....zu dieser Sorte kann ich aber nichts sagen, hab damit noch nicht gearbeitet und sind erst ganz frisch auf den Markt gekommen Gruß Jan
Ja, es geht um mehrere. Und die Sache mit dem Offset ist SUPER! Dann kann ich die vollen 12 bit ausnutzen, bzw. muss die Tabelle nicht anpassen. Und die Tabelle gibts in dem von dir verlinken Beitrag. :)
Nachtrag: Hier ist das ganz gut beschrieben: http://www.energie-und-technik.de/lighting/technik-know-how/leds/article/79905/
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.