LED Säule 16x16 mit ULN2803 und 74HC595

Hallo zusammen ich möchte eine LED Säule mit 16 Ebenen und 16 Säulen
bestehend aus insgesamt 256 LEDs steuern.
Leider fehlt mir das nötige wissen einen Korrekten Schaltplan zu erstellen.
Wäre es möglich mit ULN2803 und 74HC595???
Kann mir vielleicht jemand Tipps geben, ob und wie es möglich wäre?

Nicht ganz. Überlege mal, wieviel Strom bei so einem gemultiplexten Display fließen muß. Wenn jede Spalte nur für 1/16 der Zeit eingeschaltet ist, dann muß jede LED mit dem 16-fachen Strom angesteuert werden. Da fragt es sich, ob eine LED das aushält, und die Treiberbausteine. Die 74HC595 machen da sicher schlapp, es werden zusätzlich Schalttransistoren notwendig werden. Und auch die Strombegrenzungswiderstände nicht vergessen!

Klare Antwort: Das weiß ich nicht.

Aber eine Matrix beinhaltet immer die Problematik des zeitlichen Ablaufs, also beispielsweise des Flimmerns. Daher würde ich nach Alternativen suchen und nur wenn diese nicht möglich sind, auf eine Matrix zurückgreifen.

Dazu müßte man wissen, was das letztlich werden soll.

Warum willst du shift register und separate Treiber nehmen. Nimm doch gleich richtige LED Treiber!

Zum Ansteuern von LEDs gibt es u.a. folgende LED Treiber ICs

  • MAX7219 / MAX7221
  • HT16K33
  • SX1509

Der MAX7219 hat eine SPI ähnliche Schnittstelle in einer Matrix kann er 8x8 = 64 LEDs individuell ansteuern. Er ist kaskadierbar, das heißt an einer Chip-Select Leitung kannst du mehrere ICs ansteuern. Der Max7219 wird gerne für 7 Segment Anzeigen verwendet, es gibt auch Fertigmodule Fertigmodule mit 8x8 Matrixen.

Der HT16K33 ist über I2C steuerbar, du kannst aus 16 Adressen auswählen. Pro IC können 8 x 16 LEDs angeschlossen werden. Es gibt auch fertige 7 Segment Anzeigen beim freundlichen Chinesen/Aliexpress findest du auch Alphanumerische Anzeigen. Du bräuchtes also zwei ICs für deine 256 LEDs.

Auch der SX1509 ist über I2C steuerbar, du kannst aus 16 Adressen auswählen. Der SX1509 kann 16 LEDs ansteuern. Jede LED kann mittels PWM individuell vom IC gedimmt werden.
Der SX1509 kann Ausgänge selbständig "blinken", pulsen oder den Microcontroller zu belasten. D.h. du schickst einmal einen Blink-Befehl an den SX1509 - und dieser erledigt den Rest. Er eignet sich auch zum Auslesen von Tasten-Matrixen und zum pegelschiften. Für deinen Anwendungsfall vieleicht weniger geeignet, aber er gehört einfach auf die Liste.

Alle 3 Varianten sind als LED Treiber imho besser geeignet als Shift-Register.

Ja und dann gäbe es auch noch sogennante Neopixel/addressierbare LEDs. Und da gibt es fertige Module in 16x16, "farbe" ist ein nettes goodie, aber man kann sie auch einfach einfärbig aufleuchten lassen.
Alles besser als Shift-Register

1 Like

zum MAX7219:
Der hat 2 Modi: 7 Segment (übertragene Daten entsprechen der dargestellten Zahl) und Matrix (Jedes bit entspricht einem eingeschaltenen LED einer 8x8 Led Matrix. Der Max hat bereits eine Strombegrenzung für die LED eingebaut. Die 16x16 Matrix würden zu 4 Stück 8x8 Matrix werden.

Wenn Du bei einem diskreten Aufbau, wie Du begonnen hast, bleiben willst dann:
Fehlen Vorwiderstände auf den LEDs (genügt einer pro Ausgangs der im schaltplan linken 595
Deine Schaltung macht eine Wiederholrate von 16, das heißt eine LED ist maximal 1/16 der Zeit an und das ist wenig. 1/8 ist bessere Wahl. Also ist es besser die LEDs in einer 32x8 Matrix anzulegen.
Außerdem gibt es Schieberegister mit Leistungsausgängen. zb tpic6a595 mit 350 Open Drain Ausgängen (schaltet den Ausgang auf Masse)

Grüße Uwe

1 Like

Hallo zusammen leider kam ich nicht früher zum Antworten.
Ich bedanke mich schon mal für jede Antwort bzw. Hilfe.
Am besten erkläre ich erstmal genau was ich vorhabe.
Ich habe von einem Bekannten, der nicht der beste im Löten ist den,
"Rest" eines LED Towers also quasi nur noch die
zusammen gelöteten LEDs ohne Platine oder ähnliches.

Ursprünglich wurde mal der STC12C5A60S2 als Steuerung
verwendet. Ich würde den Tower gern mit einem Arduino
steuern und möglichst mit geringem Aufwand.

Hier mal noch der Schaltplan:
Schemtic.pdf (83.9 KB)

Hab ihr eventuell einen besseren Lösungsansatz ???
Oder ist der 74HC595 vielleicht doch ne Lösung???

Kann der STC12C5A60S2 50 bis 60mA sinken (gegen Masse ableiten)?

Der ATmega aber sicher nicht.
Grüße Uwe

nein.
Da ist auch bei 20mA Ende
http://www.stcmicro.com/datasheet/STC12C5A60S2-en.pdf
Seite 423

Bei näherer Betrachtung könnte man auf die Idee kommen, das die die Zeilen nicht gleichzeitig befüllen sondern immer nur eine....

Es ist möglich mehrere Ebenen/Säulen zu schalten

Dann flackert es zu stark.