So treiben Sie eine 20-mA-LED an einem 4-mA-GPIO-Pin an


16

Ich habe einen IC mit einem GPIO, mit dem ich eine LED ansteuern möchte.

Da der Akku des Geräts leer ist, sollte der Stromverbrauch niedrig gehalten werden (möglicherweise Null), während die LED vorrangig ausgeschaltet ist.

Der GPIO liefert beim Einschalten 3,3 V und beim Ausschalten 0,0 V.

Es hat auch eine Grenze von maximal 4mA.

Die LED hat einen Durchlassstrom von 20 mA und eine gewünschte Durchlassspannung von 2,0 V.

Wenn die LED eingeschaltet ist, blinkt sie höchstwahrscheinlich (mit PWM) im niedrigen Kilohertz-Bereich.

Nach dem Stöbern glaube ich, dass dies die Art von Schaltung sein kann, die ich brauche.

Bildbeschreibung hier eingeben

Frage 1: Bin ich kurz davor, auf dem richtigen Weg zu sein?

Frage 2: Was ist die richtige Komponente für Artikel (5), (Transistor oder Mosfet) und wie finde ich eine (bei den örtlichen Frys, RadioShack, Online) und wie werden sie identifiziert (angegeben)?

Frage 3: Hat die Auswahl von Punkt (5) einen Einfluss auf den Ohmwert von Punkt (3)? Abgesehen vom normalen Ohmschen Gesetz für die 3.0V Stromquelle und die 2.0V LED.

Frage 4: Was wäre der Ohm-Wert des Widerstandselements (2), falls erforderlich?

Antworten:


29

Die Schaltung, die Sie zeigen, sollte funktionieren, ist aber unnötig kompliziert und teuer. Hier ist etwas einfacher und billiger:

Nahezu jeder kleine NPN-Transistor, den Sie finden, wird in dieser Rolle funktionieren. Wenn der BE-Abfall des Transistors 700 mV beträgt, fällt die LED auf 2,0 V ab, und es liegen 600 mV über R1 an, wenn die LED leuchtet. In diesem Beispiel können 17 mA durch die LED fließen. Erhöhen Sie den Widerstand, wenn Sie weniger Licht von der LED tolerieren und etwas Strom sparen möchten.

Ein weiterer Vorteil dieser Schaltung besteht darin, dass der Kollektor des Transistors mit mehr als 3,3 V verbunden werden kann. Dies ändert nicht den Strom durch die LED, sondern nur den Spannungsabfall am Transistor und damit dessen Verlust. Dies kann nützlich sein, wenn die 3,3 V von einem kleinen Regler kommen und der LED-Strom eine erhebliche Last hinzufügen würde. Schließen Sie in diesem Fall den Kollektor an die ungeregelte Spannung an. Der Transistor wird praktisch zum Regler nur für die LED, und der LED-Strom kommt aus der ungeregelten Versorgung und verbraucht nicht das begrenzte Strombudget des 3,3-V-Reglers.

Hinzugefügt:

Ich sehe, es gibt einige Verwirrung darüber, wie diese Schaltung funktioniert und warum es keinen Basiswiderstand gibt.

Der Transistor wird in der Emitterfolgerkonfiguration verwendet, um eine Stromverstärkung und keine Spannungsverstärkung bereitzustellen. Die Spannung am Digitalausgang reicht aus, um die LED anzusteuern, kann jedoch nicht genügend Strom liefern. Aus diesem Grund ist eine Stromverstärkung nützlich, eine Spannungsverstärkung ist jedoch nicht erforderlich.

Betrachten wir diese Schaltung unter der Annahme, dass der BE-Abfall fest 700 mV beträgt, die CE-Sättigungsspannung 200 mV beträgt und die Verstärkung 20 beträgt. Dies sind vernünftige Werte, mit der Ausnahme, dass die Verstärkung niedrig ist. Ich verwende vorerst bewusst eine niedrige Verstärkung, da wir später sehen werden, dass nur eine minimale Verstärkung vom Transistor benötigt wird. Diese Schaltung funktioniert einwandfrei, solange die Verstärkung irgendwo zwischen diesem Minimalwert und der Unendlichkeit liegt. Wir werden also die unrealistisch niedrige Verstärkung von 20 für einen kleinen Signaltransistor analysieren. Wenn alles gut funktioniert, sind wir in Ordnung mit allen echten kleinen Signaltransistoren, die Sie kennenlernen werden. Der 2N4401, den ich gezeigt habe, kann in diesem Fall beispielsweise mit einer Verstärkung von ungefähr 50 gerechnet werden.

Das erste, was zu beachten ist, ist, dass der Transistor in dieser Schaltung nicht sättigen kann. Da die Basis mit maximal 3,3 V betrieben wird, beträgt der Emitter aufgrund des 700 mV BE-Abfalls nie mehr als 2,6 V. Das heißt, es gibt immer ein Minimum von 700 mV über CE, was weit über dem 200 mV-Sättigungsniveau liegt.

Da sich der Transistor immer in seinem "linearen" Bereich befindet, wissen wir, dass der Kollektorstrom der Basisstrom multipliziert mit der Verstärkung ist. Der Emitterstrom ist die Summe dieser beiden Ströme. Das Verhältnis von Emitter zu Basisstrom beträgt daher in unserem Beispiel Gain + 1 oder 21.

Um die verschiedenen Ströme zu berechnen, ist es am einfachsten, mit dem Emitter zu beginnen und die obigen Beziehungen zu verwenden, um die anderen Ströme zu erhalten. Wenn der Digitalausgang 3,3 V hat, ist der Emitter 700 mV weniger oder 2,6 V. Es ist bekannt, dass die LED 2,0 V abfällt, so dass 600 mV über R1 verbleiben. Aus dem Ohmschen Gesetz: 600 mV / 36 Ω = 16,7 mA. Dadurch wird die LED gut beleuchtet, aber es bleibt ein wenig Spielraum, um das Maximum von 20 mA nicht zu überschreiten. Da der Emitterstrom 16,7 mA beträgt, muss der Basisstrom 16,7 mA / 21 = 790 µA und der Kollektorstrom 16,7 mA - 790 µA = 15,9 mA betragen. Der digitale Ausgang kann bis zu 4 mA ausgeben, so dass wir die Spezifikationen gut einhalten und ihn nicht einmal signifikant belasten.

Der Nettoeffekt ist, dass die Basisspannung die Emitterspannung steuert, aber das starke Anheben zum Bereitstellen des Emitterstroms erfolgt durch den Transistor, nicht durch den digitalen Ausgang. Das Verhältnis, wie viel des LED-Stroms (des Emitterstroms) vom Kollektor zur Basis kommt, ist die Verstärkung des Transistors. Im obigen Beispiel betrug diese Verstärkung 20. Für 21 Teile Strom durch die LED kommt 1 Teil vom Digitalausgang und 20 Teile von der 3,3-V-Versorgung über den Kollektor des Transistors.

Was würde passieren, wenn der Gewinn höher wäre? Noch weniger des gesamten LED-Stroms würde von der Basis kommen. Mit einem Gewinn von 20 kommt 20/21 = 95,2% vom Sammler. Mit einem Gewinn von 50 ist es 50/51 = 98,0%. Mit unendlichem Gewinn ist es 100%. Dies ist der Grund, warum diese Schaltung sehr unterschiedlich ist. Es spielt keine Rolle, ob 95% oder 99,9% des LED-Stroms aus der 3,3-V-Versorgung über den Kollektor stammen. Die Belastung des Digitalausgangs ändert sich, liegt jedoch in jedem Fall deutlich unter dem Maximalwert, sodass dies keine Rolle spielt. Die Emitterspannung ist in allen Fällen gleich, sodass die LED den gleichen Strom sieht, unabhängig davon, ob der Transistor eine Verstärkung von 20, 50, 200 oder mehr hat.

Ein weiterer subtiler Vorteil dieser bereits erwähnten Schaltung besteht darin, dass der Kollektor nicht an die 3,3-V-Versorgung angeschlossen werden muss. Wie ändert sich das zum Beispiel, wenn der Kollektor an 5 V angeschlossen ist? Nichts aus der Sicht der LED oder des digitalen Ausgangs. Beachten Sie, dass die Emitterspannung eine Funktion der Basisspannung ist. Die Kollektorspannung spielt keine Rolle, solange sie hoch genug ist, um die Sättigung des Transistors zu verhindern, die bereits 3,3 V betrug. Der einzige Unterschied ist der CE-Abfall über dem Transistor. Dies erhöht die Verlustleistung des Transistors, was in den meisten Fällen der begrenzende Faktor für die maximale Kollektorspannung ist. Nehmen wir an, der Transistor kann 150 mW sicher ableiten. Mit dem 16,7-mA-Kollektorstrom können wir die Kollektor-Emitter-Spannung berechnen, um eine Verlustleistung von 150 mW zu erreichen:

Dies bedeutet, dass wir in diesem Beispiel den Kollektor an jede handliche Versorgung von 3,3 V bis 11,6 V anschließen können. Er muss nicht einmal reguliert werden. Es könnte überall in diesem Bereich aktiv schwanken und der LED-Strom würde schön konstant bleiben. Dies kann zum Beispiel nützlich sein, wenn die 3,3 V von einem Regler mit geringer Strombelastbarkeit erzeugt werden und der größte Teil davon bereits zugewiesen ist. Wenn es zum Beispiel mit einer Spannung von ungefähr 5 V betrieben wird, kann diese Schaltung den größten Teil des LED-Stroms von dieser Spannung von 5 V beziehen, während der LED-Strom immer noch gut geregelt bleibt . Und diese Schaltung ist sehr tolerant gegenüber Variationen der Transistorteile. Solange der Transistor eine minimale Verstärkung aufweist, die weit unter derjenigen der meisten kleinen Signaltransistoren liegt, funktioniert die Schaltung einwandfrei.

Eine der Lektionen hier ist, darüber nachzudenken, wie eine Schaltung wirklich funktioniert. In der Technik gibt es keinen Platz für ruckartige Reaktionen oder Aberglauben, wenn ein Widerstand immer in Reihe mit der Basis geschaltet werden soll. Platzieren Sie eine, wenn sie benötigt wird, aber beachten Sie, dass dies nicht immer der Fall ist, wie diese Schaltung zeigt.


Dem Transistor fehlt der Strombegrenzungswiderstand an seiner Basis.
Passant am

3
@Passerby - Nein, das ist es nicht. Dies ist eine clevere Topologie, die es nicht benötigt.
Connor Wolf

1
@ Andrew Kohlsmith - Dies sollte auch ziemlich immun gegen Prozessschwankungen im Transistor sein. Solange der Transistor genug Beta hat, wird jedes Gerät ziemlich gut funktionieren.
Connor Wolf

2
Wow nette Antwort, veränderte die Art, wie ich Schaltungsdesign sehe.
Abdullah Kahraman

1
Kein Wunder, dass ein gut begründetes und artikuliertes Beispiel den Namen "Olin Lathrop" beisteuert. Ja, ich stelle fest, dass dies> 5,5 Jahre nach der tatsächlichen Antwort ist. So gut ist die Antwort. +1
Jayce

3

Viele LEDs sind heutzutage sehr hell und haben eine gute Leistung von 4 mA oder sogar weniger. Dadurch sparen Sie zusätzliche externe Komponenten. LEDs, die ich normalerweise verwende, funktionieren einwandfrei (für meine Anwendung) bei 1 mA!

Schalten Sie einfach einen Widerstand in Reihe mit der LED, der groß genug ist, um den Strom zu begrenzen. Prüfen Sie, ob Sie den im Datenblatt angegebenen Maximalstrom für das gesamte Gerät nicht überschreiten.

Überprüfen Sie daher, ob Ihre LED hell genug ist, und schließen Sie sie direkt an den GPIO-Pin mit einem Vorwiderstand an:

R=UdrÖpichLED =3.3-2,0V4mA=1.2V4mA=300Ω

Ω


Ich habe gerade eine 10-mm-rote LED und eine 5-mm-weiße LED bei 2-mA-Ansteuerungsstrom ausprobiert, und beide sind sehr gut sichtbar. Bei 4 mA sind beide sehr hell. Die 10-mm-LED ist für 30 mA ausgelegt, während die weiße LED für 25 mA ausgelegt ist.
Anindo Ghosh

0

Ich weiß, dass Ihre Frage diskrete Komponenten betraf, aber ich denke, im Allgemeinen ist es wahrscheinlich besser, sich einen IC-basierten Puffer oder Leitungstreiber anzuschauen. Zum Beispiel ist der ULN2803 ein Oktalpuffer (8 I / Os) und zieht weniger als 2 mA von Ihren GPIO-Pins, kann aber bis zu 500 mA pro Ausgang treiben. (Es ist eine Umkehrung der Logik, daher muss Ihr Code dies berücksichtigen.) Natürlich möchten Sie Strombegrenzungswiderstände für Ihre LEDs verwenden.


0

Kommentar zum vorgeschlagenen Schaltplan im Originalbeitrag:

Die Verwendung eines solchen diskreten NMOS-FET-Transistors als Schalter wäre gut.

  • Zum Gate eines MOSFET wird kein Vorwiderstand benötigt.
  • Wählen Sie einen FET mit einer Schwellenspannung, die ca. 1 V unter Ihrer Versorgungsspannung liegt, um sicherzustellen, dass er beim Einschalten weit in die Sättigung geht und der Spannungsabfall am MOSFET dann gering ist. (MOSFETs sind sehr gute Schalter.)
  • Der LED-Strom wird mit ILED = (VCC - Vf - Vds) / R eingestellt. Für die gezeigten Zahlen und unter der Annahme von 0,2 V über den FET ist R = (3,3 - 2,0 - 0,2) / 20 mA = 51 oder 56 Ohm (nächster Standardwert).

Hinweis: Normalerweise ist die LED-Anode an die Stromversorgung angeschlossen und der Widerstand ist in Reihe mit der Kathode geschaltet. Dies kann die Schaltzeit verbessern, indem die Menge der Kapazität in der Schaltung verringert wird, die beim Schalten geladen / entladen werden muss, da die Kathodenspannung im ausgeschalteten Zustand auf die Anodenspannung "zusammenbricht".

Wie bereits erwähnt, können Sie den GPIO direkt verwenden, wenn der von der LED benötigte Strom niedrig genug ist. Im Open-Drain-Modus ist es identisch mit dem Verhalten eines externen FET (jedoch invertiert). Ich würde jedoch nicht empfehlen, einen uC-Port für längere Zeit mit mehr als 1 mA zu betreiben. Der IC ist möglicherweise nicht für solche großen konstanten Ströme ausgelegt (kann Elektromigration oder Probleme mit der Eigenerwärmung sein).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.