LED Matrix

Hi,

ich möchte mir aus RGB- LED´s eine kleine Anzeige bauen

wie groß darf da die Matrix sein, damit jede LED noch ihre max. Helligkeit erreicht?

kennt jemand ein IC, mit dem ich so eine Matrix ansteuern kann?
Es sollte aber noch jede LED einzeln dimmbar sein (4 Helligkeitsstufen würden mir reichen 0; 1/3; 2/3; 1)

Vielen Dank schon mal und frohe Weihnachten!

Hi,

nimm eine kleine LCD-Anzeige mit integrierter Matrix.
http://www.sprut.de/electronic/lcd/

nicki

Hi,
eine LCD Anzeige bringt mir nicht viel, da die Anzeigefläche ca. DINA5 groß sein soll und mehrere Farben darstellen können muß.

Hallo,

zunächst zu Nick: kaufmännisch hat er recht, LCD ist sicher billiger, und es gibt natürlich LCD-Anzeigen von Handy-Format bis über 20 Zoll, also auch in DINA5.

Zu den LEDs: begrenzt ist ja nur das Tastverhältnis, aber nicht die Anzahl an Leitungen - natürlich kann man jede beliebige Anzeige verwirklichen. Schliesslich könnte mich ja niemand hindern, mit Treiber-ICs 1024 Spalten über 1024 Leiterbahnen anzusteuern. Mit einem IC kommt man natürlich nicht weit, so etwas gibt es nur zur Ansteuerung von Ziffernanzeigen mit wenigen Stellen.

Eher wird der Strombedarf eine Grenze darstellen: nimmt man ein Display mit 1024 x 768 LEDs (also eine normale PC-Auflösung) und setzt 1 mA pro LED an, so ergeben sich bereits 800 A Strombedarf. Ich würde daher umgekehrt rechnen und nach der verfügbaren Leistung entscheiden, was überhaupt realisierbar ist.

Gruss Reinhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ok, daran sollte ich wohl auch noch denken

hatte 32 x 48 vor gehabt, daß würde bei 20mA und allen drei Farben 92A machen da kann ich mir aber noch was einfallen lassen.
Alle LED´s sind eh nicht gleichzeitig an und nicht alle drei Farben auf einer!

Zu den LEDs: begrenzt ist ja nur das Tastverhältnis, aber

dieses Verhältnis beschränkt doch die max Anzahl Spalten (bzw. Reihen, je nach Ansteuerung)?

hab den Maxim 695x gefunden, der kann eine 20x8 Matrix ansteuern, allerdings nur mit Ascii Zeichen, das bringt mir leider nicht viel aber als Vorlage für einen µC kann ich ihn schon mal nehmen.
(im Speicher 4Bitmuster, für die Hellichkeit, hinterlegen und nacheinander ausgeben bis neue Daten kommen)

wenn ich ein 10% Tasverhälniss hab, wie hoch ist denn dann der Strom?
10x also bei mir 200mA? Wie hoch muß dann die Spannung sein?
in meinem Datenblatt (wenn man es überhaupt so nennen kann) steht darüber leider nichts.

Ok, daran sollte ich wohl auch noch denken

Hallo,

wie groß darf da die Matrix sein, damit jede LED noch
ihre max. Helligkeit erreicht?

zu dieser Frage folgende Überlegungen.

- eine Matrix wird ja Zeile/Spaltenweise durchgeschaltet
 Bei 32x48 also mind. 32 Zeilen (oder Spalten).
- LED haben eine weitgehend lineare Kennlinie, d.h. 
 Lichtleistung ist weithgehend linear zum Strom.
- Für das Auge ist aber der Mittelwert wichtig. d.h 
 1/10 Einschaltschaltzeit erfordert 10-fachen Strom für 
 gleiche Helligkeit.
 Hier gibt es aber nun eine Grenze, die der Hersteller der
 LED vorgibt -\> max.Impulsstrom (siehe Datenblatt)
- Um bei 1/32 Einschaltzeit die gleiche Helligkeit wie bei
 20mA-Dauerbetrieb zu bekommen, müßte man mit über 600mA 
 Pulsstrom arbeiten. Das wird aber wesentlich zu viel sein,
 für normale 20mA-LED (laut Datenbl. 50-100mA, max. 200mA).
- In Konsequenz mußt Du die Matrix so in Segmente unterteilen,
 so daß oben genannte Bedingungen eingehalten werden.

hatte 32 x 48 vor gehabt, daß würde bei 20mA und allen drei
Farben 92A machen da kann ich mir aber noch was einfallen
lassen.

Das kann man schon realisieren. Der Strom muß ja auch nicht
aus einer einzigen Stromversorgungsschaltung kommen.
Jedes Matrixsegment kann eine eigene Stromquelle haben.

Alle LED´s sind eh nicht gleichzeitig an und nicht alle drei
Farben auf einer!

Zu den LEDs: begrenzt ist ja nur das Tastverhältnis, aber

dieses Verhältnis beschränkt doch die max Anzahl Spalten bzw.
Reihen, je nach Ansteuerung)?
hab den Maxim 695x gefunden, der kann eine 20x8 Matrix
ansteuern, allerdings nur mit Ascii Zeichen, das bringt mir
leider nicht viel aber als Vorlage für einen µC kann ich ihn
schon mal nehmen.

Ein uP als Steuereinheit ist sowieso zweckmäßig.
Dazu Latches für die Spalten und Zeilen und entsprechende
Treiber (auch diskrete Trans.)für die max. zu erwartenden Ströme.

(im Speicher 4Bitmuster, für die Hellichkeit, hinterlegen und
nacheinander ausgeben bis neue Daten kommen)
wenn ich ein 10% Tasverhälniss hab, wie hoch ist denn dann
der Strom?

Na 10-fach, sofern das innerhalb der zulässigen Spezifikation
liegt.

10x also bei mir 200mA? Wie hoch muß dann die Spannung sein?
in meinem Datenblatt (wenn man es überhaupt so nennen kann)
steht darüber leider nichts.

Die Spannung ist dann etwas höher als die im Datenblatt
angegebene Flußspannung (bei 20mA). LED verhalten sich
eben wie Dioden und haben ein exponetiellen Zusammenhang
zw. Spannung und Strom.
LED sind eh nicht mit Spannungquellen, sondern eben mit
Stromquellen zu versorgen (einfachster Fall: Vorwiderstände)

Es sollte aber noch jede LED einzeln dimmbar sein (4 :Helligkeitsstufen würden mir reichen 0; 1/3; 2/3; 1)

Also jede LED einzeln dimmen, das geht bei Zeilen/Spalten-
weiser Matrixansteuerung nicht.
Bei Einzeldiodenansteuerung in der Matrix hättest Du
aber das Problem mit dem Pulsstrom ja noch mal um
Größenordnungen verschärft.

Außerdem solltest Du beachten, daß das Helligkeitsempfinden
des Auges logarithmisch ist. 1/3 Strom erscheint dann also
keinesfalls als 1/3 Helligkeit. Wenn man noch den Einfluß
des Umgebungslichtes dazurechnet, wird die Dynamik im
Helligkeitsempfinden nochmal deutlich größer.
Gruß Uwi

Danke für die ausführliche Antwort!

Also jede LED einzeln dimmen, das geht bei Zeilen/Spalten-
weiser Matrixansteuerung nicht.

hatte bei „dimmen“ auch eher an eine PWM gedacht

Außerdem solltest Du beachten, daß das Helligkeitsempfinden
des Auges logarithmisch ist. 1/3 Strom erscheint dann also
keinesfalls als 1/3 Helligkeit. Wenn man noch den Einfluß
des Umgebungslichtes dazurechnet, wird die Dynamik im
Helligkeitsempfinden nochmal deutlich größer.

hast du dafür irgend eine Seite auf der ich mir das mal genau durchlesen kann? Die PWM kann ich ja von der Pulsbreite der einzelnen Stufen anpassen.

Werd die Matrix demnach in 3mal 10x(48xrgb) einteilen, daß reicht auch.

Hallo:

Also jede LED einzeln dimmen, das geht bei Zeilen/Spalten-
weiser Matrixansteuerung nicht.

hatte bei „dimmen“ auch eher an eine PWM gedacht

an was andere dachte ich auch nicht.
Es ist aber natürlich so:
Wenn Du immer eine Spalte ansteuerst, dann werden auch
alle LED dieser Spalte mit der gleichen Pulsweite betrieben.
Du kannst also dann nicht jede LED einzeln dimmen, sondern
max. die jeweilige Spalte.
Wenn Du immer nur eine einzige LED in der Matrix einschaltest,
wird der Puls pro LED viel zu kurz und dementsprechen
der Strom ungeheuer hoch.

Außerdem solltest Du beachten, daß das Helligkeitsempfinden
des Auges logarithmisch ist. 1/3 Strom erscheint dann also
keinesfalls als 1/3 Helligkeit. Wenn man noch den Einfluß
des Umgebungslichtes dazurechnet, wird die Dynamik im
Helligkeitsempfinden nochmal deutlich größer.

hast du dafür irgend eine Seite auf der ich mir das mal
genau durchlesen kann?

Nein, da mußt Du mal selber suchen.

Die PWM kann ich ja von der Pulsbreite der
einzelnen Stufen anpassen.

Werd die Matrix demnach in 3mal 10x(48xrgb) einteilen, daß
reicht auch.

Ich denke, 4mal 8 x 48 wäre besser. uP-Ports haben
üblicherweise 8Bits :smile:

Machst Du da eine Leiterplatte (Layout) oder willst Du das
von Hand verdrahten?

Ich würde doch mal über eine Einzel-LED-Ansteuerung
nachdenken. Ist zwar deutlich mehr Verdrahtung, koset
aber sonst nicht soviel mehr (pro 8/16 LED ein Latch
für paar Cent/Kopeken).
Der Vorteil wäre eine quasi statische Ansteuerung.
Das bedeutet, Du must nur die LED ein/ausschalten, die
ihren Zustand gerade ändern sollen.
Wenn Du dann die Gesammthelligkeit ändern willst,
dann geht das sehr gut mit Tristate-Ausgang oder auch
mit separaten Highside-Schaltern (pnp-Transistoren gegen +Ub)
Wenn Du die 3 Farben dann jeweils zusammenfasst, dann
kann man Farbübergänge auch gut machen .
Gruß Uwi

Hallo:

Also jede LED einzeln dimmen, das geht bei Zeilen/Spalten-
weiser Matrixansteuerung nicht.

Hallo Uwi et al,

Beispiel:
man schaltet per Spaltentreiber alle LEDs einer Spalte an Plus (bei einem 10fach Multiplexer eben für 1/10 der Zeit).
Alle LEDs in der Spalte, die leuchten sollen, werden über einen Widerstand und den zuständigen Spaltentreiber mit Minus verbunden. Wird eine geringere Helligkeit gefordert, so schaltet der Spaltentreiber eben nur für einen Teil der obigen Zeit (z.B. 1/3 von 1/10) ein, d.h. die Helligkeit lässt sich also leicht über die Spaltentreiber steuern, im Prinzip sogar stufenlos.

Hat man so z.B. eine Matrix von 10 x 10 realisiert und braucht mehr, so setzt man sie einfach nebeneinander, natürlich braucht man dann für 30 x 10 auch den 3fachen Aufwand. Nach oben gibt es keine theoretische Grenze ausser Leistung und Geld.

Gruss Reinhard

Ich werd mir dazu ein Layout machen (such grad nach den Abmessungen für Leiterbahnen über die mehrere AMprer fließen, den Trick mit Lötzinn bzw. Draht auflöten kenn ich schon)

oder willst Du das von Hand verdrahten?

ne das wird mir etwas zu viel hab bei der 8x8 Version schon über 400 verbindungen!

man schaltet per Spaltentreiber alle LEDs einer Spalte an Plus
(bei einem 10fach Multiplexer eben für 1/10 der Zeit).
Alle LEDs in der Spalte, die leuchten sollen, werden über
einen Widerstand und den zuständigen Spaltentreiber mit Minus
verbunden. Wird eine geringere Helligkeit gefordert, so
schaltet der Spaltentreiber eben nur für einen Teil der obigen
Zeit (z.B. 1/3 von 1/10) ein, d.h. die Helligkeit lässt sich
also leicht über die Spaltentreiber steuern, im Prinzip sogar
stufenlos.

so in der Art sollte das Laufen!

Hat man so z.B. eine Matrix von 10 x 10 realisiert und braucht
mehr, so setzt man sie einfach nebeneinander, natürlich
braucht man dann für 30 x 10 auch den 3fachen Aufwand. Nach
oben gibt es keine theoretische Grenze ausser Leistung und
Geld.

Wei schon geschriebn soll die Matrix je 10x(48xrgb) groß sein,
das bedeutet 5x 2Kanel High Side Treiber(gekühlt) und 36 ULN2801 (immer zwei Treiberstufen zusammen, wegen 200mA Maxstrom, oder hat hier jemand ne bessere Idee?)

Wei schon geschriebn soll die Matrix je 10x(48xrgb) groß sein,
das bedeutet 5x 2Kanel High Side Treiber(gekühlt) und 36
ULN2801 (immer zwei Treiberstufen zusammen, wegen 200mA
Maxstrom, oder hat hier jemand ne bessere Idee?)

Hallo,

die Ströme sind schon ganz nett, besonders die HiSide muss ja eine ganze Spalte von Leds verkraften; ich würde daher (für beide Treiber) möglichst MOSFETs verwenden, die haben einen geringeren Spannungsabfall und es gibt sie auch kurzschlussgeschützt, z.B. als Treiber für DC-Motoren. Typenbezeichnungen fallen mir leider gerade nicht ein, ich habe bisher sowas von SGS (Thomson-SGS) verwendet.

Gruss Reinhard

noch was
Hallo,

ich habe noch einen Hinweis.

Beachte, daß bei enger Anordnung der LED recht viel Wärme
auf engem Raum verheizt wird. Dem entsprechend ist auch
das Wärmemanagment nicht ganz unwichtig. Das sollte man
dann auch schon beim Layout berücksichtigen.
Auch die Temperaturdrift der Lichtleistung der einzelnen
Farben kann recht unterschiedlich sein.

Ich werd mir dazu ein Layout machen (such grad nach den
Abmessungen für Leiterbahnen über die mehrere AMprer fließen,

Mit Powerplanes wäre das kein Problem.

den Trick mit Lötzinn bzw. Draht auflöten kenn ich schon)

Mühselig und aufwendig.
Aber man kann Leiterplatten auch mit dickerem Kupfer machen
lassen (z.B. 120um statt der üblichen 35um).

oder willst Du das von Hand verdrahten?

ne das wird mir etwas zu viel hab bei der 8x8 Version schon
über 400 verbindungen!

Dann überlege doch mal, ob Einzel-LED-Ansteurung nicht doch
Sinn macht. Die Treiber kann man dann evtl an einen BUS
legen (z.B. Schieberegister). Brauchst z.B. pro 8 LED einen
Treiber (Latch). Die kosten aber nur ca. 10-12Cent.
Macht bei ca. 200 Stück noch nicht mal 25€. Die LED
werden sicher deutlich teurer sein.

Gruß Uwi

Hallo Uwi,

Also jede LED einzeln dimmen, das geht bei Zeilen/Spalten-
weiser Matrixansteuerung nicht.

hatte bei „dimmen“ auch eher an eine PWM gedacht

an was andere dachte ich auch nicht.
Es ist aber natürlich so:
Wenn Du immer eine Spalte ansteuerst, dann werden auch
alle LED dieser Spalte mit der gleichen Pulsweite betrieben.
Du kannst also dann nicht jede LED einzeln dimmen, sondern
max. die jeweilige Spalte.

Wieso nicht ???
Ich kann ja die LEDs auch Spaltenweise abschalten. Es ist ja kein Problem die Spalten abzuschalten auch wenn die Zeile eingeschaltet ist.
Also du berechnest z.B. 4 Werte für die Spalte, je nachdem welche LED wie hell leuchten soll.
100% Ausgang in allen 4 Werten aktiv
75% Ausgang in 3 Werten aktiviert

Spalten mit Wert1 laden
Zeile einschalten
nach T1 Wert2 in Spalten laden.
usw. bis Wert4

Dann Zeile abschalten
nächste Spalte laden
nächste Zeile einschalten …

Je nach Hardware-AUstattung des MicroControllers geht das sogar mit ganz wenig Softwareaufwand z.B. Timergesteuerte DMA …

MfG Peter(TOO)

Der Trick mit Lötzinn??
Hallo Zondan,

bei handelsüblicher Kupferstärke 35µm kann man durch auftragen von Lötzinn auf die Leiterbahn die Strombelastbarkeit praktisch nicht verbessern.

Der Widerstand von Zinn (lötzinn wiess ich jetzt nicht) ist etwa Faktor 6-7 höher, da macht dann auch die Dicke kaum was aus. Dann doch lieber dickeres Kuper oder breiter.

(Drähte sind zwar schön und gut, aber dann kann man ja auch fast direkt gleich fädeln. Ist zwar aus der Mode, kann ich auch nicht, aber einige Kollegen sind mit WireWrap unheimlich gut, schnell und flexibel. Und EMV-Technisch ist es eh meist besser als ein dahinlayoutetes Board. Bei kleine, vielpoligen SMD-Bauteilen ist WireWrap ungeeignet, weil diese erst auf Adapterplatinen gelötet werden müssten, und dann alles recht groß wird. Bei LEDs dagegen kann WireWrap eine echte Alternative sein.)

Gruß
achim

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]