Forum: Mikrocontroller und Digitale Elektronik Wie am besten 60 LED's ansteuern


von RobaRiot (Gast)


Lesenswert?

Wie kann man am besten 60 LED`s die in einem Kreis angeordnet sind 
ansteuern. Es soll dabei immer nur eine LED leuchten und das im 
Sekundentakt.
Wie kann die Schaltung da aussehen, wenn die LED nicht direkt auf der 
Platine sitzt, sondern mit einem Kabel verbunden ist und in einem 
Holzrahmen steckt ?
Habe mir gedacht, dass man eine Multiplex Schaltung mit 74HC595 
Schieberegistern macht. Die Leitungen führen dann statt direkt zur LED 
in eine Wannenbuchse.

Welche LED's kann ich verwenden damit man diese Tag auch sieht. Zu dem 
auf dem Holzrahmen, wo die LED's stecken wahrscheinlich sowas wie eine 
schwarze Folie drüber kommt, damit die LED's glatter aussehen und der 
Leuchtkegel absinkt.

Wie könnte sowas aussehen ?

von Karl H. (kbuchegg)


Lesenswert?

RobaRiot schrieb:

> Habe mir gedacht, dass man eine Multiplex Schaltung mit 74HC595
> Schieberegistern macht.

Würde ich gar nicht machen.
Bei 60 LED würde ich einfach 8 Stück 595 nehmen. Schon alleine deswegen, 
weil dann die Leiterbahnführung im Kreis einfacher ist. Und die Kosten 
halten sich auch im Rahmen.

von schau dich schlau (Gast)


Lesenswert?


von RobaRiot (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> RobaRiot schrieb:
>
>> Habe mir gedacht, dass man eine Multiplex Schaltung mit 74HC595
>> Schieberegistern macht.
>
> Würde ich gar nicht machen.
> Bei 60 LED würde ich einfach 8 Stück 595 nehmen. Schon alleine deswegen,
> weil dann die Leiterbahnführung im Kreis einfacher ist. Und die Kosten
> halten sich auch im Rahmen.

Okay das wäre auch eine Option aber es kommt noch ein Display dazu, das 
insgesamt mit Reihenschaltung 28 Pins für LED's dazu kommen, das wäre 11 
Schieberegister. Dann müsste man die Uhr groß genug machen, damit die 
ganzen Schieberegister Platz haben

von Walter (Gast)


Lesenswert?

Nur eine LED leuchtet: 8x8 ist 64, also mehr als 60, also reichen 2 
Stück 74HC595 zur LED Ansteuerung.

von RobaRiot (Gast)


Lesenswert?

Walter schrieb:
> Nur eine LED leuchtet: 8x8 ist 64, also mehr als 60, also reichen
> 2
> Stück 74HC595 zur LED Ansteuerung.

Ja WENN man sie multiplext, aber es würde die Anordnung leichter machen, 
wenn diese nicht multiplext

von Karl H. (kbuchegg)


Lesenswert?

RobaRiot schrieb:
> Walter schrieb:
>> Nur eine LED leuchtet: 8x8 ist 64, also mehr als 60, also reichen
>> 2
>> Stück 74HC595 zur LED Ansteuerung.
>
> Ja WENN man sie multiplext, aber es würde die Anordnung leichter machen,
> wenn diese nicht multiplext

Wollte ich auch grad sagen.
Versuch mal eine 8*8 Matrix 'in die Länge zu ziehen', so dass die LED im 
Kreis angeordnet sind. Das ist gar nicht so einfach und braucht auch 
einiges an Platz für die Leiterbahnen.

von Walter (Gast)


Lesenswert?

Nein, nur eine leuchtet, also statisch. Sichwort Matrix.

von RobaRiot (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal eine Schaltung wie das ungefähr aussieht. Nochmal es ist 
vollkommen egal was für ein Kabelsalat ensteht, die LED's sind nicht auf 
der Platine, sondern in einem Holzrahmen, wenn man zum Beispiel eine 
LED-Matrix macht, werden die LED's hier in einem Connector 
angeschlossen, über Flachbandkabel o.ä.

von RobaRiot (Gast)


Lesenswert?

PS: Die beiden IC's sollen zwei 74HC595 darstellen, habe auf die 
schnelle keine in Egale gefunden.

von RobaRiot (Gast)


Angehängte Dateien:

Lesenswert?

Okay ich habe hier mal nen Schaltplan für die 7Segment anzeige. Die 
Vorwiderständer habe ich vergessen, dürfte aber klar sein, dass diese 
hinter jede LED kommen. Die Segmente sind zu einer Mstrix aufgebaut, die 
man mit den Enable-Pins ansteuern kann. Beispiel:
1
Wenn Enable 1 Low ist und alle anderen High, oder als Ausgang ist Segment 1 aktiviert

Kann man diese Schaltung so verwirklichen ?

von holger (Gast)


Lesenswert?

>Kann man diese Schaltung so verwirklichen ?

Nö, die Kathoden der meisten Leds hängen in der Luft.

von Chr. M. (snowfly)


Lesenswert?

Bei der Anforderung würde ich mir mal Charlieplexing ansehen.
9 Pins für deine 60 LEDs
http://en.wikipedia.org/wiki/Charlieplexing

von RobaRiot (Gast)


Lesenswert?

holger schrieb:
>>Kann man diese Schaltung so verwirklichen ?
>
> Nö, die Kathoden der meisten Leds hängen in der Luft.
t
Ist mir auch grad aufgefallen, immer der oberer Teil der Segmente oder ?

von RobaRiot (Gast)


Angehängte Dateien:

Lesenswert?

Okay jetzt dürfte eigentlich keine Kathode mehr lose rum hängen, alle 
sind mit einem Enable-Pin verbunden.
So könnte es ja funktionieren, oder ?

von RobaRiot (Gast)


Lesenswert?

Naja, aber Problem ist es, diese Schaltung in die

Chr. Messener schrieb:
> Bei der Anforderung würde ich mir mal Charlieplexing ansehen.
> 9 Pins für deine 60 LEDs
> http://en.wikipedia.org/wiki/Charlieplexing

Darüber habe auch schon nachgedacht. Es ist aber ziemlich schwierig 
diese Schaltung in die länge zu ziehen um die Leitungen von einem 
Connector bzw. eine Wannenbuchse zu den LED's zu führen.

von holger (Gast)


Lesenswert?

>So könnte es ja funktionieren, oder ?

Und jetzt möchtest du 21 LEDs mit einer Enable Leitung
wo anschliessen? An einen Pin von einem 74HC595?
Der wird wohl kaum 420mA bei 20mA pro LED schlucken.
Bei 10mA pro LED futtert der auch keine 210mA.
Und bei 1:4 Multiplexing frisst der auch keine 840mA
kurzzeitig.

von RobaRiot (Gast)


Lesenswert?

Das sind Low Current LED'S und

holger schrieb:
>>So könnte es ja funktionieren, oder ?
>
> Und jetzt möchtest du 21 LEDs mit einer Enable Leitung
> wo anschliessen? An einen Pin von einem 74HC595?
> Der wird wohl kaum 420mA bei 20mA pro LED schlucken.
> Bei 10mA pro LED futtert der auch keine 210mA.
> Und bei 1:4 Multiplexing frisst der auch keine 840mA
> kurzzeitig.

Das sind Low Current LED's und sollten nur 2mA fressen.
Würde es dann gehen ?

von RobaRiot (Gast)


Lesenswert?

Eine LED frisst 2mA

21*2mA = 42mA
42mA *4 = 168mA
 Ich würde die LED's direkt an den AVR hängen, würde es dann gehen ?

von holger (Gast)


Lesenswert?

>Das sind Low Current LED's und sollten nur 2mA fressen.
>Würde es dann gehen ?

Nö. 21 x 2 = 42mA. Kann der schon nicht. Dann 1:4 Multiplexing
42 x 4 = 168mA. Kann er nicht.

von holger (Gast)


Lesenswert?

> Ich würde die LED's direkt an den AVR hängen, würde es dann gehen ?

Der AVR kann das auch nicht.

von RobaRiot (Gast)


Lesenswert?

holger schrieb:
>> Ich würde die LED's direkt an den AVR hängen, würde es dann
> gehen ?
>
> Der AVR kann das auch nicht.

Auf irgendein Weg musst das ja gehen, gibt es dafür bestimmte Treiber 
oder kannst du mir andere Lösungsansätze geben ?

von Chr. M. (snowfly)


Lesenswert?

RobaRiot schrieb:
> Es ist aber ziemlich schwierig
> diese Schaltung in die länge zu ziehen

eigentlich nicht, die 9 Leitungen einfach im Kreis legen und die LEDs
an 2 davon anschliessen.
eine andere Zeichnung macht es vielleicht deutlicher:
http://www.ledstyles.de/ftopic14872.html

von Mike (Gast)


Lesenswert?

RobaRiot schrieb:
> Eine LED frisst 2mA
>
> 21*2mA = 42mA
> 42mA *4 = 168mA
>  Ich würde die LED's direkt an den AVR hängen, würde es dann gehen ?

Es könnte funktionieren wenn du die LEDs in Reihe schaltest und die 
Anzeige auf gemeinsame Anode umstellst. Du kannst dann die LEDs mit 
einer höheren Spannung als 5V betreiben. Die Spannung musst du so wählen 
das der AVR nicht mehr als 5V sieht. Beispiel: 8V-3*1,8V=2,6V

Und für deine originale Anfrage kannst du dir ja mal das hier anschauen:

http://symlink.dk/projects/bob-clock/circuit/

von Ich (Gast)


Lesenswert?

Mike schrieb:
> Es könnte funktionieren wenn du die LEDs in Reihe schaltest und die
> Anzeige auf gemeinsame Anode umstellst.

Das ändert doch aber wenig an dem Strom der durch den Controller-Pin 
geht?
Die Limits gelten in beide Richtungen und die Summen-Limits für alle 
Versorgungs-Pins.

von Frank M. (ukw) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

RobaRiot schrieb:
> Wie kann man am besten 60 LED`s die in einem Kreis angeordnet sind
> ansteuern. Es soll dabei immer nur eine LED leuchten und das im
> Sekundentakt.

Ich habe es folgendermaßen gemacht:

  Beitrag "Equinox-Uhr mit 60 ATtinys"

60 ATTinys klingen erstmal ziemlich aufwendig, aber auf den 2. Blick hat 
diese Idee einen ungeheuren Spaßfaktor.

Wir bauen an der Uhr zu zweit: ich kümmmere mich um die Elektronik und 
die Programmierung, ein Freund arbeitet an der (aufwendigen) Mechanik.

Ein Prototyp davon ist bereits fertiggestellt und hängt (als Kreis) an 
der Wand - siehe Bild. Am letzten Schliff wird aber noch gearbeitet.

Viele Grüße,

Frank

von Dave C. (dave_chappelle)


Lesenswert?

Ich würde dir raten dafür geeignete LED Treiber zu nehmen.
Z.b. TLC5940, TLC5922, das sind quasi 16-Kanal Schiebregister mit 
dimmbaren Konstantstromquellen als Ausgang.

Davon bräuchtest du gerade mal 4 Stück und etwa einen (8 Bit) Port.

Gruss

von 6A66 (Gast)


Lesenswert?

Hallo

RobaRiot schrieb:
> Wie kann man am besten 60 LED`s die in einem Kreis angeordnet sind
> ansteuern. Es soll dabei immer nur eine LED leuchten und das im
> Sekundentakt.
> Wie kann die Schaltung da aussehen, wenn die LED nicht direkt auf der
> Platine sitzt, sondern mit einem Kabel verbunden ist und in einem
> Holzrahmen steckt ?

Hallo RobaRiot,

die Multiplexerei hat einen Nachteil:
Wenn Du die über ein längeres Kabel durchführst erzeugst Du dabei 
ausreichend EMV!
Alternative: 8 Schieberegister 74LS595 und LEDs in einen Rahmen 
zusammenpacken. Die Schieberegister seriell hintereinander, an jedem 
Ausgang des Schieberegisters einen Widerstand und die LED nach +5V. Der 
Ausgang des LS595 kann im Low-Zustand 24mA, das sollte für die LEDs 
reichen. Wenn Du immer nur eine LED anhast ist das unproblematisch. 
Achtung: Die LEDs werden umgekehrt angesteuert, also eine 0 bedeutet 
"LED ein". Vorteil: Du brauchst genau vier Drähte zur Anzeige: 5V, GND, 
Shift_Data, Shift_Clk. Du taktest am Beginn eine 0 ein, danach immer nur 
Einsen. Nach 60s wieder eine 0, lauert Einsen. Weiterer Vorteil: Du 
taktest alle 1,0s einmal kurz, das erzeugt keine Störspannungen.

rgds

von 6A66 (Gast)


Lesenswert?

RobaRiot schrieb:
> Welche LED's kann ich verwenden damit man diese Tag auch sieht.

Nimm LEDs mit schmalem Abstrahlwinkel (so um die 20...30deg) und welche 
mit hoher Intensität. Wir haben welche im Einsatz, die sieht man noch 
gut in >10m Entfernung bei 20mA.

rgds

von RobaRiot (Gast)


Lesenswert?

@6A66

Okay die Idee mit dem  74LS595 hört sich interessant an, besonders das 
dort dann keine dauerhaft großen Störfelder entstehen. Das werde ich mir 
auf jeden fall mal anschauen.
Melde mich dann

von René B. (reneb)


Lesenswert?

Der MAX7219 und MAX7221 ist auch für die individuelle Ansteuerung von 64 
LEDs durch Multiplexing geeignet und schafft dabei noch 500Hz.
Ein Blick ins DB lohnt. Auch der Peak-Current durch die LEDs ist 
Widerstandscodiert.
Die Monome-Nachbauten arbeiten damit.

von RobaRiot (Gast)


Lesenswert?

René B. schrieb:
> Der MAX7219 und MAX7221 ist auch für die individuelle Ansteuerung
> von 64
> LEDs durch Multiplexing geeignet und schafft dabei noch 500Hz.
> Ein Blick ins DB lohnt. Auch der Peak-Current durch die LEDs ist
> Widerstandscodiert.
> Die Monome-Nachbauten arbeiten damit.

Ist es aber bei bei diesesn nicht so, das sie die LED's nicht so hell 
leuchte  wie sie es eigentlich können ? Denn die LED's sollten tagsüber 
doch gut zu sehen sein.

Dave Chappelle schrieb:
> Ich würde dir raten dafür geeignete LED Treiber zu nehmen.
> Z.b. TLC5940, TLC5922, das sind quasi 16-Kanal Schiebregister mit
> dimmbaren Konstantstromquellen als Ausgang.
>
> Davon bräuchtest du gerade mal 4 Stück und etwa einen (8 Bit) Port.
>
> Gruss

Hier ist aber pinmangel. Ein Treibern braucht 7 Pins am uC. Das heißt 
bei 4 diese  Treibern sind schon 28 Pins gefressen. Wenn ich jetzt noch 
andere Module wie Dcf77 oder bestimmte Sensorenn den avr haben mmöchte, 
beispielsweise einen Atmega 32 wirds doch echt knapp noder sehe ich das 
falsch

von Dave C. (dave_chappelle)


Lesenswert?

RobaRiot schrieb:
> Hier ist aber pinmangel. Ein Treibern braucht 7 Pins am uC. Das heißt
> bei 4 diese  Treibern sind schon 28 Pins gefressen.

Nein, das siehst du eben falsch.

Ein Treiber braucht 7 Pins, zwei Treiber brauchen 7 Pins und 100 Treiber 
brauchen auch 7 Pins. Diese werden nämlich kaskadiert, wie gewöhnliche 
Schieberegister.

Gruss

von MaWin (Gast)


Lesenswert?

> Es soll dabei immer nur eine LED leuchten

Klarer Anwendungsfall für complementary LED driving
http://ww1.microchip.com/downloads/en/AppNotes/91029a.pdf

11 Anschlüsse am uC für 60 LEDs, keine Stromverstärkung notwendig,.

MAX7219 sind ebenso unsinnig wie 8 x 74xx595 oder TLC5940.

Falls dem uC die 11 Pins fehlen, kann man 2 74HC595 benutzen, bitte HC 
und nicht LS.


>  Es ist aber ziemlich schwierig
> diese Schaltung in die länge zu ziehen um die Leitungen von einem
> Connector bzw. eine Wannenbuchse zu den LED's zu führen.

Häh ? 11 Leitungen sind sicher einfacher über einen Pfostenstecker zu 
führen als 60 Leitungen.

> Okay ich habe hier mal nen Schaltplan für die 7Segment anzeige.

Geht's jetzt um 60 Einzel-LEDs von denen 1 leuchten soll, oder 4 7 
Segment Anzeigen bei denen offensichtlich alle zur selben Zeit leuchten 
können müssen (8888).

von RobaRiot (Gast)


Lesenswert?

MaWin schrieb:

> Geht's jetzt um 60 Einzel-LEDs von denen 1 leuchten soll, oder 4 7
> Segment Anzeigen bei denen offensichtlich alle zur selben Zeit leuchten
> können müssen (8888).

Es geht um beides, also die 60 LED's + die Segmente sollen später über 
einen AVR laufen.

von RobaRiot (Gast)


Lesenswert?

MaWin schrieb:
>> Es soll dabei immer nur eine LED leuchten
>
> Klarer Anwendungsfall für complementary LED driving
> http://ww1.microchip.com/downloads/en/AppNotes/91029a.pdf
>
> 11 Anschlüsse am uC für 60 LEDs, keine Stromverstärkung notwendig,.
>
Das hat für mich eine ähnlichkeit mit Charliplexing oder sehe ich das 
falsch ?

von Max D. (max_d)


Lesenswert?

Warum nicht einfach LEDs mit integriertem Treiber?
Ws2812 gibt's in der bucht auch auf nem streifen, einfach in deinen Ring 
kleben und in das eine ende Daten und Strom schicken ( hackaday hatte 
mal ne arduino-lib zur Ansteuerung verlinkt)...

von RobaRiot (Gast)


Lesenswert?

Max D. schrieb:
> Warum nicht einfach LEDs mit integriertem Treiber?
> Ws2812 gibt's in der bucht auch auf nem streifen, einfach in deinen Ring
> kleben und in das eine ende Daten und Strom schicken ( hackaday hatte
> mal ne arduino-lib zur Ansteuerung verlinkt)...

Werde es mir gleich anschauen.
PS: Ich versuche mich von arduino fern zu halten, programmiere eher in 
C/C++, aber das dürfte kein Problem darstellen.

von Max D. (max_d)


Lesenswert?

Man kann das Konzept ja in der Sprache der eigenen Wahl nachempfinden...

http://hackaday.com/2013/05/27/ws2811-can-be-addressed-at-800khz-using-a-8mhz-clock/

Hier noch der link :-)

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.