Forum: Mikrocontroller und Digitale Elektronik Helligkeitsproblem beim LED Multiplexen


von David (Gast)


Lesenswert?

Guten Abend!
Ich habe mir in Tagelanger Arbeit eine Schaltung zusammengelötet, in der 
ein ATMega16 ein paar 5x7 DotmatrixDisplays ansteuert.

Das Problem ist nun folgendes: ich muss insgesamt 28 LEDs multiplexen.
Wenn ich eine Refresh-Rate von etwa 20 Bildern pro Sek. haben will, 
bleiben für jede LED noch mal 2ms Leuchtzeit. Dem entsprechend ist das 
Display sehr dunkel.

Nun suche ich also nach einer Möglichkeit die Schaltung zu retten, OHNE 
alles neu zu löten.
Mein erster Ansatz ist folgender: anstatt der 100 Ohm Widerstände, die 
im Moment vor den LEDs sitzen, könnte man vermutlich auch wesentlich 
kleinere nehmen (vielleicht sogar gar keine???). So könnte ein größerer 
Strom fließen, und die LEDs wären heller.

Was meint ihr? Würd's das bringen?
Oder gibt es noch andere einfache Lösungen?

Vielen Dank für eure Hilfe!

von Jadeclaw D. (jadeclaw)


Lesenswert?

Den Strom kannst du in der Tat erhöhen.
Im Datenblatt zu den LEDs ist neben dem maximalen Dauerstrom meist auch 
angegeben, bei welchem Puls/Pausenverhältnis, bzw. bei welcher 
Einschaltdauer welcher Strom fließen darf. Der Betrieb ganz ohne 
Widerstände ist nicht zulässig. Und wenn der Controller die LEDs direkt 
treibt, so sind dessen Limits ebenfalls einzuhalten. Bei AVR-Controllern 
üblicherweise 40mA pro IO-Pin, bzw. 200mA pro Port, bzw 400mA für das 
ganze IC. Das sind dann die absoluten Grenzwerte, man sollte tunlichst 
merklich darunterbleiben.
Die Stromerhöhung sollte man erst nach erfolgreicher Fertigstellung des 
Programms machen, damit bei einem Fehler einzelne LEDs nicht überlastet 
werden.

Gruss
Jadeclaw.

von David (Gast)


Lesenswert?

So, bin jetzt mal von 100 Ohm auf 10 Ohm runtergegangen. Leider wird's 
dadurch nur minimal heller.
Ich hab mich sogar getraut, den Widerstand durch einen Kurzschluss zu 
ersetzen, aber auch das brachte nicht viel (und nein, es ist nicht 
explodiert ;-)).

Die LEDs werden übrigens nicht direkt durch den AVR gesteuert, sondern 
über Transistoren, so dass sie ihren Strom direkt aus dem Netzteil 
beziehen können.

Dann frage ich nochmal etwas anders: ist es überhaupt möglich 28 LEDs zu 
multiplexen? Oder lässt sich dabei niemals genug Leuchtkraft erreichen?
Falls das geht - was mach ich dann falsch?

von Matthias (Gast)


Lesenswert?

das ist locker möglich, poste mal deine schaltung! da ist, glaub ich, 
was faul..

von holger (Gast)


Lesenswert?

>Die LEDs werden übrigens nicht direkt durch den AVR gesteuert, sondern
>über Transistoren, so dass sie ihren Strom direkt aus dem Netzteil
>beziehen können.

Nimm mal ein dickeres Netzteil. Und mach vorher die
Widerstände wieder rein !

von Fred (Gast)


Lesenswert?

Hi,

wie schon beschrieben scheint das Netzteil nicht mitspielen zu wollen. 
Mehr Helligkeit entspricht mehr Strom. Der kann aber nur fließen, wenn 
das Netzteil auch eine ausreichende Spannung zu Verfügung stellt, damit 
dieser Strom fließen kann.
Gruß

Fred

von David (Gast)


Lesenswert?

Das Netzteil verspricht 4,5V und 800 mA. Das sollte doch eigentlich 
ausreichen?

Die Schaltung ist etwa folgende (habe leider kein Bild):

Der AVR steuert einen über 3 Leitungen vier 74HC238 (de)muxe (die hängen 
alle parallel, aber über den enable-Eingang wird sichergestellt, dass 
immer nur einer davon an ist).

Diese werten die drei Eingänge aus, und schalten einen ihrer 8 Ausgänge 
ein.
(das ganze dient nur dazu, um Pins am AVR zu sparen, also um 8 Ausgänge 
verwenden zu können, dabei aber nur 3 Pins zu opfern).

Von diesen 8 Ausgängen gehen 7 Leitungen an meine LEDs (jeweils an eine 
Zeile meiner 5x7 DotMatrizen).
Jeder der Demuxer multiplext also die Zeilen eines meiner vier Displays.

Die 5 (Spalten-)Ausgänge aller Displays sind dann wiederum über besagte 
10 Ohm Widerstände an einem ULN2803 angeschlossen. Das kann benutzt 
werden, um die  Spalten zu multiplexen.

Pff, hört sich ganz schön kompliziert an, ist aber eigentlich ganz 
einfach:
Ein AVR steuert 4 x 74HC238 und 1 x ULN2803.
Die 74HC238 dienen dabei zum Zeilen-Multiplexen, der ULN2803 zum 
Spaltenmultiplexen....ich glaube ich male doch grad mal ein Bild ^^
(poste ich gleich)


Ist es eigentlich richtig, dass die 74HC238 ihre Ausgänge direkt 
zwischen VCC und GND umschalten? Dienen die Inputs wirklich nur dazu, 
den aktiven Ausgang festzulegen?
Falls das nämlich nicht so ist, würde der AVR die LEDs ja doch selber 
versorgen müssen....mmmhhh

von Matthias (Gast)


Lesenswert?

Klingt erstmal plausibel, poste aber zur sicherheit mal die schaltung

von David (Gast)


Lesenswert?

Hier mal die Schaltung (schlampig, ich weiß) :-D

http://img162.imageshack.us/my.php?image=multiplexxq9.gif

von Benedikt K. (benedikt)


Lesenswert?

Versorgen die 74HC238 die LEDs direkt ?
Falls ja, dann begrenzen die den Strom auf etwa 30-40mA. Ich habe ein 
LED Display mit Mux 1/16. Da gehe ich bereits auf 150mA. Bei deinen 1/28 
kannst du problemlos auf 200mA gehen, falls die LEDs das mitmachen. Für 
mein 80x16 LED Display verwende ich ein 5V 10A Netzteil...

von Peter D. (peda)


Lesenswert?

Und auch die Software, damit man sieht, wie groß das Tastverhältnis ist.

Ich habe 12 Punktanzeigen mit 7 Power-FETs getrieben, da kamen bis zu 2A 
zusammen. Ein ULN schafft das nicht.

Die Spalten habe ich mit Schieberegistern gesteuert (74AC299) + 100 Ohm 
in Reihe (=34mA).

Gemultiplext wurden die Zeilen, also Tastverhältnis 1/7.


Peter

von David (Gast)


Lesenswert?

Ach ja: es gibt dann noch vier Leitungen, über die die 74HC238s 
einzelnen aktiviert werden könne, die hab ich im Bild vergessen...

von Peter D. (peda)


Lesenswert?

Ne, ohne Treibertransistoren schaffen die 238 das nicht.

Peter

von Matthias (Gast)


Lesenswert?

Hm.. ist zwar sehr sonderbar diese Ansteuerung der Dot-Matrix (weil viel 
verschwendet wird, es geht einfacher und effektiver)

Egal:

In der Schaltung kann ich so nicht falsches erkennen.

Allerdings sind immer nur maximal fünf LEDs je Spalte eingeschaltet.
Dadurch ergeben sich hohe Ströme
=> Bringen die HC238 einen hohen LED-Strom?
   ich glaube der kann nur 10mA, vielleicht 20mA
   für LED multiplexen ist das ziemlich wenig, sollten 50..100mA sein
=> Selbe Frage für den ULN2803, nur der muss 20mal! den LED-Strom 
bringen
   es wäre aber sinnvoll, die Vorwiderstände eher hinter die HC238 zu 
machen.
=> Beim Schalten der Ströme enstehen induktive Spannungsfälle an den
   Zuleitungen zu Hc238ern und ULN2803. Es sollten zwingend direkt über
   die Pins Blockelkos eingebaut werden! (falls nicht vorhanden)
=> Liefert das Netzteil genug Strom?

von David (Gast)


Lesenswert?

Verdammt ^^

Gibt es denn vergleichbare ICs, die mehr leisten? So dass ich die 
einfach austauschen kann? Oder muss ich die komplette Schaltung neu 
machen?
Das wäre seeeehr ärgerlich!

von Matthias (Gast)


Lesenswert?

Ich würde die Schaltung neu machen, und dabei effektiver verdrahten,
sollte mit einem ULN mehr machbar sein, falls der genug Strom bringen 
kann, sonst halt Transistoren.,...

von David (Gast)


Lesenswert?

Aber wenns doch wirklich nur an den Strömen liegt?
Und vieleicht mit anderen ICs prima funktionieren täte?

von dom (Gast)


Lesenswert?

Ein einziger MAX7219 oder MAX7221 würde das problem auch lösen. ;-)

Von welchem Hersteller sind die LED-Module? Es gibt von Kingbright 
solche Module die super-hell sind.

von David (Gast)


Lesenswert?

AAAARGHH!!! Warum sagt mir keiner, dass es sowas gibt?!?!?! lol
Und die sind ja auch noch viel billiger als meine ganzen Bauteile.... 
heul

von David (Gast)


Lesenswert?

Aber ich seh grad: die MAXs schaffen nur 64 LEDs, ich bräuchte also 3 
Stück, um meine 4 DotMatrizen anzusteuern, richtig?
Das ist also auch nicht so ganz das wahre :-(

von David (Gast)


Lesenswert?

Gibt es denn keine DEMUXE, die höhere Leistung verkraften?
(Die Pins müssen ja nicht genauso belegt sein wie beim 238...)
Ich google mir grad die Finger wund, kann aber nichts finden :-(

von Matthias (Gast)


Lesenswert?

gibt es auch nicht. die teile sind ja zum dekodieren und nicht zum 
treiben..

also, am besten kommst du wirklich mit dem max72..

von David (Gast)


Lesenswert?

Nunja, aber drei solcher MAXe zu verbauen gefällt mir auch nicht. Andere 
Idee:

Die Demuxe waren ja nur dazu da um zwei Dinge zu tun :

1) Mit nur 3 AVR-Pins 8 Ausgänge anzusteuern
=> Das ist nicht unbedingt schlimm, hier könnte ich auch 8 Pins opfern

2) Mit je einem AVR-Pin einen Demux komplett deaktivieren zu können, ums 
so alle 4 Displays einzelnen an/aus schalten zu können

D.h. eigentlich wäre auch eine Art Transistor-Array (wie der ULN2803) 
geeignet, das allerdings:

1) Die aktivierten Ausgänge auf VCC zieht (nicht auf Masse)
2) Einen von den Eingängen unabhängigen ENABLE Pin hat, mit dem man den 
ganzen Baustein an/ab schalten kann

Gibt es sowas? *bitte bitte lieber Gott, mach dass es so einen IC gibt!* 
;-)

von Matthias (Gast)


Lesenswert?

Anderer Vorschlag:

DU hast vier Display je 5x7dots?? Welcher Typ ist das??

Ja, dann würde es gehen mit:

1x  ULN2803,
7x  Vorwiderstand
20x Transistor pnp bei spalten mit kathode/ npn bei spalten mit anode!
3x  74HC238 bei npn / 74HC138 bei pnp Transistor!
7+5=12pins.


Wäre das ok?

von David (Gast)


Lesenswert?

Aber wer möchte denn 20 Transitoren verlöten? Wäre natürlich machbar... 
;-)
Aber wenn es keine andere Möglichkeit gibt?

von Matthias (Gast)


Lesenswert?

nun, falls du treiber findest, die 200..500mA Impulsströme mit 5% 
Tastverhältnis treiben können, dann kannst du die Transistoren auch 
durch diese Treiber ersetzen...

Welchen matrix typ hast du?:

spalte ist anode,
oder
zeile ist anode??

War ja nur ne idee...

von David (Gast)


Lesenswert?

Habe ich das richtig in Erinnerung, dass die Anode an - liegt?
Dann sind bei mir die Spalten (also 5 Pins pro Display) Anoden, die 
gehen nämlich über die 5 Widerstände an den ULN2803, und der zieht die 
wiederum auf GND.

Das sind übrigens Kingbright Displays (TC 12-11 RT).
"Dot-Matrix-Display, 5x7 Pkt., 8,0mm, rot, Kathode" heißt es bei 
Reichelt.

von Matthias (Gast)


Lesenswert?

Also, bei TC 12-11 RT sind die SPALTEN die KATHODEN und müssen Richtung 
MINUS geschaltet werden!

Das bedeutet in MEINEM Beispiel:
PNP Transistoren und 74HC138

von David (Gast)


Lesenswert?

So, ich habe mich heut Nacht noch ein bisschen drangesetzt, und eine 
neue Schaltung gezeichnet. Ist im Prinzip ähnlich der ersten, allerdings 
ist der störende Multiplexer raus.
Jetzt werden die LEDs ausschließlich über Transistorarrays gesteuert, 
müssten also genug Strom bekommen.
Ausserdem multiplexe ich jetzt über die Spalten anstelle der Zeilen, 
muss also nur noch:
4 (Displays) x 5 (Spalten) = 20 Schritte machen
(d.h jede LED bekommt jetzt mehr Zeit zum leuchten als vorher, wo ich 28 
Schritte machen musste).
Der "Pin-Verbrauch" hält sich auch in Grenzen. Mit genau 2 Ports, also 
16 Pins müsste alles gehen.

http://img411.imageshack.us/my.php?image=multiplex3ed8.gif

Dazu noch ein paar Fragen:

1) Der Baustein den ich mit einem "?" gekennzeichnet habe sollte genauso 
wie die ULN2803s funktionieren, nur die gewählten Ausgänge auf VCC 
anstatt auf Masse zu ziehen.
Gibt es solche ICs? Wie heißen die?

2)Gibt es da jetzt noch irgendwelche störenden Strombegrenzer?
Die ULNs sind ja eigentlich nur Transistoren, müssten also einiges 
vertragen...

3) Klappt das mit dem enablen der Displays so, wie ich mir das 
vorstelle?
Indem ich einfach die GND Ausgänge der ULNs nochmal mit einem Transistor 
versehe, müsste ich ja deren kompletten Stromfluss unterbrechen können, 
oder?

Vielen Dank für eure Hilfe!

von l00k (Gast)


Lesenswert?

Oben stand die Lösung schon mal (von dom) ;-)

Mit den superhellen Display sollte das Problem gelöst sein ohne das Du 
etwas an der Schaltung ändern müsstest.
Habe selber mal 8 von den Biestern verwendet (jeweils 2 gleichzeitig 
angesteuert, also 4 Paare gemuxt) und wollte auch nicht so richtig hell 
werden. Durch den Einbau der superhellen Teile (Kingbright TC07-11SRWA 
wars glaub ich) war es sofort perfekt ohne weitere Änderungen an der 
Schaltung. Waren nur etwas schwierig zu bekommen. Musste gleich 25 auf 
einmal nehmen.

von David (Gast)


Lesenswert?

Wo bekommt man die denn her? Die Suche nach "TC07-11SRWA" hat leider 
nichts gebracht :-(

von maddin (Gast)


Lesenswert?

hi,

wenn du in deiner alten schlatung einfach den UDN2981 von angelika dem 
238 nachschaltest, dann hast du doch genügend strom, oder? ist zwar 
etwas teuer, jedoch hättest du dann nichts ändern müssen....oder?

maddin

von maddin (Gast)


Lesenswert?

der udn ist sozusagen das gegenstück zum uln...

maddin

von l00k (Gast)


Lesenswert?

Schau dir mal den Kingbright Katalog an: 
http://www.kingbright-europe.de/_daten/Displays.pdf

Alle Displays mit SRWA in der Bezeichnung sind gut hell :-)
Musst halt schauen, welches Modul für Dich in Frage kommt (gemeinsame 
A/K und Größe).

Bezug z.B. über einen der Distributoren. Stehen auf der Homepage.



von l00k (Gast)


Lesenswert?

>Wo bekommt man die denn her? Die Suche nach "TC07-11SRWA" hat leider
>nichts gebracht :-(

Welche Suche meintest Du hier eigentlich?? Also Google bringt über 200 
Treffer, gleich der erste scheinbar auch eine Bezugsquelle.

von Dominik (Gast)


Lesenswert?

schau mal da datasheet vom udn2580 an...

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.