Forum: Mikrocontroller und Digitale Elektronik Viele (weiße) LED's ansteuern


von Steffen Brandt (Gast)


Lesenswert?

Hallo,

ich möchte mit einem AVR viele LED's (100 Stück) individuell ansteuern
und dimmen können.

Dazu habe ich überlegt, für jeweils 8 LEDs ein Latch einzusetzen. Alle
Dateneingänge sind über eine 8-bit breiten Bus an 8 Ports
angeschlossen. Der Strobe-Impuls für jedes Latch wird über eine
separate Portleitung geschaltet.

Frage:
Als Latch wollte ich einen 74HC573 einsetzen. Leider konnte ich aus dem
Datenblatt nicht genau ermitteln, wie hoch der maximale Ausgangsstrom
sein darf. Ich habe folgende Angaben gefunden:

IIK DC Input Diode Current ± 20 mA
IOK DC Output Diode Current ± 20 mA
IO DC Output Source Sink Current Per Output Pin ± 35 mA
ICC or IGND DC VCC or Ground Current ± 70 mA

Welche Angabe ist die richtige?
20 mA sind mir für weiße LEDs ein bisschen zu knapp. Außerdem würde ich
die Ausgänge ungern ständig am Limit betreiben. Was meint Ihr?

Alternativ könnte ich auch den UCN5801 benutzen (500 mA Output). Leider
ist der Chip aber um den Faktor 7 teuerer.

von Rufus T. Firefly (Gast)


Lesenswert?

Du könntest auch einen Open-Collector-Treiber wie 7406 oder 7407
verwenden. Die können bis zu 40 mA Strom ab, ertragen bis zu 30V
Spannung und dürften nicht sonderlich viel kosten.
Davon abgesehen ließe sich so etwas auch mit diskreten Transistoren
(die dreibeinigen Jungs) realisieren.

Du solltest vielleicht über eine Multiplexlösung nachdenken.

von Simon Küppers (Gast)


Lesenswert?

Allein aus

ICC or IGND DC VCC or Ground Current ± 70 mA

Kannst du schon schließen, dass Durch GND / Vdd maximal 70mA fließen
darf. wären also 2,5 LEDs am gesamten Chip ;)

von Karl (Gast)


Lesenswert?

Was ist eigentlich ein LATCH?

von Rufus T. Firefly (Gast)


Lesenswert?

Lies Dir das Datenblatt eines 74LS373 oder 74LS573 durch (Unterschied
von beiden ist nur die unterschiedliche Pinbelegung).

von Rahul (Gast)


Lesenswert?

oder ein ULN2803 (oder so ähnlich) die können sogar 500mA pro Kanal.
Latches alleine sind eigentlich nicht zum Treiben von LEDs gedacht,
sondern zum Zwischenspeichern von Adressen (Busmultiplexing...).
Einen Treiber dahinter (Open-Collector á la Rufus oder
Darlingtontreiber wie ULN 2803).
Hast du schon mal ausgerechnet, was 100 weisse Leuchtdioden für einen
Strom ziehen, wenn sie alle gleichzeitig (worst case) leuchten?
Bin mir jetzt nicht ganz sicher, was eine zieht. Mehr als 20mA?
Bei 100 sind das 2A. Das geht noch...
Besser:
Fasse die LEDs zu Gruppen zusammen und multiplexen.

Gruß Rahul

von AxelR. (Gast)


Lesenswert?

MAX7219 oder besser MAX7221, der hat SPI. kostet aber leider richtig
asche. Dafür kannst Du 64LED's (8x8) ansteuern. Multiplexen übernimmt
der Schaltkreis, die Dinger sind auch kaskadierbar. Sind in der
Straßenbahn in der Anzeige drinne...

Gibt es aber auch bei Segor
AxelR.

von Thomas O. (Gast)


Lesenswert?

Hallo,

wie wäre es denn mit einem ULN2803 der kann genug Leistung ab für eun
paar Leds und nen Latch kann man davorsetzen, wenn man die Speicherung
braucht.

von Steffen Brandt (Gast)


Lesenswert?

Erstmal vielen Dank für die vielen Antworten.

Hier meine Kommentare dazu:

Da es ein privates Projekt ist und ich den 8-fach LED-Treiber mit
Zwischenspeicher bis zu 12mal brauche, bevorzuge ich eine möglichst
einfache aber kostengünstige Variante. D.h. möglichst ein Chip.

Außerdem möchte ich die maximale Flexibilität in der Ansteuerung der
LEDs behalten. Es soll z.B. auch möglich sein, alle LEDs in voller
Helligkeit leuchten zu lassen um die Deckenbeleuchtung zu ersetzen und
anderseits aber auch ein feines Blinken (Sternenhimmel) ermöglichen.

Jetzt im einzelnen in Kürze:

@Rufus: Der 7406 hat meines Wissens leider nur 6 Ausgänge und kann den
Zustand nicht zwischenspeichern.

@Simon Küppers: Vielen Dank für die Info. Damit ist der HC573
eigentlich aus dem Rennen (siehe oben).

@Karl: Ein Latch ist ein Zwischenspeicher. Du legst ein Datensignal an,
gibst einen kurzen Impuls auf eine Steuerleitung und das Datensignal
erscheint am Ausgang und bleibt erhalten, auch wenn das Eingangssignal
verschwindet.

@Rahul: Der ULN2803 ist leider nur ein Treiber ohne Speicher. In
Kombination mit dem HC573 aber eine Überlegung Wert (aber - siehe
oben).
Die Rechnung für den Strombedarf ist einfach. Ich habe bereits ein
Schaltnetzteil 5V / 3,2A vor mir liegen :-).
Wenn ich alle LEDs gleichzeitig mit voller Helligkeit ansteuern möchte,
scheidet Multiplexen meiner Meinung nach aus.

@AxelR.: Der MAX7219 und Co. muliplext leider (siehe oben).

@Thomas O.: Jo, wäre eine Möglichkeit (siehe oben). Die Kombination
wäre preislich immer noch günstiger als der UCN5801 (Faktor 3). Aber es
sind halt zwei ICs.

von ---- (Gast)


Lesenswert?

> Wenn ich alle LEDs gleichzeitig mit voller Helligkeit ansteuern
> möchte, scheidet Multiplexen meiner Meinung nach aus.
nein, denn dann schickst du für kurze Zeit einen deutlich höheren Strom
(als den Nennstrom durch die LEDs; schau dir die vielen anderen Threads
zu dem Thema an).

> ich möchte mit einem AVR viele LED's (100 Stück) individuell
> ansteuern und dimmen können.
alle einzeln dimmen oder alle gemeinsam? Falls ersteres, dann viel
Spaß. :)

Mir ist auch nicht ganz klar wie du mit einem Latch dimmen willst?

----, (QuadDash).

von Marko B. (Gast)


Lesenswert?

Also ich würde das nicht so kritisch sehen mit dem maximalen Strom.
Speziell weiße LEDs kann man ohne Vorwiderstand an einen HC-Ausgang
hängen, da durch die relativ hohe Durchlaßspannung und den
Innenwiderstand der Ausgangs-FETs (ca. 50 Ohm) der LED-Strom gut
begrenzt wird. Gut, der maximale Gesamtstrom wird überschritten. Was
solls. Baut man halt die Latches gesockelt ein. Ich lehn mich jetzt mal
etwas aus dem Fenster und behaupte, eher stirbst Du bei einem
Verkehrsunfall, als daß Dir ein Latch kaputtgeht. ;)

Ich benutze übrigens Logik-Bausteine auch gern als Leistungstreiber,
wenn ich mal schnell was brauche und nix anderes rumliegt. An einen
74HC164 kann man eine Siebensegmentanzeige schon mal ohne
Vorwiderstände dranhängen (wird auch schön hell). Ein 74AC04 mit
parallelgeschalteten Ein- und Ausgängen gibt nen ordentlichen
Motortreiber ab. Wird zwar ordentlich warm, aber bis jetzt ist mit noch
keiner kaputtgegangen.

Das mit den Latches ist eine gute Idee, und IMHO die einzig sinnvolle
Möglichkeit, so viele LEDs einzeln anzusteuern und zu dimmen(!). Da muß
die Ansteuerung schon recht flott sein.

von Steffen Brandt (Gast)


Lesenswert?

@----: Das mit dem Multiplexen mit höheren Nennstrom ist natürlich eine
Möglichkeit. Mal schauen ob und was das Datenblatt der LEDs dazu sagt.
Da sich die LEDs aber über mehrere Quadratmeter verteilen, wird eine
Matrixverkabelung vielleicht etwas unübersichtlich.
Ich möchte jede einzelne LED dimmen können! Ich hatte an eine PWM
gedacht. Durch den Einsatz der Latches muss ich nur jeweils die
Ein-/Ausschaltimpulse per MCU steuern und das jeweils für 8 LEDs
gleichzeitig mit ein paar Ausgabebefehlen. Die
Ansteuerungsinformationen werde ich wahrscheinlich in Tabellenform im
Code abspeichern. Aber Du hast recht, es ist eine programmtechnische
Herausforderung ;-).

Marko B.: Na, dass ist doch auch mal eine Aussage. Sockel hätte ich
sowieso verwendet. Allerdings kann der Austausch von defekten
Bauelementen etwas schwierig sein, wenn das Ding erst mal unter der
Decke hängt ;-). Gibt es andere Erfahrungsberichte?

von AxelR. (Gast)


Lesenswert?

Ich sach, murks.
P-Kanal Fet's für die Spalten, N-Kanal Fet's für die Zeilen.
vernünftig ansteuern. die LED, die Dunkler leuchten soll, einfach beim
nächsten Durchlauf 1x auslassen. So schwer ist das nicht. Da flimmert
auch nichts.

Ja, ich habe sowas schon mal gebaut (Mit lämpchen und Diode in Reihe,
LED's waren damals nicht bezahlbar).

AxelR.

von simon (Gast)


Lesenswert?

@Axel
OH! Sogar noch ein sinnvoller Kommentar!

@Steffen
Für den Vorwiderstand bedenken wir bitte noch das unser Schalfzimmer
(sagen wir mal 3x4m groß ist und behaupten, dass die letzte Diode in
der äußersten Ecke liegt. Das sind zwar nur 1 bis 2 Ohm, aber wenn wir
die Diode ein bisschen kitzeln wollen um die Kontaktlinsen auf dem
Teppich zu suchen wird Rv sich so bei 70 Ohm bewegen.

von Marko B. (Gast)


Lesenswert?

Ich sach: unkonventionell, innovativ, elegant und preiswert.

Beim Multiplexen wird er aber höhere Spannungen brauchen als 10 V: 10
LEDs in Reihe -> mindestens 36V.

Klar, man kanns immer komplizierter machen. Man könnte auch für jede
LED nen eigenen Controller nehmen und alle über CAN vernetzen.

Nehmen wir mal an, er nimmt 74HC573. An die Ausgänge kommen 8 weiße
LEDs ohne Vorwiderstände. Bei einem RDS_on von 50 Ohm gibt das ca. 28
mA pro LED. Dabei werden im Ausgangstreiber ca. 39mW verbraten. Wenn
alle LEDs an sind, dann wird eine Verlustleistung von max. 320 mW
erzeugt. Geschenkt.

Laut Datenblatt:
MM74HC573
maximum power dissipation 600mW
DC output current per pin: +-35mA

Lediglich der maximale Vcc bzw. GND current wird überschritten. IMHO
wird dadurch die Zuverlässigkeit nur unwesentlich beeinträchtigt. Das
würde vielleicht auffallen, wenn man größere Stückzahlen produziert
(>1000). Also vorher 12 Stunden auf volle pulle laufen lassen. Ist
extrem unwahscheinlich, daß danach noch etwas kaputtgeht.

von AxelR. (Gast)


Lesenswert?

ich sach ja schon nichts mehr... Tschuldigung! ;-))
Macht mal. Wer vielleicht wissen will, WIE ich nun die 512 Glühlampen
einzeln dimme, der kann mir ja eine Email schreiben.
AxelR.

von Steffen Brandt (Gast)


Lesenswert?

Hey, ein wirklich rege Diskussion und hilfreich noch dazu. Danke.

@AxelR.: Die "Matrix" ist schon ein Klassiker und immer eine
Überlegung wert. Allerdings muss man mit recht hohen Frequenzen
arbeiten damit man auch die Helligkeit in weiten Bereichen regeln kann.
Bei den hohen Leitungslängen habe ich etwas Sorge um die EMV (obwohl ich
zugeben muss, dass ich davon wenig Ahnung habe - nur so ein Gefühl).
Außerdem haben LEDs gegenüber Glühlampen eine viele geringere
Nachleuchtdauer.
In meinem Ansatz werde ich wahrscheinlich mit einer Frequenz von 100 Hz
arbeiten und die Helligkeit über das Puls/Pause-Verhältnis beeinflussen.
Soweit die Theorie ;-).

@Marco B.: Einen versuch wäre es wert. Ich denke ich baue das ganze mal
mit 8 LEDs und einem HC573 exemplarisch auf und teste mal den
Dauerbetrieb.

@simon: Woher kennst Du die größe meines Schlafzimmers :-). 3x4m kommt
der Sache schon recht nah. Allerdings wollte ich die LEDs auf die
jeweils halbe Kantenlänge verteilen (1,5x2m) und über dem Bett
platzieren. Auf die Dimensonierung des Leitungsquerschnittes für +5V
und GND werde ich achten.

von simon (Gast)


Lesenswert?

Ach ja, eins noch!
ich hoffe Du trägst keinen Herzschrittmacher oder sowas.
ein 12qm großer Kondensator mit einem el Wechselfeld von ein paar kHz,

von Thomas Hergenhahn (Gast)


Lesenswert?

Warum hängst du nicht immer 8 oder 16 LEDs an einen eigenen uC fuer 2
Euro und steuerst diese "Slaves" von einem Master über SPI oder TWI?

von AxelR. (Gast)


Lesenswert?

Morgen,
der Hauptaufwand ist die Löterei an den LED's! Ich habe ewig bei der
Installation der Lampen gesessen. Wir haben damals Lichternetze
auseinandergeschnippelt. Die Lampen haben 1.5Volt. Überall noch ne
SY345 (habe da mal einen ganzen Gurt bekommen) davor. Mit der
Nachleuchtdauer der Glühlampen ist eher nachteilig. Ich musste in der
Software, welche die Bitmaps an die Decke bringt, sowas wie eine
"Frühzündung" einbauen, um die Nachleuchtdauer auszugleichen. Die
induktive Blinkomponente kam hier schon zum tragen. Radio auf
Mittelwelle als EMV-Test ist zwar nicht soo aussagekräftig, war aber
deutlich wahrnehmbar. Nachteilig ist der geringe DutyCycle von
1/512tel, da nun wirklich JEDE Lampe einzeln dimmbar ist. Ich will auch
garnicht erzählen, wie hoch die Betriebsspannung der Lampen war, sonst
kommen wieder die Sicherheitsapostel auf den Zweig. 1.5 x 512 in etwa
(direkt am Netz gleichgerichtet, mit 470uF/450V gesiebt (ca. 350
Volt).
Wenn ich mal Geld habe, abends essen zu gehen, mache ich mal ein Foto
von dem Lokal. Sieht jedenfalls Klasse aus!!

Hauptaugenmerk muss auf alle Fälle beim Multiplex Betrieb auf den
Ausfall der Taktfrequenz gelegt werden. Sonst glüht Dir alles weg! Beim
Latchen kann da nichts passieren. Ist in sofern schon besser...

Vile Grüße
AxelR.

von Steffen Brandt (Gast)


Lesenswert?

Vielen Dank nochmal an alle. Ich denke ich habe jetzt genug Material
gesammelt.

@simon: Die Bedenken hatte ich schon (siehe ein Nachricht "über"
Deiner ;-). Außerdem wollte ich mit einer PWM arbeiten mit einer
Periodendauer von 10 ms (100 Hz) arbeiten (siehe ebenfalls oben ;-).

@Thomas Hergenhahn: Zwei Gründe sprechen m.M. nach dagegen: 1) AVRs
liefern max. 20 mA am Ausgang - oder? 2) uC = 2 EUR, 74HC573 = 0,30
EUR

@AxelR.: Vielen Dank für Deine Hinweise. Auch wenn ich mich nicht so
recht vom Multiplexen überzeugen lasse, hat Dein Projekt meinem
immerhin eins voraus: es läuft bereits. Man kann noch so viele
raffinierte Dinge planen, aber wenn man sie nicht umsetzt ist es kaum
etwas Wert. Leider steht mein Projekt nach Schilderung der Details
gegenüber meiner "Auftraggeberin" etwas auf der Kippe.

von AxelR. (Gast)


Lesenswert?

Na denn probier das mal mit dem 573ern. Bin ich ja gespannt, wie warm
der dann wird.
Was kosten denn heute 100Weiße LED's?

von Pascal (Gast)


Lesenswert?

AVRs(zumindest die ATMEGAs) liefern meines Wissens nach nicht 20mA
sondern 40mA am Ausgang, am Preis ändert das aber natürlich nichts...

bei Reichelt kosten die hellsten weißen LEDs 2,30 Euro pro Stück

von simon (Gast)


Lesenswert?

nun, dann werde ich hier mal einen Alternativvorschlag machen.
1. Wie lange dachtest Du soll Dein Sternenhimmel halten?
2. Wie lange wolltest Du Dein Schalfzimmer nicht mehr renovieren?
3. Wie lange willst Du für das streichen der Decke brauchen?
4. Was willst Du als Trägermaterial für Deine Decke nehmen.
5. Wie schnell kommst Du aus Deinem Schlafzimemr raus, wenn der Zauber
in der Decke anfängt zu brennen?
6. Wie willst Du die Löcher bohren, ohne das die Ränder ausfransen?
7. Wie willst Du 6qm Decke im Stück montieren?
8. Wie willst Du die 100 LEDs in der Decke befestigen?


Ein paar hundert meter lichtwellenleiter aus Kunststoff (d = 1,5 - 2mm)
kostet nicht die Welt und macht keine EMV.
Die Enden Steckt man durch die Löcher seiner Feuerhemmenden
Rigipsplatten an der Decke (gibt F30) und läßt sie 10 cm nach unten
rausschauen.
Dann streicht man und schneidet die Enden ab, wenn die Farbe trocken
ist.
Deine hundert LEDs lötest Du Dir auf ein paar Europlatinen, bohrst in
jede in kleines Loch, so groß, dass Dein LWL -Kabel da rein passt
(siehe Thread genaues bohren) und kannst dann Sirius auch mal
austauschen, ode Alphazentrin, wenn der sich in einer Supanova auflösen
sollte()
Zum renovieren bemüht man dann die Kneifzangeund zieht die LWLs einfach
ein paar cm nach. Dann weiter wie oben beschrieben.
Keine EMV-Hölle, kein Keimloch, keine Baustelle um mal ein Lämpchen zu
wechseln, ...

von Steffen Brandt (Gast)


Lesenswert?

@AxelR.: die billigste bei Reichelt 0,48 EUR

@Pascal: Richtig, mein Fehler. Allerdings muss man auch auf den
zulässigen Gesamtstrom für VCC bzw. GND achten. Z.B. ATtiny26L = 200mA
und 16 LEDs x 30mA = 480 mA. Bei MCU wäre ich da ein bisschen
vorsichtiger als bei Latches :-).

von Steffen Brandt (Gast)


Lesenswert?

@simon
Du hast recht, mechanisch und konstruktiv sind noch einige Dinge zu
lösen. Ich dachte an eine dünne Sperrholzplatte o.ä. 1,5x2m (3qm) auf
eine Holzrahmen geschraubt und entsprechend gestrichen. Der ganze
Rahmen wird dann unter die Decke gehängt und kann bei nicht gefallen
oder zu Reparaturzwecken abgehängt werden.

Die Idee mit den Lichtwellenleiter klingt wirklich interessant. Vielen
Dank für den Tipp.

von A.K. (Gast)


Lesenswert?

Eventuell auch eine Überlegung wert: 74xx259. Weniger Pins pro Chip
(16), weniger Pins am Controller (8 Bit insgesamt). Und die LEDs werden
einzeln angesteuert.

Gibt's (gab es?) auch als NE590 pinkompatibel mit Relaistreibern am
Ausgang, wenn's viel Strom sein soll.

von Dirk (Gast)


Lesenswert?

Hi,

Tipp: ST6C595 = 74HC595+Treiber

Mfg

Dirk

von Florian -der Flo- Scharf (Gast)


Lesenswert?

Hi .. just my 2 cents:

zum einen ist das Multiplexen von 100 LEDs kein Problem (überhaupt
nicht), kannst dir das gerne bei mir angucken ;)
Rechne es einfach mal aus, was du da für eine Frequenz hinbekommst,
wenn du so-und-so viele Takte pro Zeile brauchst und so-und-so eine
Arbeitsfrequenz hast. Zum Anderen rechne lieber mit mehr als 100Hz,
denn man sieht die LEDs zwar nicht flackern, wenn man auf einen festen
Punkt guckt, aber wenn du das Auge bewegst, wird dir schwindelig, dann
sieht das nämlich so aus:
 _
(_) O o o . . .

.. und DAS ist ziemlich unschön.

Ich hab schon beide Varianten der Matritzen aufgebaut, eine mit Latches
und eine mit Multiplexen, und ich bin der Meinung, Multiplexen ist
deutlich weniger Aufwand.

Hier zwei Kurzvideos von der Multiplex Matrix:
http://spi.fem.tu-ilmenau.de/der-flo.de/fresh/content/misc/moodlight/MVI_5701.AVI
http://spi.fem.tu-ilmenau.de/der-flo.de/fresh/content/misc/moodlight/MVI_5702.AVI
(2.3MB / 1.5MB)

Happy solding ;)


der Flo

von AxelR. (Gast)


Lesenswert?

sach ich doch ;-))

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.