Eine gemeinsame Basis schaffen

Ich muss einen 12-Volt-Motor mit einem Signal von einem Arduino antreiben.

Dazu verbinde ich die Masse des Arduino mit der Masse des Batterie-Eliminators, wodurch eine gemeinsame Masse entsteht.

Ich verbinde dann den Kollektor des Transistors (NPN) mit dem positiven Ende der Stromquelle und die Basis mit dem Ausgang des Arduino. Ich verbinde schließlich den Endemitter mit dem Motor, der mit der gemeinsamen Masse verbunden ist

Da ich nicht die gewünschten Ergebnisse erhalte, verbinde ich die Basis des Transistors mit einem Pin mit konstantem High-Signal vom Arduino. Ich messe die Spannung zwischen dem Emitter und der gemeinsamen Masse. Ich finde, dass sie ungefähr 3 Volt beträgt.

Was ist los? Warum erhalte ich anstelle von 12 V die Potentialdifferenz zwischen der Basis und der gemeinsamen Masse?

Du schließt es falsch an. Emitter geht auf Masse. Kollektor geht zum Motor. Motor geht an die Versorgung. Ich hoffe auch, dass Sie einen Widerstand zwischen der Basis und dem Arduino-Ausgangsstift haben.
@TomCarpenter Ah, es funktioniert jetzt, danke. Aus Neugier, was ist passiert, als ich die Spannung vom Emitter gemessen habe?

Antworten (1)

Sie sehen genau das Verhalten, das ich erwarten würde.

Beim Einschalten benötigen Silizium-BJT-Transistoren a v B e (das ist die Spannung der Basis relativ zum Emitter) von ungefähr 0,7 v . Das heißt, wenn Ihr Arduino-Ausgang an ist 5 v , dann wenn der Emitter höher ist als 5 0,7 = 4.3 v , wird der Transistor ausgeschaltet.

Wenn Sie den Motor zwischen Emitter und Masse platzieren, bedeutet dies, dass Sie nicht mehr als haben können 4.3 v über den Motor, weil der Transistor abschalten würde. Sie werden jedoch genug Strom fließen lassen, um die Motorspannung ungefähr darauf zu bringen. Wenn Sie keinen Basiswiderstand haben, ist der Strom, der in diesem Szenario in die Basis fließt, ziemlich hoch und übersteigt die Stromlieferfähigkeit des ATMega-ICs bei weitem, was dazu führt, dass die Ausgangsspannung aufgrund des Innenwiderstands abfällt Deshalb sieht man näher hin 3 v über deinen Motor.

Wenn Sie stattdessen den Emitter an Masse und den Motor an den Kollektor (und die andere Seite des Motors an die Stromversorgung) anschließen, dann wenn Sie sich bewerben 5 v zur Basis, hättest du v B e = 5 v weil der Emitter auf Massepotential liegt. Dies würde den Transistor vollständig einschalten und Sie hätten schließen müssen 12 v über den Motor. Dies ist jedoch auch nicht gut - es würde entweder Ihren Transistor oder den Steuerstift (oder beides) braten.

BJT-Geräte sind stromgesteuerte Stromquellen – das bedeutet, dass der Strom, der vom Kollektor zum Emitter fließt, proportional zum Strom ist, der von der Basis zum Emitter fließt. Das heißt, durch Erhöhen der Basisspannung steuern Sie nicht den Ausgang, sondern Sie müssen den Strom ändern. Wenn Sie die Basisspannung am Transistor zu hoch erhöhen, fließen am Ende sehr hohe Ströme in die Basis (der Transistor ist praktisch eine Diode von der Basis zum Emitter), die ihn beschädigen.

Was Sie also tun müssen, ist die Konvertierung 5 v Spannungsausgang des Arduino-Pins an den 0,7 v vom Transistor bei einem sicheren Strompegel benötigt wird - dies geschieht durch einfaches Hinzufügen eines Widerstands geeigneter Größe zwischen dem Arduino-Pin und der Basis des Transistors wie folgt:

NPN-Motorschaltung Bildquelle