Was bestimmt, wie viel Strom durch einen 2N2222 A fließen kann?

Ich habe mit einem bürstenbehafteten Gleichstrommotor, einem 2N2222 und einem Arduino-PWM herumgespielt, um unterschiedliche Geschwindigkeiten aus meinem Motor herauszuholen. Nun, basierend auf einem Video-Tutorial, das ich auf YouTube gesehen habe, wurde empfohlen, einen 1-kOhm-Widerstand zwischen den PWM-Pin und die Basis zu legen, anscheinend um das Arduino zu schützen, falls der Transistor vermasselt wird. Ich habe getan, was mir gesagt wurde, und zwar nach diesem Schema (Meine Stromversorgung ist 1,5 V und R1 ist 1 K, nicht 220).Meine Stromversorgung ist 1,5 V und R1 ist 1K

Der Motor würde sich jedoch nicht drehen, wenn der Mikrocontroller-Pin 5 V (Volllast) ausgeben würde. Also dachte ich mir, lass mich nicht mit meinem Arduino herumspielen, falls das das Problem war, also habe ich die Basis über den 1k-Widerstand an die gleichen 1,5 V angeschlossen, die den Motor antreiben ... immer noch nichts ... setze a Neuer 1k-Widerstand ... immer noch nichts ... also habe ich den 1k-Ohm-Widerstand entfernt und meine Basis direkt an die 1,5-V-Quelle angeschlossen und der Motor begann sich zu drehen.

Kann mir bitte jemand erklären warum das so ist? Bestimmt nach dem, was ich gelesen habe, nicht die Spannung an der Basis den Strom, der vom Kollektor zum Emitter fließt? -_- <-- Verwirrtes Gesicht

Sind Sie sicher, dass die Transistorverdrahtung richtig ist?
Wird der Motor mit 9 V oder 1,5 V betrieben?
Ein BJT ist ein „stromgesteuertes“ Gerät, während ein FET ein „spannungsgesteuertes“ Gerät ist. Das Reduzieren des Basisstroms durch Hinzufügen des Widerstands reduziert den Emitterstrom.
Zusätzlich zu Ignacios Antwort möchte ich diese Website empfehlen, um zu lernen, "Wie man einen Transistor als Schalter verwendet": Using Transistor as a Switch Ich habe auf dieser Webseite gelernt, wie man einen Transistor als Schalter verwendet.

Antworten (3)

Der Motor benötigt eine gewisse Stromstärke, um sich zu drehen. Wie viel Strom durch den Transistor vom Kollektor zum Emitter und damit durch den Motor fließen darf, wird durch den Strom gesteuert, der durch den Transistor von der Basis zum Emitter fließt, multipliziert mit der Stromverstärkung des Transistors, die als "h fe " bekannt ist. Der Basiswiderstand reduzierte diesen Strom auf einen zu niedrigen Wert, um den Motor drehen zu lassen, selbst wenn er durch den Transistor verstärkt wird. Verwenden Sie Ihr Wissen über den erforderlichen Strom des Motors, die Spannung über dem Transistor von der Basis zum Emitter während der Sättigung, die Spannung vom MCU-Pin zum Emitter und die h fe des Transistors , um den korrekten Maximalwert des zu verwendenden Widerstands zu berechnen. Z.B:

300 mA (I Motor ) / 70 A/A (h fe ) = 4,2 mA
(5 V (V MCU ) - 0,7 V (V BE(SAT) ) )/4,2 mA = 1,024 kOhm

Beachten Sie, dass die Motorspannungsversorgung nicht in diese Berechnungen einbezogen wird, aber dennoch hoch genug sein muss, nachdem die Spannung vom Kollektor zum Emitter gemäß den Motorspezifikationen abgezogen wurde.

Die Verwendung einer Verstärkung von 70 in den Berechnungen führt zu einem Basisstrom, der den Transistor nicht sättigt (was bei Verwendung des Transistors als Schalter erwünscht ist) und zu einem erhöhten Kollektor-Emitter-Spannungsabfall führt. Als Faustregel zur Sättigung des Transistors gilt, die Basis mit einem Strom von etwa 1/10 bis 1/20 des Ausgangsstroms anzusteuern. Die Sättigungsspannungen des 2N2222-Datenblatts sind für eine Verstärkung von 10 angegeben.

Wie bei jedem NPN-Transistor müssen Sie den Strom an der Basis Ihres 2N2222 begrenzen, R1 ist daher erforderlich, da NPN-Transistoren strombetriebene Teile sind (wie LEDs).

Wenn Sie einen NPN-Transistor als Schalter verwenden, möchten Sie ihn im gesättigten Modus verwenden, da er den Spannungsabfall am Kollektor minimiert (vgl V_CE(sat). ). Dazu müssen Sie den Strom an der Basis auf 1/10 begrenzen I_C, dh den Strom, mit dem Sie Ihren Motor antreiben möchten.

Andernfalls könnte Ihr Transistor ohne Sättigung zu heiß werden / einen zu hohen Spannungsabfall ergeben.

Beachten Sie, dass ein GPIO-Pin auf Ihrem Arduino (ATmega328p) nur bis zu 20 mA liefern kann. Somit sind Sie für Ihren Motor auf 200 mA begrenzt. Was möglicherweise nicht ausreicht.

Bei der Berechnung des Wertes R1 müssen Sie den Spannungsabfall an der Basis (dh V_BE(sat)) und den Spannungsabfall am GPIO-Pin (bei 20 mA, vgl V_OH. vs. Ausgangsstromangaben im ATmega328p-Datenblatt) berücksichtigen.

Siehe auch das - sagen wir - Onsemi 2N2222A-Datenblatt für V_CE(sat)- und V_BE(sat)-Zahlen.

Eine Alternative zur Verwendung eines NPN-Transistors zum Schalten Ihres Motors ist die Verwendung eines MOSFET mit Logikpegel. Im Gegensatz zu einem NPN-Transistor ist er spannungsgesteuert und damit energieeffizienter. Außerdem können Sie mit einem MOSFET mit dem kleinen Strom, der an einem GPIO-Pin verfügbar ist, viel höhere Lasten schalten.

Das OP könnte zwei 2N2222-Transistoren als Darlington-Paar verwenden, um die hier vorgeschlagene 200-mA-Grenze zu überwinden.
@AndrewMorton Ja, das ist eine weitere Alternative. Siehe auch Gibt es einen Grund, Sperrschicht- oder Darlington-Transistoren für Leistungsanwendungen zu verwenden? für einige Vor-/Nachteile. Insbesondere ein Darlington-Paar wäre ziemlich ineffizient.

Ich gehe auf die Beine und gehe davon aus, dass Sie, als Sie die Basis des Transistors an die 1,5-V-Stromquelle angeschlossen haben, ihn tatsächlich über den Motor angeschlossen haben. Dies würde erklären, warum das Verhalten so war, wie Sie es beschrieben haben.

Angenommen, Ihre Implementierung der Schaltung war korrekt und der Transistor ist nicht rückwärts (es bringt mich die ganze Zeit; es lohnt sich, es zweimal zu überprüfen), ist das Problem mit dieser Schaltung mit ziemlicher Sicherheit die Spannung Ihrer Stromquelle. Der Transistor schneidet etwa 0,6 V in der Basis-Emitter-Verbindung ab und wahrscheinlich näher an 0,8 V zwischen Kollektor und Emitter, je nachdem, wie gesättigt er ist. 5 V bis 1 K ergeben 5 mA, was bei einem h fe von etwa 100 (ziemlich normal) maximal 500 mA Strom durch den Kollektor ergibt.

Dies sollte für einen kleinen Spielzeugmotor ausreichen, aber Sie erhalten keine 500 mA durch einen Motor mit einer Stromversorgung von 1,5 V - 0,8 V = 0,7 V, insbesondere wenn es sich nur um eine oder zwei Batterien handelt. Wie in den Kommentaren vorgeschlagen, sollten Sie eine Stromquelle in Betracht ziehen, die eher Ihrem Diagramm, 9 V, entspricht. 5V wären ein Minimum, würde ich sagen, oder vielleicht 3V.

Der 1K-Widerstand ist wichtig, nicht weil er Ihren Arduino vor Rückkopplung schützt (obwohl es das auch gibt), sondern weil er verhindert, dass er seine 5 V durch den Transistor kurzschließt, was das eine oder andere durchbrennen könnte (obwohl der Strom, der von einem Arduino ist begrenzt, ich denke weniger als 100 mA). Sie sollten es auf jeden Fall immer verwenden .

Schließlich können Sie, je nachdem, wie Sie den Arduino mit Strom versorgen, seine Stromquelle mit dem Motor teilen. Wenn Sie es über die Barrel-Buchse mit Strom versorgen, bin ich zu 80% sicher, dass Sie es direkt an dieses Netzteil anschließen können, indem Sie die V- in -Buchse neben den 5 V und 3,3 V und allen anderen verwenden (ich stelle mir ein Uno vor ). Diese Linie wird nicht reguliert (wiederum zu 80% sicher), sodass Sie sich keine Sorgen machen müssen, die Komponenten des Arduino zu überfordern. Umgekehrt könnten Sie eine anständige Stromversorgung erhalten und den Motor und den Arduino damit versorgen, indem Sie umgekehrt vorgehen und den V- in- Pin des Arduino mit der Versorgungsspannung verbinden, wie es beabsichtigt ist ...

Viel Glück; Ich hoffe, das hilft.