Forum: Mikrocontroller und Digitale Elektronik 1000 i/o


von Thomas (Gast)


Lesenswert?

Hallo,
Ich hätte da mal eine frage und zwar müsste ich ca 1000 LED's
ansteuern jede dieser Lampen sollte einzeln an und ausschaltbar sein.

Das ganze vom PC aus Steuerbar?,
kann ich das direkt über den pc machen oder sollte da ein
microcontroller zwischen? ..

p.s: was brauch ich überhaupt?

Mit freundlichen Grüßen Thomas

von Steffen Burr (Gast)


Lesenswert?

Hi!
Das ist nicht ganz unaufwendig.

Wenn die Geschwindigkeit nicht alzuhoch sein muss, würd ich sagen du
nimmst Schieberegister. Wegen mir so 5 parallel und dann kaskadiert
(also mehrere hinter einander). Zum Ansteuern gibst du einem uC über
die serielle Schnittstelle die Signale (welche an - welche aus) und der
läd die dann in die Schieberegister. Allerdings musst du dann dahinter
nochmals Treiber anschließen, da die Schieberegister nicht genug Strom
für die LEDs liefern können.

Dann vor jede LED noch nen Vorwiderstand und eine Stomversorgung, die
genug leistet. Billig wird das also nicht.

Es sind übrigens dann nur 1000 Outputs - Input leistet das System
natürlich nicht (I/O).

Grüße
Steffen

von Forumsdrachen (Gast)


Lesenswert?

kannst du direkt vom PC aus machen, zumindest bei statischen
LED-Betrieb. Brauchst dafür aber 125 Stk 8-bit-Schiebregister. Bei der
Anzahl sollte es ein Typ mit zusätzlichen Ausgabe-Latch sein, da es
sonst beim Schieben flimmert. Ideal ist der 74HC4094.
Weniger Hardware-Aufwand wirds mit einem MC und Multiplexbetrieb,
allerdings ist die Verschaltung der LEDs komplizierter. Ich würde es
davon abhängig machen, wie die LEDs geometrisch angeordnet sein sollen.

von thkaiser (Gast)


Lesenswert?

Man könnte es aber auch per Multiplexing machen. Bei 1024 LEDs bräuchte
man dann nur 64 Outputs (32 Spalten + 32 Reihen). Dadurch sinkt auch
der Verdrahtungsaufwand enorm (Anstelle von 1000 Anschlußleitungen nur
64, nur 32 Vorwiderstände). Allerdings wäre das Multiplex-Verhältnis
1:32, ist auch nicht unproblematisch.
Eine genauere Beschreibung der Anwendung wäre schon hilfreich, um
sinnvolle Tipps zu geben.

von Kjion (Gast)


Lesenswert?

Hi,

ich hab das mit dem Multiplexbetrieb mal für Informatik mit ca. 40 x 14
LEDs gemacht. Das hauptsächliche Problem dabei war die Helligkeit.
Selbst mit stärkeren Ausgangstreibern und hohen Strom durch die LEDs
war die Anzeige bei normalen Tageslicht nur schwer ablesbar. Nachts
wars dafür aber ganz net ...
Mit Hochleistungsleds wird wahrscheinlich heller, aber die sind
teuer...

MfG Kjion

von Henning (Gast)


Lesenswert?

mehrere uP die ihre multiplexing-bereiche in der Anzeige haben währe
noch ne möglichkeit. und die bekommen die Daten von einem master-uP.

1024 LED´s sind nicht wenig, aber so würd ich´s lösen.

Schieberegister würd ich sofort ausschließen...

von mmerten (Gast)


Lesenswert?

Schieberegister ist doch das einfachste und gibt's auch mit open drain
und kleinem Rdson z.B. STPIC6C595. Bei 1000 LED langweilt sich doch
noch
jeder aktuelle µc

von Henning (Gast)


Lesenswert?

ja, aber 1000Led´s nacheinander schalten (für den fall, das alle
leuchten sollen) und trotzdem die gleiche helligkeit? das würde
bedeuten die 1000fache energie für 20us durch die led zu geben... das
wird wohl nicht klappen bzw, flackern.

von Rainer (Gast)


Lesenswert?

Die einzige Lösung ist Multiplexen, aber nicht jede einzelne Led,
sondern Led-Treiber (Google: constant current sink) zu verwenden, die
im Prinzip wie Schieberegister funktionieren und dann das ganze
Zeilenweise anzusteuern... Sonst bekommt man riesige Probleme mit
Flimmern usw.

@mmerten: Täusch dich mal nicht, erstens wollen die Treiber angesteuert
werden, zweitens müssen die Daten irgendwie in den uC gelangen.. Und je
nach fps, die du schaffen willst, kann das schon sehr aufwendig
werden.

Das nächste Problem ist, je nach Anforderung wieviele Leds
"gleichzeitig" leuchten sollen, die Spannungsversorgung... Wenn zB
1/8 dieser 1024 Leds leuchten soll: 1024/8*20mA = 2,5A. Das kann bei
diesen Schaltzeiten auch schon schöne Störungen hervorrufen bzw können
da schon mal Impedanzen der Zuleitung eine große Rolle spielen.

von mmerten (Gast)


Lesenswert?

@rainer
also wenn du schon vor 1000-1024 LED kapitulierst. Bei 1-2 MHz
Schiebetakt und 10 ms Framerate entsprechend 100 Hz Wiederholrate
bleibt
die Prozessorlast für die gesamte Ausgabe deutlich unter 10%. Stellt
also absolut kein Problem dar. Multiplexen ist zwar auch eine
Möglichkeit, stellt sich allerdings die Frage ob die damit verbundenen
Helligkeitsverluste tolerierbar sind.
Kommt also immer auf die Anwendung an. Für reine
Anzeige-/Kontrollzwecke auf einer Frontplatte z.B. würde ich auch
Multiplex vorziehen. Wenn es allerdings auf maximale Helligkeit ankommt
ist Einzelansteuerung auch kein Problem.

von Matthias (Gast)


Lesenswert?

Hi

Helligkeitsverluste treten nicht auf da der Strom durch die LED's beim
Multiplexen ja erhöht wird. Die nötigen Ströme sind aber nicht ganz
ohne aber noch beherschbar. Been there. Done that. Ich hab mal einen
ersten Prototyp für sowas aufgebaut.

Hier http://www.el36.de/pixled/photos.htm gibts ein paar Bilder. Das
Display ist in zwei Teile aufgeteilt. Beide werden im 1:16-Multiplex
angesteuert. Leuchten alle LED's fließen etwa 8A. Gesteuert wird das
Ganze von einem ATMega16.

Matthias

von Rainer (Gast)


Lesenswert?

@mmerten: Naja, das letzte Projekt das ich in die Richtung gemacht habe
bestand im Ganzen aus ca 700.000 Leds.
Das mit den Schieberegistern funktioniert nur so, wenn man eine Led nur
entweder an-/ausschalten kann - bei meinem Projekt konnte jede mit 256
"Grau"stufen gesteuert werden. Damit werden die Daten nämlich
plötzlich verachtfacht - deine Prozessorlast würde nur fürs Daten
schaufeln auf 80% steigen. Dazu kommt, dass die Daten ja irgendwie in
den uC kommen müssen, und wenns wirklich eine flüssige Animation sein
soll, die man darstellen will, dann ists hier mit einer normalen
seriellen Schnittstelle schon lang nicht mehr getan. Da muss man sich
schon mehr einfallen lassen.
Allerdings hast du recht, die Helligkeit leidet sehr drunter. Da irrt
sich nämlich Matthias, denn die Kennlinie einer Led ist nicht linear,
dass heißt je größer der Strom wird, desto weniger steigt die
Helligkeit - das ist ein exponentieller Zusammenhang, und leider halten
die Leds nur eine gewisse Impulsbelastung aus, also ist natürlich nix
mit einfach Strom noch mehr erhöhen, irgendwann geht nix anderes mehr
als Multiplexzeiten zu verringern.

von Matthias (Gast)


Angehängte Dateien:

Lesenswert?

Hi

Reiner:
Da irre nicht ich, sondern du :-) Zumindest was die LED's betrifft die
ich verwendet habe ist der Zusammenhang doch ziemlich linear. Siehe das
angehängte Datenblatt Seite 3. Diese Kennlinie setzt sich auch bei
wesentlich höheren Strömen bis zum Spitzen Strom fort wie eine
Nachfrage bei Kingbright (und eigene Messungen) ergab.

Was den maximalen Strom betrifft hast du natürlich recht. Deswegen habe
ich bei meinem Display auch zweimal 1:16 und nicht 1:32 multiplex
verwendet.

Matthias

von Rainer (Gast)


Lesenswert?

Naja, dann hast offensichtlich Glück mit den Leds, unsere waren leider
weit nicht so ideal.

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.