Ist mein Design optimal?

Ich wollte eine LED mit einem Signal von einem Arduino ein- und ausschalten. Die LED war eine Hochleistungs-LED, die ich mit 100 mA mit einer Spannungsquelle von 12 V übersteuern möchte. Der Vorwärtsspannungsabfall der LED beträgt 4 V.

Das Schalten erfolgte mit einem BC547b-Transistor, der an seinem Basisschenkel einen 2,5-kOhm-Widerstand zum Arduino-Pin hat. Basisstrom ist 100mA/200

Ich entscheide mich für BC547b, da es ein Allzwecktransistor zu sein scheint, aber als ich den Transistor weiter untersuchte, sah ich, dass sein Kollektor Imax auf 200 mA ausgelegt ist (gut, dass ich ihn nicht mit mehr als 12 V versorgt oder den Widerstand so ausgelegt habe, dass er nicht zieht mehr als 100mA).

Emitter war geerdet.

Aber ansonsten kann ich sehen, dass es in Bezug auf die Effizienz "viel" Strom verbraucht, es ist nicht vollständig gesättigt ... Der Transistor zeigte nicht so viel Wärme? Ich bin mir also nicht sicher, ob es gut oder schlecht ist.

Aber abgesehen davon, auf welche Parameter sollte ich achten, um den Transistor zum Schalten dieser Schaltungsform auszuwählen?

Wie kann ich im Allgemeinen einen idealen Transistor in Bezug auf Geschwindigkeit, Stromverbrauch und Verarbeitung hochfrequenter Signale auswählen?

Ich weiß mit Sicherheit, dass mein Arduino-Pin-Ausgang 3,3 V beträgt (möglicherweise ein gefälschtes Modell). Aber das ist sicher.

Schaltkreis

Geben Sie hier die Bildbeschreibung ein

Sind meine Designentscheidungen optimal für diese Anwendung?

R1 = 2500 Ohm R2 = 4 Ohm. V_c = 3,3 v V_{cc} = 12 V

Ist die LED mit integriertem Widerstand für den direkten Betrieb mit 12 V ausgelegt? Ihr Basiswiderstandsstrom beträgt: 5 V (Arduino-Ausgang) - 0,7 V (Basis-Emitter-Sättigungsvolt) / 2500 oder etwa 1,7 mA. Unter der Annahme von hfe von 100 ergibt sich ein Kollektorstrom von 172 mA (wenn nichts anderes den Strom begrenzt).
Der Ausgang von aurdino wird so berechnet, dass er 3,3 V ausgibt. hfe = 200 aus dem Datenblatt. Somit ist Ic = 200 * (3,3-0,7) / 2500. Der Kollektor ist jedoch durch einen Widerstand am Kollektorschenkel darauf beschränkt, nur 100 mA zu ziehen.
OK, aber beachten Sie, dass hfe nur gültig ist, wenn der Transistor nicht in Sättigung ist! Da Sie es als Schalter verwenden möchten, möchten Sie es in die Sättigung treiben. Der Trick dabei ist, ihn mit genügend Basisstrom zu versorgen, damit der Transistor möglichst viel Kollektorstrom fließen lässt. Der 2,5-kOhm-Widerstand sollte in der Lage sein, selbst bei einem 3,3-V-Arduino-Ausgang genügend Basisstrom dafür zu liefern.
Genau.. Meins ist nicht gesättigt.. Denke ich jedenfalls. V_ce = 12 V und I_c = 100 mA
Ich denke aber, dass es in Sättigung ist. Im Zweifel kann man es messen. Messen Sie Ic, wenn es 100 mA beträgt und von der LED bestimmt wird, ist die Spannung am Transistor klein, etwa weniger als 500 mV. Dann bist du in Sättigung. Wenn der Strom weniger als 100 mA beträgt und der Transistor den Strom begrenzt, beträgt seine Vce mehr als 1 V, dann ist der Transistor nicht in Sättigung. Ich denke, Sie benötigen einen viel größeren Basiswiderstand (mehr als 10 kOhm), um im nicht gesättigten Bereich zu sein.
"V_ce = 12V und I_c = 100mA" Das kann nicht gleichzeitig wahr sein, Ihr Transistor würde HEISS werden und durchbrennen.
Das war auch meine Schlussfolgerung. Aber es passiert nicht?
Nein, nicht gleichzeitig . Es ist ein weit verbreitetes Missverständnis. Wenn der Transistor ausgeschaltet ist , fließt kein Strom, sodass Ic = 0 und Vce 12 V beträgt, da sich der Transistor wie ein offener Stromkreis verhält. Es fließt kein Strom, also wird keine Energie verbraucht und alles ist gut :-) Wenn der Transistor eingeschaltet ist , fließt Strom, sodass Ic = 100 mA und Vce klein ist, z. B. weniger als 500 mV. Dies führt wiederum zu einer geringen Verlustleistung im Transistor, sodass er glücklich ist und alles wieder gut ist :-)
Aber ist es eine richtige Wahl? Das Ziehen von Strom aus einem Arduino ist nicht das Beste, und was ist mit der Anstiegszeit? Reagiert es schnell genug?
Ich bin mir nicht sicher, ob ich verstehe, warum V_ce = 500 mv => warum genau 500 mV?
"was ich mit 100 mA übersteuern möchte" , warum machst du das? Sie werden die Lebensdauer der LED stark reduzieren.
Um das Licht heller zu machen. Ich weiß, es wird nicht empfohlen, aber es wurde nur ein paar Mal verwendet, also war es kein Problem, es zu übersteuern.
"warum genau 500mV?" Ich habe nie genau 500 mV geschrieben . Ich bin von einer sehr groben Annahme ausgegangen. Es könnte 600 mV oder 400 mV sein. Der genaue Wert spielt keine Rolle, die meisten 12 V werden über die LED und/oder den Vorwiderstand geführt. Solange die Spannung am Transistor deutlich kleiner als 12 V ist, ist alles in Ordnung.
Aber wie kommst du auf diesen Wert? Ich meine, die Durchlassspannung an der Diode beträgt 4 V, also sollte V_ce 8 V betragen, wenn der Schalter eingeschaltet ist? Ich bin mir nicht sicher, ob ich verstehe, wie es 500 mV sein könnte, ich denke, Sie haben Recht, aber ich verstehe nicht, wie?
Eine andere Sache ist, dass der IC auf maximal 100 mA ausgelegt ist, was bedeutet, dass, wenn die Stromquelle ein wenig kräuselt, ein nicht in der Lage wäre, richtig zu arbeiten.

Antworten (2)

Die Umschaltung erfolgte über einen Transistor bc547b. Das hat einen 2,5-kOhm-Widerstand an seinem Basisschenkel zum Aurdino-Pin. Basisstrom ist 100mA/200

Nein, das ist nicht wahr. Der Basisstrom beträgt NICHT 100 mA. Einige Arduinos laufen mit 5 V und einige mit 3 V3. Ich habe 3V3 angenommen und wenn der GPIO-Pin, der die Basis antreibt, hoch wäre, ist der wahrscheinliche Strom, den Sie in die Basis fließen lassen: -

Ich = 3.3 v 0,6 v 2500 Ω = 1,08 mA.

Die 0,6 V stammen aus dem Vorwärtsspannungsabfall des Basis-Emitters im BC547.

Unabhängig davon, ob der Kollektorstrom möglicherweise ein Problem darstellt, fahren Sie ihn mit 1 mA und nicht mit 100 mA. Zu Ihrer Information, die GPIO-Pins des Arduino können keine 100 mA liefern.

Wenn Sie 100 mA in die LED treiben möchten, kann dies ein BC547 tun, aber Sie benötigen wahrscheinlich einen Strombegrenzungswiderstand in Reihe mit der LED. Ich würde in Betracht ziehen, den Basiswiderstand auf etwa 470 Ohm zu reduzieren und einen 100-Ohm-Widerstand mit der LED in Reihe zu schalten, ABER dies alles setzt voraus, dass Sie eine ziemlich standardmäßige Hochleistungs-LED mit einem Vorwärtsspannungsabfall von 2 oder 3 Volt haben.

Sie haben diese Informationen nicht weitergegeben, Sie müssen dies recherchieren und möglicherweise mit einem Link zum Datenblatt zurückkommen.

Er meinte 100 mA / hfe was besser aber immer noch falsch ist.

Sie möchten, dass der BC547b so wenig Vce wie möglich abfällt. Wenn Sie beispielsweise 500 mV abfallen, ergibt dies 500 mV x 100 mA = 50 mW. Nicht viel und der BC547b kann damit problemlos umgehen.

Der Basisstrom ist aus mehreren Gründen nicht Ic / Beta = 100 mA / 200. Sie haben Ib bereits mit Ihrem 2,5-kOhm-Basiswiderstand definiert!

Unter der Annahme, dass der Arduino mit einer 5-V-Versorgung betrieben wird, und unter der Annahme, dass die Vbe des BC547b 0,7 V beträgt, beträgt I (Rb) (5 V - 0,7 V) / 2,5 kOhm = 1,7 mA.

Da Ihr Ic 100 mA beträgt, wäre Beta 100 mA / 1,7 mA = 59. Aber tatsächlich hat der BC547b ein erheblich höheres Beta als 59, selbst bei Ic = 100 mA. Der BC547b wird also in Sättigung sein, was gut ist.

Für mich sieht das alles gut aus :-)

Natürlich kann man beliebig optimieren, aber man muss sich fragen: Was habe ich davon? Ich würde sagen: nichts, was Ihre Zeit wert ist.

Nur eine Randbemerkung, um mehr Effizienz aus der Schaltung herauszuholen, da jede LED bei 100 mA um 4 V abfällt, schalten Sie zwei davon in Reihe und verringern Sie R2 entsprechend. Der Verlust über R2 ist geringer, da weniger Spannung abfällt. Ich würde keine drei LEDs (4 V x 3 = 12 V) mit einem 0-Ω-Widerstand verwenden, da dies keinen Überstromschutz bietet. (Jede Spitze auf der 12-V-Schiene würde wahrscheinlich den BC547B zerstören.)
Sehr schlechte Antwort. Damit der Transistor in Sättigung ist, sollten Sie hfe von 10 bis 20 annehmen. Die Verstärkung im aktiven Modus ist nicht gleich der Verstärkung im Sättigungsmodus. Der Basisstrom muss im Bereich von 5 bis 10 mA liegen, wenn der Transistor keine unerwünschte Leistung abgeben soll.
Ich denke, das Pumpen von 10 mA in die Basis verschwendet die gleiche Menge an Strom. Ihr Kommentar legt nahe, dass Sie sich in einer tiefen Sättigung befinden müssen . Ich glaube nicht, dass das nötig ist, es funktioniert gut, wenn der Transistor nur ein wenig in die Sättigung geht. Aber wenn ich falsch liege und es nicht funktioniert, beweise es bitte, damit ich etwas lernen kann.
@WhatRoughBeast Das Datenblatt zeigt ein Sättigungsspannungsdiagramm bei hfe = 10. Aber das ist keine Eigenschaft des Transistors! Es ist eine Testbedingung . Sie könnten ein ähnliches Diagramm für die Bedingung hfe = 59 erstellen (wie in meiner Antwort). Dann wird Vce_sat natürlich höher sein. Aber der Transistor ist immer noch im Sättigungsmodus.
@FakeMoustache - Wenn VCE größer als VBE ist, ist der Transistor per Definition nicht in Sättigung. Bei diesen aktuellen Niveaus kann es zu einer Sättigung kommen – aber möglicherweise nicht. Beispielsweise führt das Ausführen einer Simulation (TINA) zu einer Sättigung mit dem 2,5-k-Basiswiderstand und 100 mA, aber ein 3-k-Basiswiderstand sättigt nicht.
Und es wurden 2,5 k verwendet, sodass der Transistor genau so gesättigt ist, wie ich es beabsichtigt hatte.