Fragen zu BJTs in My Circuit

Ich habe eine LED-Multiplexer-Schaltung (inspiriert von http://www.instructables.com/id/Multiplexing-with-Arduino-Transistors-I-made/ ), in der ich die Widerstandswerte eingestellt habe, um den Strom durch die LEDs zu maximieren ( ohne den maximalen Durchlassstrom durch die LEDs oder die maximale Verlustleistung in einer der Komponenten zu überschreiten). Es sieht aus wie das:

Stromkreis

Stromkreis mit I-Etiketten

Die R1-, R2-, R3-, C1-, C2- und C3-Pins sind digitale Arduino-Pins, während der 5-V-Pin die 5 V vom Arduino ist. Ich habe diese Schaltung auf meinem Steckbrett montiert und sie funktioniert wie erwartet. (Aber lassen Sie es mich bitte wissen, wenn irgendetwas schrecklich Schlechtes daran ist).

Ich möchte ein Potentiometer zwischen dem 5-V-Pin und den Kollektoren der Q-RX-NPN-BJTs hinzufügen, damit ich die LED-Lichtstärke von aus (oder fast aus) bis "volle Helligkeit" variieren kann. Mir scheint, dass das theoretisch funktionieren sollte. Wenn ich in meiner Simulation den 5-V-Pin durch GND ersetze, bekomme ich ~ 0 Strom durch die LEDs, was ich will:

Wenn ich jedoch mit einer einzelnen aktivierten LED teste und den 5-V-Pin vom Arduino trenne, wird die LED etwas gedimmt, ist aber immer noch ziemlich hell. Ich messe ".001 A" mit meinem Multimeter (ich bekomme 0, wenn ich es auf mA stelle). Dies muss vom Strom stammen, der von der Basis zum Emitter der Q-RX BJTs fließt. Ich habe versucht, mich wieder mit der Funktionsweise von Transistoren vertraut zu machen, aber ich brauche hier etwas Hilfe, um das zu verstehen. Ein paar Fragen:

  1. Versuche ich, die NPN-BJTs völlig falsch zu verwenden?
  2. Warum zeigt meine Simulation (ich verwende OrCAD Capture Lite) ~ 0 Strom durch die LEDs, wenn ich ihn bei ~ 1 mA messen kann und offensichtlich genug vorhanden ist, um die LEDs zu beleuchten?
  3. Wie kann ich diese Schaltung anpassen, um mein Ziel zu erreichen? Sollten stattdessen MOSFETs mit Logikpegel verwendet werden?

Referenz:

Nebenbemerkung: Ich habe gerade bemerkt, dass meine Simulation ~ 54 mA an den Pins C1, C2 und C3 anzeigt, was die 40-mA-Arduino-Pin-Grenze überschreitet, aber das ist nebensächlich.

Jede Hilfe wird sehr geschätzt! Danke!

Untersuchen Sie dies , um zu beginnen. Einiges ist dort abgedeckt. Auch ein Buch von HP mit dem Titel "Optoelectronics:Fiber-Optics Applications Manual", 2. Auflage, könnte viele nützliche Informationen enthalten, die bei diesem und in der Zukunft ähnlicher Projekte hilfreich sind.
Dieses Design ist hoffnungslos, da Basisstrom * hFE-Verstärkung von 1 oder mehr LEDs geteilt wird. Das einzige, was mit dieser Matrix funktionieren könnte, sind FETs mit geregeltem Vf- und niedrigem RdsOn-Logikpegel (<1 Ohm).
Ich würde zum Cree C503D-WAN gehen. Bessere Effizienz, sodass Sie den Strom senken oder einen größeren Helligkeitsbereich haben können. Verwenden Sie die Abtastfrequenz und die Impulsbreite, um die Helligkeit zu steuern. Sie verwenden keinen Konstantstrom, daher ist der maximale Impulsstrom höher als 25 mA (C512A) 20 mA (C503D). Pulsstrom kann mit jeder dieser Cree-LEDs bis zu 100 mA betragen. Ich würde @Jasen bei der Verwendung von Strombegrenzungswiderständen zustimmen, während einige glauben, dass es in Ordnung ist, den Aurdino-Pin als Strombegrenzer zu verwenden. Und Tonys FET ist auch eine gute Idee.

Antworten (1)

Zunächst einmal hat Ihre Matrix keine Strombegrenzung für die LEDs, die Sie zum Hinzufügen von Widerständen benötigen. Wo Sie sie hinzufügen, hängt davon ab, wie Sie die Matrix verwenden möchten. Das anweisbare hat diese Widerstände in der "Anoden" -Schaltung zwischen dem Kollektor und den LED-Anoden. Das ist geeignet, wenn Sie die Reihen einzeln einschalten und dann einige LEDs in jeder Reihe anzünden.

Versuche ich, die NPN-BJTs völlig falsch zu verwenden?

Nicht ganz falsch, aber Sie müssen bedenken, dass ein BJT auch wie ein Diodenpaar aussieht, wenn es keine Signale verstärkt.

Wenn also "V +" getrennt ist, leitet der BJT den Strom, der durch "R-Rx" ankommt, an die LED weiter, wobei der BJT über einen Widerstand geerdet ist. Die BC-Diode des BJT leitet einen Teil des R-Rx-Stroms auf Masse um, wodurch die LED zum dimmen.

Warum zeigt meine Simulation (ich verwende OrCAD Capture Lite) ~ 0 Strom durch die LEDs, wenn ich ihn bei ~ 1 mA messen kann und offensichtlich genug vorhanden ist, um die LEDs zu beleuchten?

Q-Cx kann aufgrund des intern erzeugten Fotostroms eine negative Spannung am Kollektor erzeugen und so genügend Spannung erzeugen, um die LEDs zum Leuchten zu bringen. Ich glaube nicht, dass Simulatoren diesen sehr geringen Transistoreffekt simulieren werden.

Wie kann ich diese Schaltung anpassen, um mein Ziel zu erreichen? Sollten stattdessen MOSFETs mit Logikpegel verwendet werden?

Verwenden Sie PWM, um die LEDs zu dimmen. Ich sehe eine Matrix: Also schätze ich, dass Sie herausgefunden haben, wie man eine Matrix scannt. Wenn Sie möchten, dass die LEDs dimmer werden, machen Sie einfach jede Zeile (oder Spalte) schneller und warten Sie dann eine Weile, bevor Sie den erneuten Scan durchführen.

Sie brauchen wahrscheinlich keine Transistoren sowohl in den Zeilen als auch in den Spalten, was auch immer. parallel aktiv ist, braucht keine Transistoren (aber braucht Widerstände), der Mikrocontroller kann genug Strom erzeugen, um die LEDs zu beleuchten, aber wo die Ströme zusammen gruppieren, brauchen Sie die Transistoren.

R-Cx scheint sehr niederohmig zu sein, diese Widerstände sollten besser zwischen dem Kollektor und der Säule verwendet werden. Setzen Sie einen 1K-Widerstand an ihre Stelle (auf der Basis des Q-Cx)