Folgender Setup, wir habe ein Arduino Duemilanove mit einem Led Painter Board mit jeweils einem TLC5940 für einen Farbkanal (RGB) verbunden, und damit 15x Seoul P5 II als ersten Test verkabelt. Die TLCs laufen alle im GS Modus, keine dot correction aktiviert. Das Arduino Board bekommt 9 Volt und gibt geregelte 5 Volt an die TLC VCC Eingänge weiter, die LED Versorgung an den TLCs erfolgt über separate 5 Volt Netzteile. Die TLCs werden ziemlich heiss im Betrieb. Wenn alle Leds auf Maximum gesetzt werden, um weiß zu erhalten (z.b. über Tlc.init(4095)), haben wir deutlich sichtbare Farbschwankungen (siehe Anhang, die Kamera übertreibt die Farben ein wenig). Ich hätte erwartet, das der TLC5940 bei gleicher Parameterisierung und Last identische Ausgangswerte auf allen Pins liefert. Wo dran kann das liegen, wenn das nicht der Fall ist? Folgende Tests haben wir noch gemacht: - Umstecken zweier LEDs an den LED Painter Boards: die Farbschwankung bleibt dem Anschluss zugeordnet, d.h. ein Einfluss der RGB LED selbst scheint es nicht zu sein - Darstellung nur eines Farbkanals, z.b. Blau: Man erkennt, das nicht alle 15 LEDs den Farbkanal gleich hell darstellen. Das führt im Endeffekt zu der Verfärbung durch unterschiedliche Anteile - Austausch des 'R' gegen den 'B' TLC auf dem Led Painter Board: die Farbschwankung wechselt mit dem Kanal, d.h. es liegt an den jeweiligen TLCs selbst. Ich bin etwas ratlos, natürlich kann man das über Profilierung oder Dot Correction beseitigen, aber die TLC Ausgänge dürfen eigentlich keine unterschiedlichen Ausgangssignale bei gleicher Parameterisierung haben, oder?
Hast du mal nachgemessen ob wirklich unterschiedliche Ströme fließen? Es könnte nämlich auch an einem Softwarefehler bei der Ansteuerung liegen. Ich konnte etwas derartiges bei mir zumindest nicht beobachten.
Ich habe die einzelnen Ströme noch nicht gemessen, wollte aber am Wochenende mal mit dem Scope die PWM Signale anschauen. Software sollten wir eigentlich ausschliessen können, das Programm hat nur eine relevante Zeile, den Tlc.init(4095); :) Habt Ihr RGB LED setups mit TLCs kalibrieren müssen, oder war das weiss der einzelnen LEDs korrekt?
Vieleicht sind es ja nicht die TLC´s sondern die Led´s. Wenn alle Led´s bei gleichen Strom gleich hell leuchten würden bräuchte man keine dot correction. Und so eine RGB Led besteht im grunde aus 3 einzelnen Led´s was die Chance von Abweichungen in der Gesammtfarbe nicht umbedingt verringert.
adrian wrote: > Habt Ihr RGB LED setups mit TLCs kalibrieren müssen, oder war das weiss > der einzelnen LEDs korrekt? Ich habe die LEDs angeschlossen und mich über die schönen Farben gefreut (die Helligkeitsunterschiede auf dem Foto kommen vom unterschiedlichen Blickwinkel auf die LEDs). Allerdings sind das auch RGB LED Matrix Displays, die vermutlich alle LEDs aus der selben Charge verwenden. Wie gut Einzelleds sind, kann ich nicht sagen, aber bei dir sieht es doch etwas extrem unterschiedlich aus. Davon ausgehend, dass das Auge eine eher logarithmische Kennlinie hat, und daher kleine Unterschiede kaum Wahrgenommen werden, müssen entweder deine LEDs extreme Toleranzen haben, oder es existiert doch ein Problem in der Software oder Hardware.
Wenn ich im Betrieb die Anschlusskabel einer rotstichigen RGB LED mit einer blaustichigen austausche, wandert die Farbverfälschung mit dem Anschlusskabel mit. Daraus habe ich geschlossen, das es nicht die Helligkeitsvariation der RGB Leds selbst ist, richtig? Wenn ich nun den TLC Chip gegen einen anderen austausche, habe ich ein anderes Pattern an Verfärbungen, das interpretiere ich eigentlich auch auf den Chip als Arbeitsthese. Bei der Library von Alex Leone kann ich mit einem einfachen Init Befehl alle LEDs auf weiss setzen und den Effekt provozieren, da kann man eigentlich keinen Fehler einbauen. Ein Freund hat ein paar weitere Testprogramme geschrieben, die auch sehr ähnliche Ergebnisse geliefert haben. Insofern habe ich auch erstmal Software als Problem ausgeschlossen (Die Hardware ist schuld, die alte Diskussion ;) Damit wären entweder die TLC Chips die Fehlerursache (das ist für mich momentan das naheliegendste, obwohl ich keine Erklärung dafür finde), oder ein Bug in der Arduino IDE liefert fehlerhaften Code, aber das passt nicht zu dem Versuch mit dem Austausch der TLCs. Als nächstes würde ich mir die PWM Signale mit dem Scope für die einzelnen RGB Kanäle von zwei farbstichigen RGB Leds anschauen, macht das Sinn, oder hättet Ihr noch einen Vorschlag, was man noch testen könnte? Im Notfall könnte ich eine dot correction für alle 150 Leds per Hand machen, aber davon würde ich lieber Abstand nehmen wollen :)
adrian wrote: > Bei der Library von Alex Leone kann ich mit einem einfachen Init Befehl > alle LEDs auf weiss setzen und den Effekt provozieren, da kann man > eigentlich keinen Fehler einbauen. Setzt die Init sowohl die Stromquellen als auch die PWM Werte? > Als nächstes würde ich mir die PWM Signale mit dem Scope für die > einzelnen RGB Kanäle von zwei farbstichigen RGB Leds anschauen, Mach das mal. Ich tippe darauf, dass die Ströme unterschiedlich sind, da das Dot Correction Register nicht beschrieben wurde.
So, ein paar Messungen und TLCs später haben wir einige neue Effekte. TLC ist über VCC mit 5 Volt versorgt, die LED Anoden mit 3,3 Volt. Für den Test haben wir 15x Seoul P5-II mit drei TLCs (getrennt nach R/G/B Kanal) angebunden, und schrittweise alle LEDs mit weiss (RGB full) dazugeschaltet. Der Anodenstrom in der Summe ist gemessen ~1400 mA, d.h. 30 mA per LED, das sollten laut Datenblatt 60 mA max (bei 3,3 Volt Anodenspannung) sein. Bei dem schrittweisen Einschalten der LEDs haben wir den Effekt, das die zuerst eingeschalteten LEDs stufenweise leicht dunkler werden, so als ob der Gesamtstrom für die LEDs nicht ausreicht! Das war uns beim gemeinsamen einschalten zuerst nicht aufgefallen. Das ist alles leicht verwirrend :) Ich würde als nächstes IREF vom TLC für Rot auf 500 Ohm (78 mA) ändern, und Blau/Grün auf 330 Ohm (120 mA) lassen, um die helleren roten Leds zu kompensieren. Dann hänge ich ein regelbares Labornetzteil an die Anodenversorgung und schaue mir mal den Strom per LED an. Insgesamt hab ich den Eindruck, das der TLC5940 überhaupt nicht mit den Seoul P5-II zurande kommt, obwohl wir bereits einen sehr niedrigen (60 mA) Strom per Kanal fahren.
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.