Forum: Mikrocontroller und Digitale Elektronik Viele LEDs mit Mikrocontroller (Arduino) ansteuern


von Oli M. (dotb52)


Lesenswert?

Hey,

ich würde gerne eine große Anzahl von LEDs mit einem kleinen 
Mikrocontroller wie dem Arduino UNO ansteuern können. Es werden so ca. 
100 LEDs die ich autonom ansteuern muss wobei der Arduino dafür ja 
leider nicht genug Ports hat.

Nun gibt es folgende Vorraussetzungen:
- Jede LED muss autonom ansprechbar sein
- Die LEDs müssen dimmbar sein (PWM?)
- Die LEDs sollten relativ hell sein

Dabei stell ich mir nun folgende Frage:
- Wie steuer ich eine so große Anzahl an LEDs gescheit an?
- Sollten die eine eigene Stromversorgung kriegen?
- Wenn ja, wie dimme ich die dann am Besten?

Ich hoffe mir kann jemand ein paar gute Tipps geben, brauch ein bisschen 
Spaß in den Semesterferien. :D

Schöne Grüße
Oli

: Gesperrt durch Moderator
von Codeumgebung (Gast)


Lesenswert?

Evtl. ist der MAX6954 was für Dich...

von MaWin (Gast)


Lesenswert?


von Codeumgebung (Gast)


Lesenswert?

MaWin schrieb:
> Vielleicht soltest du erst die LEDs aussuchen, zwischen
> https://www.ssl-id.net/leds-and-more.de/catalog/pr...
> und
> https://www.ssl-id.net/leds-and-more.de/catalog/pr...
> unterscheidet sich die Ansteuerung schon ein wenig.

Der erste Link geht nicht...

von Codeumgebung (Gast)


Lesenswert?

Codeumgebung schrieb:
> Der erste Link geht nicht...

Nehme ich zurück...wenn man es nicht in einem neuen Fenster öffnet geht 
er.

von Tufgool (Gast)


Lesenswert?

Diese große Anzahl von LEDs wirst Du nicht ohne ein erkennbares Flackern 
unabhängig voneinander mit den von Dir angedachten µC mittels PWM dimmen 
können. Nimm doch einfach mehrere µCs und versorge Sie über ihre Rx-, 
Tx-Ports mit Daten.

von ??? ?. (wookiee)


Lesenswert?

Wie wärs mit einem (mehreren) SAA1064?
Der kann über den IC2-Bus angesteuert werden und kann vier 
7-Segment-Anzeigen (mit Dezimalpunkt) verwalten, ergo 32 LED's.

Dimmen kannst du die dann (wobei ich mir nicht sicher bin, ob das geht), 
indem du die Versorgungsspannung mittels PWM ansteuerst (über 
zusätzlichen Transistor natürlich).
Alternativ an jeden Ausgang des SAA1064 einen MOSFET hängen und alle mit 
dem selben PWM Signal ansteuern.

von MCUA (Gast)


Lesenswert?

>ich würde gerne eine große Anzahl von LEDs mit einem kleinen
>Mikrocontroller wie dem Arduino UNO ansteuern können.
Mit einem Bus-System, das ein paar Module adressieren kann.

von Oliver R. (sourcebox)


Lesenswert?

Vermutlich wäre es auch gut zu wissen, ob du jede einzelne LED 
individuell dimmen möchtest oder ob es reicht, sie global zu dimmen.

von Thomas E. (thomase)


Lesenswert?

Oliver Mader schrieb:
> Es werden so ca. 100 LEDs

Das ist keine große Anzahl, sondern eine 10x10-Matrix.

Wobei der TO erstmal eine Definition davon

Oliver Mader schrieb:
> - Die LEDs sollten relativ hell sein

liefern sollte.


mfg.

von Oli M. (dotb52)


Lesenswert?

Ja es ist eine Matrix,
aber kein 10x10 Matrix.

Gedimmt werden sollen alle gemeinsam.

Evtl. könnte mich mal jemand aufklären was es denn für grundlegende 
Techniken es gibt um diese Aufgabe so einfach wie möglich, von der 
Hardware Seite betrachtet, zu lösen.

Wie funktioniert das mit dem Spalten/Zeilenweise ansteuern?
Dann beschränke ich mich erstmal auf das Minimum und versuche dann 
dadran zu lernen und zu wachsen.

Schöne Grüße
Oli

von Thomas E. (thomase)


Lesenswert?

Oliver Mader schrieb:
> aber kein 10x10 Matrix.

Was ist es dann?

Oliver Mader schrieb:
> diese Aufgabe so einfach wie möglich

Das wäre 10x10.

mfg.

von MCUA (Gast)


Lesenswert?

2 grundl Techniken: LEDs direkt anschalten oder über Matrix.
Matrix spart Leitungen und ICs, aber die LEDs kriegen nur ein Bruchteil 
des Stroms, wegen der vorhandenen Spalten (oder Zeilen).

von Thomas E. (thomase)


Lesenswert?

MCUA schrieb:
> aber die LEDs kriegen nur ein Bruchteil
> des Stroms, wegen der vorhandenen Spalten (oder Zeilen).

Ach du Scheisse.

Die LEDs bekommen genau den Strom, den sie brauchen. Je nach Matrixgröße 
wird der Strom entsprechend erhöht. Bie 10x10 kriegen sie den zehnfachen 
Strom. Das ist natürlich nicht beliebig nach oben ausbaubar und auch von 
den verwendeten LEDs abhängig. Mit 3A oder noch mehr kann man das nicht 
mehr so machen. Mit 2mA-Funzeln können es auch noch ein paar mehr sein.

mfg.

von MCUA (Gast)


Lesenswert?

>> aber die LEDs kriegen nur ein Bruchteil
>> des Stroms, wegen der vorhandenen Spalten (oder Zeilen).
>Ach du Scheisse.
nein, du redet scheisse!
Man kann den Strom nicht beliebig *n erhöhen, wenn man 1/n MUX hat.
Deshalb wird die max erreichbare Helligkeit inner Matrix immer geringer 
als bei direkter Anschaltung.

von Josef (Gast)


Lesenswert?

Würde zwei MAX 7219 nehmen. Das sind dann 128 LEDs. Keine Vorwiderstände 
notwendig (nur einer). Kaskadierungs-Möglichkeit. Kommt mit 2-3 Pins 
aus. Gibts auch mit SPI. Einfache Sache. Dimmung auch kein Problem 
(mittels Register einstellbar).

Grüße Josef

von Thomas E. (thomase)


Lesenswert?

MCUA schrieb:
> nein, du redet scheisse!

Wenn du lesen könntest, hättest du das nicht schreiben müssen:

MCUA schrieb:
> Man kann den Strom nicht beliebig *n erhöhen,

Denn:

Thomas Eckmann schrieb:
> Das ist natürlich nicht beliebig nach oben ausbaubar

Und wenn du Ahnung von einer Matrixsteuerung hättest würdest du das 
nicht schreiben:

MCUA schrieb:
> Deshalb wird die max erreichbare Helligkeit inner Matrix immer geringer
> als bei direkter Anschaltung.

Es sei denn du verstehst unter "maximal erreichbarer Helligkeit" den 
Moment kurz vor dem Durchbrennen.

mfg.

von MCUA (Gast)


Lesenswert?

>Und wenn du Ahnung von einer Matrixsteuerung hättest würdest .....
Du hast jedenfalls keine Ahnung davon, denn die Helligkeit die mit 
direkter Ansteuerung dauerhaft erreicht werden kann, kannste mit dem MUX 
NICHT hin kriegen.
(Was allerdings nicht heisst, dass man max. Helligkeit immer benötigt)

von Codeumgebung (Gast)


Lesenswert?

Josef schrieb:
> Würde zwei MAX 7219 nehmen. Das sind dann 128 LEDs.

Die kann er wie bereits im 2.Post erähnt mit nur einem einzigen MAX6954 
erschlagen.

von Oli M. (dotb52)


Lesenswert?

Kann mir evtl. denn noch jemand erläutern was dieser MAX macht?
Das ist mir leider nicht ganz klar.

PS: Kein Grund sich hier zu streiten, schon gar nicht in diesem Ton!

Schöne Grüße
Oli

von Josef (Gast)


Lesenswert?

Codeumgebung schrieb:

>Die kann er wie bereits im 2.Post erähnt mit nur einem einzigen MAX6954
erschlagen.

Das stimmt. Aber der MAX 7219 ist einfacher anzusteuern. Er hat vor 
allem ein kleineres Gehäuse. Habe da weitergedacht betreffend einzelner 
8 x 8 LED - Module, die man beliebig zusammensetzen kann.


Grüße Josef

von MaWin (Gast)


Lesenswert?

> mit nur einem einzigen MAX6954 erschlagen.
> Aber der MAX 7219 ist einfacher anzusteuern

Beide sind vollkommen ungeeignet,
wenn man aus normalen 20mA LEDs die beworbene Helligkeit rausholen will.

Da aber Oliver Mader bis heute so rotzfaul war nicht mal auf Nachfrage 
zu antworten, welche LEDs er sich denn vorstellt, ist das alles Stochern 
im Nebel und lohnt die Antwortarbeit nicht.

von Josef (Gast)


Lesenswert?

Für 2o mA Leds reichen sie vollkommen.... Siehe Datenblatt.. Das im 
MUX-Betrieb die LEDs voll leuchten ist sowieso nicht möglich. Es sei 
denn mit höheren Strömen. Und wehe der MUX bleibt stehen. Und vor allem: 
Was ist voll leuchten ? Was will man sehen. Viele Fragen...

Welche LEDs wird er halt noch nicht wissen...


Josef

von MaWin (Gast)


Lesenswert?

> Für 2o mA Leds reichen sie vollkommen.... Siehe Datenblatt.. Das im
> MUX-Betrieb die LEDs voll leuchten ist sowieso nicht möglich. Es sei
> denn mit höheren Strömen. Und wehe der MUX bleibt stehen. Und vor allem:
> Was ist voll leuchten ? Was will man sehen. Viele Fragen...

Nur eine: Bist du wirklich so blöd und glaubst was du schreibst ?


Voll leuchten heisst übrigens die Helligkeit laut Datenblatt erreichen. 
Will man das nicht, hätte man gleich die billigeren lichtschwächeren 
nehmen können und hätte das Geld in die besseren nicht investieren 
müssen.

Natürlich bringen richtig konstruierte LED-MUX-Anzeigen die volle 
Helligkeit und die MUX bleibt auch bei chinesischen Programmieren nicht 
stehen (und wenn doch, sind die LEDs kaputt).

von Josef (Gast)


Lesenswert?

MaWin:

Lerne lieber mal ein paar Grundlagen. Man sieht, dass du noch nie eine 
MUX Steuerung umgesetzt hast. Speziel für dich zitiere ich die 
Grundlagen aus diesem Forum:



"Der verringerte Aufwand an Bauteilen kommt jedoch nicht ohne Nachteile. 
Da jede Spalte in einer Matrix mit N Spalten immer nur für 1/N der Zeit 
für einen vollen Bildaufbau aktiv ist, muss in dieser Zeit die gleiche 
Lichtmenge (=Energie) abgegeben werden, damit die genauso hell 
erscheint, wie wenn sie konstant mit Strom versorgt wird. Dazu muss der 
N-fache Strom fliessen. Demensprechend müssen die Vorwiderstände bzw. 
Stromquellen dimensioniert sein. Doch das führt zu zwei Problemen.

   1. Der Pulsstrom durch eine LED kann nicht beliebig gesteigert 
werden. Genaue Angaben dazu gibt es im Datenblatt. Als grobe Abschätzung 
kann man sagen, dass die meisten LEDs bis etwa 1:10 gemuxt werden 
können, darüberhinaus werden die Pulsströme zu hoch (20mA Betriebsstrom 
=> 200 mA Pulsstrom!)

   2. Die hohen Pulsströme verkraften die LEDs wirklich nur ganz kurz, 
sie brauchen die Ausschaltzeit um wieder abzukühlen! D.H. Die 
Ansteuerung des Multiplex darf NIE stehen bleiben, sonst brennen die 
LEDs durch! Für die Testphase der Matrix sowie Softwareentwicklung 
sollte man deshalb die Ströme stark veringern, die LEDs sind dann zwar 
wesenlich dunkler, überleben aber einen Softwareabsturz der Steuerung. 
Wenn am Ende alles getestet ist und man sich sicher ist daß die 
Steuerung funktioniert, kann man den Strom der Matrix wieder auf das 
volle Niveau erhöhen. Um ganz sicher zu gehen kann man einen Watchdog 
mit minimaler Laufzeit oder ein Monoflop verwenden, um im Fehlerfall die 
Stromversorgung bzw. Ansteuerung der LEDs abzuschalten.

Um die Helligkeit der LEDs im Multiplexbetrieb voll zu nutzen muss 
meistens ein höherer Strom geschaltet werden, als Mikrocontroller es 
können. Eine LED muss aufgrund ihrer Kennlinie an einer Stromquelle 
betrieben werden. Im einfachsten Fall ist das ein in Reihe geschalteter 
Widerstand an einer Spannungsquelle. Ob man die Zeilen oder Spalten 
einer Matrix multiplext ist im Prinzip egal, aber manchmal ist es 
schlicht logisch sinnvoller. So ist z.B. bei einer LED-Laufschrift mit 8 
Zeilen und 40 Spalten es sinnvoll, die Zeilen mit 1:8 zu multiplexen und 
nicht die Spalten mit 1:40! Generell kann man das in einer Schaltung so 
erkennen. Die gemultiplexte Dimension hat vor den Leistungsschaltern 
keine Vorwiderstände bzw. Konstantstromquellen sondern geht direkt an 
die LEDs. "

von Hiafl (Gast)


Lesenswert?

Mawin:

Was soll Helligkeit sein ? Habe nichts gefunden im Datenblatt... Bitte 
Lichttechnische Grundlagen lernen....Meinst du die Lichtstärke ? 
Leuchtdichte ? Es ist echt schwierig mit Einsteigern zu diskudieren..

von Iadnu (Gast)


Lesenswert?

Josef schrieb:
> Man sieht, dass du noch nie eine MUX Steuerung umgesetzt hast.

Hiafl schrieb:
> Mawin: ... Es ist echt schwierig mit Einsteigern zu diskudieren..

Ihr 2 seid nicht oft hier, oder?
:-D

Da bin ich mal auf die Antwort gespannt...

von Thomas E. (thomase)


Angehängte Dateien:

Lesenswert?

Muxer gegen Statiker.

Super Argumente: Blöd, Anfänger, keine Ahnung, Scheisse...

Da nehm' ich mich ja auch nicht aus. Aber ich hab' ja auch Recht.

mfg.

von MaWin (Gast)


Lesenswert?

> Speziel für dich zitiere ich die Grundlagen aus diesem Forum:

Danke Schätzchen, die
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.8.1
habe ich geschrieben.

Und wenn eine LED z.B. den 8-fachen Pulsstrom verträgt, dann kann man 8 
Spalten mit 8-fachem Strom 1/8 der Zeit multiplexen und bekommt trotzdem 
die volle Helligkeit in Candela laut Datenblatt. Abweichungen im 
Prozentbereich wegen Umschaltverlusten und Derating lassen wir mal 
aussen vor.

von --GooM-- (Gast)


Lesenswert?

MaWin schrieb:
> Danke Schätzchen.....

...auf die Schenkel klopf...*gg*

@All --> Danke für den köstlichen Thread!!

--GooM--

von MCUA (Gast)


Lesenswert?

> muss in dieser Zeit die gleiche Lichtmenge (=Energie) abgegeben werden,
> damit die genauso hell erscheint, wie wenn sie konstant mit Strom versorgt
> wird. Dazu muss der N-fache Strom fliessen.
Selbst wenn der n-fache Strom (bei diesem Duty-Cycle) erlaubt wäre, 
heisst das noch lange nicht, das dann auch die n-fache Leuchststärke 
erreicht wird!

von MaWin (Gast)


Lesenswert?

> Selbst wenn der n-fache Strom (bei diesem Duty-Cycle) erlaubt wäre,
> heisst das noch lange nicht, das dann auch die n-fache Leuchststärke
> erreicht wird!

Richtig, aber daher nimmt man nicht so unsägliche rote LEDs
http://www.dieelektronikerseite.de/Datasheets/Optoelektronische%20Elemente/L-934%20(Kingbright).pdf
(ok, das ist die übelste die ich in Jahren gefunden habe)
sondern welche die bei Überstrom nur geringen Helligkeitsverlust haben
(alle anderen aus dem Datenblatt steigern übrigens ihren Lichtstrom 
überproportional mit dem Strom, allerdings reicht das Diagramm nicht 
weit genug) .

Beitrag #6585769 wurde von einem Moderator gelöscht.
Beitrag #6585778 wurde von einem Moderator gelöscht.
Beitrag #6585896 wurde von einem Moderator gelöscht.
Beitrag #6585953 wurde von einem Moderator gelöscht.
Beitrag #6585960 wurde von einem Moderator gelöscht.
Beitrag #6585962 wurde von einem Moderator gelöscht.
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.