74HC595 + TLC5940 Multiplexing 128 LEDs -> nicht genug Leistung

Entschuldigung im Voraus, dass wahrscheinlich eine Menge Dinge fehlen. Ich bin ziemlich neu in der Elektronik.

Ich baue ein 128-LED-Multiplex-Array (monochrom), das von einem Arduino angetrieben wird. Ich verwende einen 74HC595 als Stromquelle und einen TLC5940 zum Sinken und PWM. Der Ausgang besteht aus einem 8 (74HC595) x 16 (TLC5940) Array von LEDs. Eine beliebige Anzahl von LEDs kann zu einem bestimmten Zeitpunkt eingeschaltet sein.

Ich mache das Multiplexing, indem ich eine Spalte mit dem 595 nacheinander einschalte und dann die entsprechenden Werte für PWM für den TLC einstelle und die Zeilen in einer Spalte mit dem gewünschten Wert beleuchte.

Multiplexing funktioniert bereits gut, aber die Skalierung wird zu einem Problem mit dem aktuellen 8x6-Array, das ich gebaut habe (6 von 16, die bisher mit dem TLC verbunden sind). Ich bin mir ziemlich sicher, dass mein Problem darin besteht, dass das Einschalten einer Säule mit dem 595 nicht genug Saft für die 16 LEDs darin liefern kann. Die LEDs haben eine Durchlassspannung von 3,3 V bei 20 mA Strom. Dies würde bedeuten, dass die 16 LEDs in Reihe ~ 53 V bei 320 mA verbrauchen würden, was weit über dem liegt, was der 595 liefern kann und der TLC sinken kann. Wie würde ich damit umgehen, dass dies funktioniert? Gibt es etwas Magie, das ich in der Software tun kann, um dabei zu helfen (meine Vermutung ist es nicht)?

Ich habe versucht, ein Darlington-Array (so etwas wie ULN2803) hinzuzufügen, um die Spannung auf 50 V pro Kanal zu erhöhen. Ich denke, das wäre in Ordnung, wenn alle 16 LEDs gleichzeitig leuchten würden, aber wenn nur 1 leuchtet, wird die LED mit Sicherheit braten. Aus diesem Grund muss ich wohl einen Widerstand hinzufügen können, der den Wert ändert, je nachdem, wie viele LEDs zu einem bestimmten Zeitpunkt eingeschaltet sind. Ich habe darüber nachgedacht, ein digitales Potentiometer einzubauen, um dies zu tun, aber es fühlt sich ein bisschen übertrieben an + ich habe keine gute Lösung gefunden, um dies anzuschließen (ohne ein einziges an jeden 2803-Ausgang zu legen)?

Idealerweise würde ich die Schaltung recht einfach halten, aber ich bin offen für Ideen, also sind alle Vorschläge mehr als willkommen! Es würde mich auch nicht wundern, wenn ich das Problem völlig verfehle.

Wenn das, was ich versuche, nicht klar genug ist, kann ich einen Schaltplan dafür erstellen

Danke

Es macht keinen Sinn, warum Sie eine höhere Spannung benötigen. Sie benötigen einen hohen Strom, da jeweils eine Reihe von LEDs eingeschaltet ist und der Strom groß sein muss, um die kleine Einschaltdauer auszugleichen. Aber Hochspannung macht keinen Sinn. Zeigen Sie den Schaltplan.
Ja, ich habe etwas in diese Richtung vermutet (= ich bin total daneben). Ich denke, ich muss dann stattdessen die Menge an Milliampere als Eingang erhöhen? Soweit ich weiß, kann der 595 bis zu 35 mA pro Ausgang liefern. Grundsätzlich 74HC505 -> 35 mA -> X -> 320 mA -> 16 x 20 mA (muss X herausfinden). Ich werde einen Schaltplan für das erstellen, was ich denke
Ich sollte beachten, dass der von Majenko bereitgestellte Schaltplan genau das ist, was ich habe (mit Ausnahme von R1 und Q1 natürlich bisher).
AFAIK Das erwähnte Darlington-Array ermöglicht es der Reihe, bis zu 500 mA Strom zu ziehen .
Kannst du dir diese Frage mal anschauen? electronic.stackexchange.com/questions/85807/…

Antworten (3)

Wenn Sie die LEDs in Reihe betreiben würden, dann ja, würden Sie eine höhere Spannung benötigen. Sie sind es aber nicht - sonst wären sie alle an oder alle aus. Sie führen sie parallel aus.

Soweit ich Ihre Beschreibung verstehe, haben Sie den einen Ausgang des '595, der in die Anode aller LEDs einer Spalte geht. Die Kathoden dieser LEDs gehen dann in separate Eingänge des TLC für PWM.

Und wie Sie sagen, der '595 kann 35 mA Strom pro Ausgang liefern. Das reicht aus, um eine LED zuverlässig zum Leuchten zu bringen.

Sie müssen den 6-fachen Strom für 6 LEDs liefern.

Der einfachste Weg wäre, einen einzelnen Transistor und Widerstand pro Spalte zu verwenden. Beispielsweise ist der '595-Ausgang mit der Basis eines PNP-Transistors über einen 1-kΩ-Widerstand (beispielsweise) verbunden. Der Emitter ist mit Vcc verbunden, und der Kollektor verbindet sich mit den LEDs auf die gleiche Weise wie der Ausgang des '595 früher. Wenn der '595 einen Ausgang auf Low setzt, schaltet er den Transistor ein, der dann den Stromfluss von Vcc zu den LEDs ermöglicht.

Geben Sie hier die Bildbeschreibung ein

  • Ich weiß nicht, was der TLC5940 in Bezug auf die Strombegrenzung macht - ich habe keine Strombegrenzungswiderstände gezeigt, die für die LEDs erforderlich sein könnten, wenn der TLC5940 das nicht für Sie tut.

Sie können den TLC beispielsweise nicht mit verwenden. ein ULN2803, da beide Stromsenken sind. Sie brauchen etwas, das eine Stromquelle sein kann, was ein Transistor sein kann.

Klingt nach einer vernünftigen Lösung. Nur ein kleiner Punkt am Basiswiderstand des Transistors - wenn er ~ 200 mA oder mehr sinken muss, wäre die Verwendung eines niedrigeren Werts als 10 k eine gute Idee, um sicherzustellen, dass die Transistorverstärkung den Strom nicht begrenzt (z. B. unter der Annahme einer konservativen Verstärkung von 100, dann 3,3V/10k = 0,33mA 0,33mA * 100 = nur 33mA). Ich würde vielleicht so etwas wie 1k verwenden.
WAHR. Ich bin eher daran gewöhnt, mit 5 V und NPN-Low-Side-Switching zu arbeiten. Ich werde bearbeiten.
Natürlich hätte ich sagen sollen (3,3V - 0,7V) / 10k = ~0,26mA für den Basisstrom.
Nah genug :P
Das hat super funktioniert! Ich schätze die Erklärung auch sehr, ich verstehe jetzt viel besser, was passiert ist

Sie müssen einen pnp-Transistor als High-Side-Schalter verwenden. Verwenden Sie den 595, um den Transistor (0 ist eingeschaltet, 1 ist ausgeschaltet) durch einen Widerstand zu treiben, um den Basisstrom zu begrenzen. Der diskrete Transistor kann viel mehr Strom liefern als das Schieberegister.

Im Gegensatz zu dem, was andere gesagt haben, benötigen Sie keinen PNP-High-Side-Schalter. Das ist eine Option, aber ein NPN-Emitter-Folger ist noch einfacher. Verbinden Sie den Kollektor mit der 5-V-Versorgung, die Basis direkt mit dem 0-5-V-Spaltentreiberlogikausgang, und der Emitter wird zu einer Spannungsquelle für diese Spalte. Der digitale Logikausgang muss nur den Spaltenstrom dividiert durch die Transistorverstärkung liefern. Wenn beispielsweise der Spaltenstrom 300 mA und die Transistorverstärkung 80 beträgt, muss der digitale Ausgang nur 4 mA liefern.

Dieses Schema liefert bis zu etwa 4,3 V, was etwa 1 V für den Low-Side-Schalter und den Strombegrenzungswiderstand übrig lässt. In diesem Fall würde ich NPNs als Low-Side-Schalter verwenden.