Forum: Mikrocontroller und Digitale Elektronik LED Multiplexen


von Marc (Gast)


Angehängte Dateien:

Lesenswert?

Auch ich versuche mich am multiplexen von LEDs. Trotzt Internet stehe 
ich auf dem Schlauch. Anbei ein Auszug aus meiner Schaltung.
Wenn ich jetzt mit ca. 50 Hz takte, dann ist die LED aber sehr dunkel. 
Ich nutze eine LED eines Kingbright 5x7 Modul TA07-11HWA.  Wie kann ich 
da nun mehr Helligkeit rauskitzeln?

von Hans J. (hjm)


Lesenswert?

Hallo Marc,

wie groß ist den Dein Widerstand?

Wenn Du einen Dutycycle von 50% nutzt, hast Du nur die hälfte der 
Spannung und daurch natürlich auch nur die hälfte des Strom, daher 
hälfte * hälfte = viertel. Du hast nur noch ein viertel der vollen 
Leistung.

Grüße
Hans-Josef

von Mike (Gast)


Lesenswert?

Du solltest erstmal schauen ob das Tastverhältnis stimmt. Ansonsten wird 
da nur mehr Strom helfen. Laut Datenblatt verträgt die Anzeige 
Strompulse bis zu 150mA (1:10 0,1 ms). Deine Multiplex-Routine darf dann 
aber auf keinen Fall stehen bleiben.

von und3rt4ker (Gast)


Lesenswert?

Hi,
guck mal ins Datenblatt. Die Anzeige ist so dunkel! Ich habe die größere 
version, aber auch "hwa". Im DB stand was von 900mcd. Wenn ich den 
passenden Vorwiderstand für 5 volt einsetze, sodass gemessene 20 ma 
fließen, wird das rot schon orange. Mit 5-10 ma im Dauerbetrieb hat die 
Anzeige ein schönes rot.

MfG
und3rt4ker

von Matthias (Gast)


Lesenswert?

Hallo...
ich frage mich gerade was du da überhaupt machen willst?!?
Anoden an +5V legen und dann?? Strichmustergenerierung oder wie? Zeichen 
Zahlen etc generierst du so nicht!
Du könntest demnach eigentlich nur Zeileweise multiplexen...das wären 6 
Schritte und der Dutycycle liegt mit 16,7% deutlich unter 50%. Die 
Frequenz von 50Hz würde ich schneller wählen um ein Flimmern zu 
vermeiden.
Grösse deines Rv ist??
Greetz

von Marc (Gast)


Lesenswert?

Also ich habe da nur eine LED hingemalt. Warum nicht die Anode an 5 V? 
Die anderen 34 sind ja unerheblich erst einmal. AUßerdem hat man ja dann 
nicht nur einen Block. Also sagen wir mall 100 Spalten. Aber auch egal - 
erst mal. 50 Hz ist auch erst mal egal, denn das flimmert natürlich. Es 
geht ja ums Prinzip.

Wenn ich die LED nach Datenblatt permanent versorge ist sie schon OK 
hell. So (etwa) soll es halt auch im Multiplexbetrieb sein. Wie kann ich 
denn den Strom erhöhen?

von Matthias (Gast)


Lesenswert?

Dein LED-Modul ist wie eine Matrix aufgebaut. Wenn du nun alle Anoden 
permanent an +5V hängst, und die Reihen abwechselnd schaltest, dann 
leuchten immer nur ganze Reihen auf - also 5 LEDs auf einmal. Wenn du 
dann mit 50Hz multiplexen willst, leuchten nacheinander die Reihen 1 - n 
auf..mehr passiert nicht. Da ist es dann auch egal ob du 50, 100 oder 
1Mio Spalten ansteuerst. Der einzige Unterschied ist, das halt 50, 100 
oder 1Mio LEDs gleichzeitig leuchten werden. Genau hier liegt aber nach 
deinem Schaltbild ein Problem. Die 5 Dioden jeder Zeile eines Moduls 
teilen sich demzufolge einen Widerstand R der zum ULN2003 führt. Der 
Widerstand müsste also eigentlich berechnet werden mit: 
(5V-VLED)/(5*IDD). Dazu wäre halt ein genauer Schaltplan sinnvoll und 
eine Auskunft was du dort überhaupt machen willst.
Um Multiplexing testen zu können brauchst du auch definitiv mehr als 
"erstmal nur eine LED".Diese LED mit 50Hz zu betreiben sagt eigentlich 
überhaupt nichts über die spätere Leuchtkraft aus, da das reale 
Tastverhältnis sich später aus der Anzahl der zu multiplexenden Zeilen 
oder Spalten ergibt und in deinem Fall noch dunkler sein wird.

von Matthias (Gast)


Angehängte Dateien:

Lesenswert?

Also hier mal ein Beispiel zur Veranschaulichung:
PortX im uC ist ein belibiger Datenport. Der ULN ist mehr oder weniger 
optional, falls der Port den Strom einer LED nicht aufnehmen kann. Für 
die Funktionskontrolle würde ich ihn spendieren. Die Widerstände 
errechnen sich zu (5V-VLED)/IDD..also so um 150Ohm etwa. Die Pins A, B 
und C des Controllers steuern ebenfalls Treiber. Diese müssen den 
7-fachen Strom einer LED liefern können..also rund 140mA. Das könntest 
du auch durch PNP Transistoren realisieren. Was passiert nun beim 
multiplexen:
Du möchtest nun zB eine 8 auf dem Display anzeigen (bildlich 
vorstellen).
In der ersten und letzten Spalte deines Moduls müssen also alle LEDs 
leuchten, in den anderen nur die oberen, unteren und die mittleren. Also 
gibst du zunächst auf dem PortX den Wert 0000000 aus (0 = LED an) und 
schaltest danach den Ausgang C in der Schaltung ein, A und B bleiben 
aus. Jetzt Leuchten die 7LEDs in Spalte 1. Danach wird Ausgang C wieder 
ausgeschaltet, und der Wert auf PortX auf 0110110 geändert. Dann 
schaltest du Ausgang B ein (A und C aus). danach wieder B löschen und in 
PortX wieder 0000000 schreiben. Dann A einschalten und das ganz Spiel 
von vorne.

Was hat das nun für Vorteile:
Der Strom der in die Anoden fliesst ist nicht begrenzt und richtet sich 
nach der Anzahl der LEDs die Leuchten (0 bis 7 LEDs pro Spalte). Dadurch 
das nur immer PinA, PinB oder PinC leuchten (also immer nur einer! = 
deshalb Multiplex) ist der Strom durch den Widerstand an den Kathoden 
konstant und gering.
Bei dir wären es dann halt zum Testen die Pins A-E.

MfG Matthias

von whatever (Gast)


Lesenswert?

Kleine Frage:

Halbe Spannung, halber Strom: stimmt das wirklich? Die LED leuchtet doch 
die Hälfte der Zeit mit voller Leistung, also mösste sich die Leistung 
halbieren und nicht vierteln! Man kann doch nicht den 50% Duty Cycle 2 
mal einrechnen, oder?

von Marc (Gast)


Lesenswert?

Alles schön und gut. Aber was multiplexen ist weiß ich und darum ging es 
nicht. Die eine LED leuchtet ja nicht mal hell genug - im Gegensatz zu 
einer Standard-LED.

von Gregor S. (Gast)


Lesenswert?

Sorry Marc,
aber aus deinem Schaltbild geht hervor, dass du es zumindest 
Hardwareseitig eher nicht verstanden hast.
Was du dort "gemalt" hast, ist eigentlich kein Multiplexing, sondern das 
betreiben einer LED an einem Rechtecksignal. Falls du die LED heller 
leuchten lassen willst, brauchst du nen anderen Widerstand. Das wurde 
oben aber auch bereits festgestellt und sogar Werte hat man dir dafür 
genannt. Was erwartest du also noch wenn du nicht sagst was du dort 
verbaut hast? Mehr wie nicht geht, geht halt nicht.
Ansonsten zum Thema Dutycycle: Volle Leistung über die halbe Zeit = 50% 
Leistung über die volle Zeit....nicht 25%!

von Durchblicker (Gast)


Lesenswert?

Ich muss gestehen, dass meine Basistests zur Ermittlung der Helligkeit 
einer Multiplexanzeige ähnlich einfach gestrickt sind und das macht auch 
Sinn. Ignoriere einfach die Ignoranten. Spannung halbiert sich - haha!

Also: Wenn Du 7 Zeilen multiplexen willst, musst Du natürlich den 
siebenfachen Strom durch die Diode(n) schieben. Da gibt es natürlich 
eine physikalische Obergrenze. Mehr also 50mA würde ich nicht pulsen, 
aber das ist der Weg.

von Marc (Gast)


Lesenswert?

Ich weiß auch nicht, was an dem Test auszusetzen ist. Ist ja auch erst 
mal vollständig die Schaltung. Egal was ich für einen R nehme zwischen 
18 und 100 Ohm, da tut sich nicht viel bei der oben genannten Marix, was 
mich eben so stört - im Gegensatz zu einer 08/15er, die deutlich heller 
wird.
Nur mal so als Beispielwerte: 19 ms LED aus und 0,4 ms ist die LED 
derzeit ein

von Durchblicker (Gast)


Angehängte Dateien:

Lesenswert?

Hm... habe selber ein Projekt mit TC07-11 gebaut. Bedenke, dass 
letztlich doch "viele" LEDs leuchten werden und damit das 
Erscheinungsbild heller wird. Es werden die Zeilen gemultiplext. 
Vorwiderstand 47 Ohm bei 5V Betriebsspannung.

von Dan (Gast)


Lesenswert?

und bei 2,..% Dutycycle fragst du dich, warum es nicht hell wird?

von Di P. (drpepper) Benutzerseite


Lesenswert?

> Nur mal so als Beispielwerte: 19 ms LED aus und 0,4 ms ist die LED
> derzeit ein

Merkwürdig, dass es nicht hell wird... ;)

Um auf die Gleichspannungsleistung zu kommen brauchst du den 
19,4ms/0,4ms = 48,5fachen Strom (ob die LEDs das aushalten?).

von Marc (Gast)


Lesenswert?

>und bei 2,..% Dutycycle fragst du dich, warum es nicht hell wird?

Ehrlich gesagt? ... JA!

Weil ich mal gerechnet habe:
Für (flimmernde) 50 Hz muß jede LED jede 1/50 s leuchten. Also kann eine 
LED 20 ms leuchten. Bei 100 gemultiplexten LEDs (Spalten) bleiben pro 
LED 0,2 ms.

Aber vielleicht habe ich ja auch einen riesen Denkfehler.

Und wie schon mehrmals erwähnt: Mit Billig-LEDs komme ich annähernd auf 
meine Wunschhelligkeit!

von Falk B. (falk)


Lesenswert?

@ Marc (Gast)

>Aber vielleicht habe ich ja auch einen riesen Denkfehler.

Ja, ein MUX von 1:100 ist nicht sinnvoll bzw. realisierbar. Siehe 
PWM und LED-Matrix.

>Und wie schon mehrmals erwähnt: Mit Billig-LEDs komme ich annähernd auf
>meine Wunschhelligkeit!

Und nach 1 Stunde sind sie verglüht.

MFG
Falk

von Bastler (Gast)


Angehängte Dateien:

Lesenswert?

Also ich hab diese Variante genommen.
Läuft prima, sollte nur noch ein paar Muster hinterlegen...

von Marc (Gast)


Lesenswert?

>Ja, ein MUX von 1:100 ist nicht sinnvoll bzw. realisierbar.

Heißt das, die üblichen Werbe-Textdisplays etc. die ca. 20 Zeichen (=100 
Spalten) haben werden andres angesteuert?

>Also ich hab diese Variante genommen.

Da Du keine Spaltentreiber hast, gehe ich davon aus, das sind Module mit 
gemeinsamer Kathode und Du multiplext auch noch die Zeilen? Dann 
leuchtet jede LED ja noch weniger Zeit. Mehr als die 8 Module ist dann 
gar nicht drin oder?

von Peter D. (peda)


Lesenswert?

Marc wrote:

> Da Du keine Spaltentreiber hast, gehe ich davon aus, das sind Module mit
> gemeinsamer Kathode und Du multiplext auch noch die Zeilen?

Nein, sondern nur die Zeilen.

Die Spalten liegen ja parallel an, das ergibt dann ein Multiplex von 
1/7.

Das ist die übliche Methode.


Peter

von Bastler (Gast)


Lesenswert?

Genau!

1. Zeile in Schieberegister takten, dann Zeile ausgeben.
2. Zeile in ...

Da bleibt das Timing bei 1/8.

Die Schieberegister können auch direkt 25mA treiben.
Ich hab sowas mit 16x8 aufgebaut, leuchtet mit 150 Ohm echt gut.

von Marc (Gast)


Lesenswert?

Häh? Jetzt steige ich gleich ganz aus.
Die Zeilen sind am Schieberegister? Der 259 ist doch ein 3:8 Decoder. 
Die Spalten hängen doch nach meinem Verständnis an den Schieberegistern. 
Bei LED Modulen mit gemeinsamer Anode fließen da durch einen 
Schieberegister-Port bis zu 7x25mA.

Ich steh auf dem Schlauch. :-(

von Bastler (Gast)


Lesenswert?

Es wird zeilenweise Multiplext.
Somit muss das Schieberegister nur eine LED pro Ausgang treiben.

Ablauf:
1. 40 Bit werden in die Schieberegister gelagen.
2. erste Zeile wird angezeigt.
3. 40 Bit werden in die Schieberegister gelagen.
4. zweite Zeile wird angezeigt.
5. 40 Bit werden in die Schieberegister gelagen.
6. ...

Also insgesamt können max. 40 LEDs an sein, aber pro Spalte nur eine.

von Marc (Gast)


Lesenswert?

OK. Jetzt wird's klarer.
Aber wie ist das dann mit der Helligkeit? Wenn der ULN wie im Beispiel 
oben bis zu 40 LEDs gegen Masse ziehen muß, darf jede nur 12,5 mA haben. 
Nicht gerade viel.

von Falk B. (falk)


Lesenswert?

@ Marc (Gast)

>oben bis zu 40 LEDs gegen Masse ziehen muß, darf jede nur 12,5 mA haben.
>Nicht gerade viel.

Nö, vor allem bei 7:1 MUX, was einem effektiven Strom von 1,8mA 
entspricht. Das reicht nur für Low Current LEDs.

MFG
Falk

von Bastler (Gast)


Lesenswert?

Bei einer "normalen" Anzeige kommt es auch fast nie vor, dass eine ganze 
Zeile an ist.

Ich hab die Schaltung mit einzelnen LEDs aufgebaut (8x16) mit hellen, 
durchsichtigen, grünen LEDs und 150 Ohm. Die Dinger leuchten völlig 
ausreichend.

Aber 40 Stück aufeinmal sind für den ULN schon viel...

von Johannes M. (johnny-m)


Lesenswert?

Wenns hart auf hart kommt, kann man das Display auch splitten und durch 
mehrere parallel angesteuerte ULNs schalten (z.B. anstatt 8 je 4 Blöcke 
an einen ULN). An der eigentlichen Ansteuerung ändert sich dadurch 
nichts, es sind aber pro Treiber nur noch max. 20 LEDs gleichzeitig 
aktiv (bzw. noch weniger, wenn man noch mehr Treiber einsetzt).

von Falk B. (falk)


Lesenswert?

@ Bastler (Gast)

>Aber 40 Stück aufeinmal sind für den ULN schon viel...

Wobei man dem ULN im Hobbybereich sicherlich auch 1A zumuten kann, da 
jeder Ausgang nur 1/7 der Zeit aktiv ist und somit die mittlere 
Verlustleistung wesentlich geringer ist. Allerdings kommt man dan auch 
nur auf 3,6mA effektiv/LED.

MFG
Falk

von Marc (Gast)


Lesenswert?

Ich grab noch mal meinen Beitrag aus.

Bin jetzt (wieder/immer noch) bei diesem Thema und habe mich noch mal in 
diese Schaltung vertieft: 
http://home.wanadoo.nl/electro1/avr/scroll5.htm

Überseh' ich da was oder wird der ULN2003 oberhalb seines 
Leistungsspektrums betrieben? 8 Module à 5 LEDs können doch im worst 
case 1A ziehen (je LED 25mA). Und wenn man den Strom noch etwas anhebt, 
damit's schön hell wird, ergibt das noch mehr Last. Der Spitzenstrom im 
ULN ist aber mit 600mA angegeben.

Wie gesagt: übersehe ich was?

von Bastler (Gast)


Lesenswert?

Stimmt schon!

Aber...
1. Es kommt bei einer "normalen" Anzeige quasi nie vor dass alle LEDs an 
sind
2. nicht dauerhaft. Wenn eine Zeile komplett an ist und die anderen aus, 
handelt es sich um einen gepulsten Strom mit entsprechendem 
Tastverhältnis.


Wie bereits erwähnt: Ich hab die Schaltung abgewandelt mit 8x16 LEDs, so 
dass maximal 16x 25mA = 0,4A fließen. Bei den heutigen hellen (klaren) 
LEDs echt ausreichend.
Später will ich mal auf 16x32 erweitern und eine Wand-Deko draus bauen.

von Bastler (Gast)


Lesenswert?

reduzier einfach mal den Strom auf 20mA, betrachte das ganze aus etwas 
Entfernung und entscheide selber ob es hell genug ist...somit haste "nur 
noch" 800mA.

...mach den Test mit verschiedenen LEDs...

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.