Hallo,
die Vorwiderstände in den Zeilen deuten an, daß Du Spaltenweise
multiplexen willst. 400 Ohm erscheint mir da ziemlich hoch, um bei einem
8:1 Mux noch brauchbare Helligkeit zu erreichen.
10k Basiswiderstand erscheinen mir zumindest bei den Spaltentreibern
recht hoch, der Transistor muß ungünstigstenfalls 8x KED-Strom einer
Spalte schalten.
Dazu kommt: die Zeilentreiber sind Emitterfolger, die Basiswiderstände
dort könnten also komplett wegfallen. Aber: das Emitterpotential ist
maximal Ausgangsspannung bei H des HC595 - Ube des Transistors, also
vermutlich nur knapp 4V. Am Spaltentreiber fallen nochmal ca. 0,2V ab.
Damit bleiben rund 3,8V, bei roten LED mit 1,6V Uf also rund 2,2V am
Vorwiderstand, bei LEDs mit höherer Uf bringt das Probleme.
Der Vorschlag von Matthias, die Spaltentreiber als pnp-Emitterfolger zu
machen, verschlimmert das dann noch, dann würden auch am Spaltentreiber
statt UCEsat 0,1...0,2V in jedem Fall Ueb 0,7V abfallen.
Besser vermutlich: Spalten so lassen, Basiswiderstände verringern.
Zeilentreiber als pnp, diese mit Basiswiderstand und zusätzlichen
npn-Transistoren gegen GND ansteuern. Damit verringert sich der
Spannungsabfall der Zeilen auch auf UCEsat und Du hast bei Bedarf die
Möglichkeit, die LED-Spannung höher als 5V zu machen.
Vorschlag: Spaltentreiber ein ULN2803, an den Zeilen-HC595 ebenfalls ein
ULN2803. Spart dort erstmal alle Basiswiderstände (die sind in den 2803
drin). Die Ausgänge des Zeilen-2803 über jeweils ca. 1k an die Basis je
eines pnp-Transistors, deren Kollektor geht an die LED-Vorwiderstände,
deren Emitter an +5V oder mehr für die LED.
Gruß aus Berlin
Michael