Forum: Mikrocontroller und Digitale Elektronik TLC5940 Ausgänge ab Werk nicht kalibriert?


von adrian (Gast)


Angehängte Dateien:

Lesenswert?

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?

von Benedikt K. (benedikt)


Lesenswert?

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.

von adrian (Gast)


Lesenswert?

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?

von Michael F. (jiro)


Lesenswert?

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.

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

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.

von adrian (Gast)


Lesenswert?

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 :)

von Benedikt K. (benedikt)


Lesenswert?

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.

von adrian (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.