So verbinden Sie Transistoren (BJT) und MOSFET mit Arduino

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





Die Schnittstelle von Leistungsgeräten wie BJTs und MOSFETs mit dem Arduino-Ausgang ist eine entscheidende Konfiguration, die das Schalten von Hochleistungslasten durch Niedrigleistungsausgänge eines Arduino ermöglicht.

In diesem Artikel werden die richtigen Methoden zur Verwendung oder Verbindung von Transistoren wie BJTs und Mosfets mit einem Mikrocontroller oder einem Arduino ausführlich erläutert.



Solche Stufen werden auch als bezeichnet 'Level Shifter' weil diese Stufe den Spannungspegel für den relevanten Ausgangsparameter von einem niedrigeren Punkt zu einem höheren Punkt ändert. Zum Beispiel wird hier die Pegelverschiebung vom Arduino 5V-Ausgang zum MOSFET 12V-Ausgang für die ausgewählte 12V-Last implementiert.

Unabhängig davon, wie gut Ihr Arduino programmiert oder codiert ist, kann es zu einem ineffizienten Betrieb des Systems oder sogar zu einer Beschädigung der am System beteiligten Komponenten führen, wenn es nicht korrekt in einen Transistor oder eine externe Hardware integriert ist.



Daher ist es äußerst wichtig, die richtigen Methoden zur Verwendung externer aktiver Komponenten wie Mosfets und BJTs mit einem Mikrocontroller zu verstehen und zu erlernen, damit das Endergebnis effektiv, reibungslos und effizient ist.

Bevor wir die Schnittstellenmethoden von Transistoren mit Arduino diskutieren, wäre es nützlich, die grundlegenden Eigenschaften und die Funktionsweise von BJTs und Mosfets zu lernen.

Elektrische Eigenschaften von Transistoren (bipolar)

BJT steht für Bipolar Junction Transistor.

Die Grundfunktion eines BJT besteht darin, eine angeschlossene Last als Reaktion auf einen externen Spannungsauslöser einzuschalten. Die Last soll im Vergleich zum Eingangsauslöser meist einen höheren Strom haben.

Somit besteht die Grundfunktion eines BJT darin, eine höhere Stromlast als Reaktion auf einen Trigger mit niedrigerem Stromeingang einzuschalten.

Technisch wird dies auch genannt Vorspannung des Transistors Dies bedeutet, dass Strom und Spannung verwendet werden, um einen Transistor für eine beabsichtigte Funktion zu betreiben, und diese Vorspannung muss auf die bestmögliche Weise erfolgen.

BJTs haben 3 Leitungen oder 3 Pins, nämlich Basis, Emitter, Kollektor.

Der Basisstift wird zur Speisung des externen Eingangstriggers in Form von kleiner Spannung und Strom verwendet.

Der Emitterstift ist immer mit der Masse oder der negativen Versorgungsleitung verbunden.

Der Kollektorstift ist über die positive Versorgung mit der Last verbunden.

BJTs können mit zwei Arten von Polaritäten gefunden werden, NPN und PNP. Die grundlegende Pin-Konfiguration ist für NPN und PNP dieselbe wie oben erläutert, mit Ausnahme der Polarität der Gleichstromversorgung, die genau umgekehrt ist.

Das Pinbelegung eines BJT konnte verstanden werden durch das folgende Bild:

In der Abbildung oben sehen wir die grundlegende Pinbelegung eines NPN- und eines PNP-Transistors (BJT). Für das NPN wird der Emitter zur Erdungsleitung und ist mit der negativen Versorgung verbunden.

Wenn das Wort 'Masse' in einem Gleichstromkreis verwendet wird, nehmen wir normalerweise an, dass es sich um die negative Versorgungsleitung handelt.
Bei einem Transistor bezieht sich die dem Emitter zugeordnete Masseleitung jedoch auf seine Basis- und Kollektorspannungen, und die Emittermasse bedeutet möglicherweise nicht unbedingt die negative Versorgungsleitung.

Ja, für einen NPN BJT könnte der Boden die negative Versorgungsleitung sein, für einen PNP-Transistor Die 'Masse' bezieht sich immer auf die positive Versorgungsleitung, wie in der obigen Abbildung gezeigt.

Die EIN / AUS-Funktion beider BJTs ist grundsätzlich gleich, aber die Polarität ändert sich.

Da der Emitter eines BJT der 'Austritts' -Pass für den durch und durch die Basis und den Kollektor eintretenden Strom ist, muss er an einer Versorgungsleitung 'geerdet' werden, die der an den Basis- / Kollektoreingängen verwendeten Spannung entgegengesetzt sein sollte. Andernfalls wird die Schaltung nicht abgeschlossen.

Bei einem NPN-BJT sind die Basis- und die Kollektoreingänge einer positiven Trigger- oder Schaltspannung zugeordnet, daher muss der Emitter auf die negative Leitung bezogen werden.

Dies stellt sicher, dass die in die Basis und den Kollektor eintretenden positiven Spannungen die negative Leitung durch den Emitter erreichen und den Stromkreis vervollständigen können.

Bei einem PNP-BJT sind die Basis und der Kollektor einem negativen Spannungseingang zugeordnet, daher muss natürlich der Emitter eines PNP auf die positive Leitung bezogen werden, damit die positive Versorgung durch den Emitter eintreten und ihre Reise von der Basis beenden kann und die Sammelstifte.

Beachten Sie, dass der Stromfluss für das NPN von der Basis / dem Kollektor zum Emitter und für das PNP vom Emitter zur Basis / zum Kollektor verläuft.

In beiden Fällen besteht das Ziel darin, die Kollektorlast über einen kleinen Spannungseingang an der Basis des BJT einzuschalten. Nur die Polarität ändert sich.

Die folgende Simulation zeigt die Grundbedienung:

wie Transistor mit einer externen Spannung leitet

In der obigen Simulation tritt der externe Spannungseingang in die Basis des BJT ein und erreicht über den Emitter die Erdungsleitung, sobald die Taste gedrückt wird.

Währenddessen öffnet sich der Kollektor / Emitter-Durchgang im BJT und ermöglicht es der positiven Versorgung von oben, in die Glühlampe einzutreten und durch den Emitter zur Erde zu gelangen, wobei die Glühlampe (Last) eingeschaltet wird.

Beide Schaltvorgänge erfolgen fast gleichzeitig als Reaktion auf das Drücken des Druckknopfs.

Der Emitter-Pin wird hier zur gemeinsamen Ausgangs-Pinbelegung für beide Eingangs-Feeds (Basis und Kollektor).

Und die Emitterversorgungsleitung wird zur gemeinsamen Erdungsleitung für den Eingangsversorgungsauslöser und auch für die Last.

Dies bedeutet, dass die mit dem BJT-Emitter verbundene Versorgungsleitung auch streng mit der Masse der externen Triggerquelle und der Last verbunden sein muss.

Warum wir einen Widerstand an der Basis eines BJT verwenden

Die Basis eines BJT ist für die Arbeit mit Eingängen mit geringer Leistung ausgelegt, und dieser Pin kann keine großen Stromeingänge aufnehmen. Daher verwenden wir einen Widerstand, um sicherzustellen, dass kein großer Strom in die Basis eindringen kann.

Die Grundfunktion des Widerstands besteht darin, den Strom gemäß der Lastspezifikation auf einen korrekten angegebenen Wert zu begrenzen.

Bitte beachten Sie Für BJTs muss dieser Widerstand gemäß dem kollektorseitigen Laststrom dimensioniert werden.

Warum?

Weil BJTs stromabhängige 'Schalter' sind.

Das heißt, der Basisstrom muss entsprechend den Laststromspezifikationen auf der Kollektorseite erhöht oder verringert oder angepasst werden.

Die an der Basis eines BJT erforderliche Schaltspannung kann jedoch nur 0,6 V oder 0,7 V betragen. Das heißt, die BJT-Kollektorlast könnte mit einer Spannung von nur 1 V über der Basis / dem Emitter eines BJT eingeschaltet werden.
Hier ist die Grundformel zur Berechnung des Basiswiderstands:

R = (Us - 0,6) Hfe / Laststrom,

Wobei R = Basiswiderstand des Transistors,

Us = Quelle oder Triggerspannung am Basiswiderstand,

Hfe = Durchlassstromverstärkung des Transistors (siehe Datenblatt des BJT).

Obwohl die Formel ordentlich aussieht, ist es nicht unbedingt erforderlich, den Basiswiderstand immer so genau zu konfigurieren.

Dies liegt einfach daran, dass die BJT-Basisspezifikationen einen weiten Toleranzbereich haben und große Unterschiede in den Widerstandswerten leicht tolerieren können.

Beispielsweise, ein Relais anschließen Mit einem Spulenwiderstand von 30 mA kann die Formel ungefähr einen Widerstandswert von 56 K für einen BC547 bei 12 V Versorgungseingang liefern. Normalerweise bevorzuge ich jedoch die Verwendung von 10 K und sie funktioniert einwandfrei.

Wenn Sie jedoch nicht den optimalen Regeln folgen, kann es sein, dass die Ergebnisse nicht gut sind, oder?

Technisch macht das Sinn, aber auch hier ist der Verlust im Vergleich zum Aufwand für die Berechnungen so gering, dass er vernachlässigt werden kann.

Zum Beispiel kann die Verwendung von 10K anstelle von 56K den Transistor dazu zwingen, mit einem etwas höheren Basisstrom zu arbeiten, wodurch er sich etwas stärker erwärmt und ein paar Grad höher ist ... was überhaupt keine Rolle spielt.

So verbinden Sie BJT mit Arduino

OK, jetzt kommen wir zum eigentlichen Punkt.

Da wir bisher umfassend gelernt haben, wie ein BJT über seine drei Pinbelegungen vorgespannt und konfiguriert werden muss, können wir die Details bezüglich seiner Schnittstelle zu jedem Mikrocontroller wie Arduino schnell erfassen.

Der Hauptzweck des Verbindens eines BJT mit einem Arduino besteht normalerweise darin, eine Last oder einen Parameter auf der Kollektorseite als Reaktion auf einen programmierten Ausgang von einem der Arduino-Ausgangspins einzuschalten.

Hier soll der Triggereingang für den BJT-Basisstift vom Arduino kommen. Dies bedeutet, dass das Ende des Basiswiderstands lediglich mit dem entsprechenden Ausgang des Arduino und der Kollektor des BJT mit der Last oder einem beabsichtigten externen Parameter verbunden werden muss.

Da ein BJT für ein effektives Schalten kaum 0,7 V bis 1 V benötigt, sind 5 V vom Arduino-Ausgangspin vollkommen ausreichend, um einen BJT anzutreiben und angemessene Lasten zu betreiben.
Eine Beispielkonfiguration ist in der folgenden Abbildung dargestellt:

Anschließen oder Verbinden von Arduino mit einem Transistorrelaistreiber

In diesem Bild können wir sehen, wie ein programmiertes Arduino zum Betreiben einer kleinen Last in Form eines Relais über die BJT-Treiberstufe verwendet wird. Die Relaisspule wird zur Kollektorlast, während das Signal vom ausgewählten Arduino-Ausgangspin wie das Eingangsschaltsignal für die BJT-Basis wirkt.

Arduino mit einer Hochleistungs-LED verbinden

Obwohl ein Relais die beste Option für den Betrieb schwerer Lasten über einen Transistortreiber ist, wird das Aufrüsten von BJTs eine bessere Wahl für den Betrieb von Hochstrom-Gleichstromlasten, wie unten gezeigt, wenn mechanisches Schalten zu einem unerwünschten Faktor wird.

In dem obigen Beispiel ist ein Darlington-Transistornetzwerk zu sehen, das konfiguriert ist, um die angezeigte Hochstromlast von 100 Watt ohne Abhängigkeit von einem Relais zu handhaben. Dies ermöglicht ein nahtloses Schalten der LED bei minimaler Störung und gewährleistet eine lange Lebensdauer aller Parameter.

Lassen Sie uns nun weiter fortfahren und sehen, wie Mosfets mit einem Arduino konfiguriert werden können

Elektrische Eigenschaften des MOSFET

Der Zweck der Verwendung eines Mosfets mit einem Arduino ähnelt normalerweise dem oben diskutierten von BJT.

Allerdings da normalerweise MOSFETs sind ausgelegt Um höhere Stromspezifikationen im Vergleich zu BJTs effizient zu handhaben, werden diese hauptsächlich zum Schalten von Hochleistungslasten verwendet.

Bevor wir die Schnittstelle eines Mosfets mit Arduino verstehen, wäre es interessant, die Grundlagen zu kennen Unterschied zwischen BJTs und Mosfets

In unserer vorherigen Diskussion haben wir das verstanden BJTs sind stromabhängige Geräte , weil ihr Basisschaltstrom vom Kollektorlaststrom abhängt. Höhere Lastströme erfordern einen höheren Basisstrom und umgekehrt.

Für Mosfets ist dies nicht der Fall, mit anderen Worten, Mosfets-Gate, das der BJT-Basis entspricht, benötigt unabhängig vom Drain-Strom nur minimalen Strom zum Einschalten (der Drain-Pin des Mosfet entspricht dem Kollektor-Pin des BJT).

Obwohl der Strom nicht der entscheidende Faktor für das Schalten eines Mosfet-Gates ist, Spannung ist.

Daher werden Mosfets als spannungsabhängige Geräte betrachtet

Die minimale Spannung, die erforderlich ist, um eine gesunde Vorspannung für einen Mosfet zu erzeugen, beträgt 5 V oder 9 V, wobei 12 V der optimalste Bereich zum vollständigen Einschalten eines Mosfets ist.

Daher können wir davon ausgehen, dass zum Einschalten eines Mosfets und einer Last über seinem Drain eine 10-V-Versorgung über seinem Gate verwendet werden kann, um ein optimales Ergebnis zu erzielen.

Äquivalente Stifte von Mosfets und BJTs

Das folgende Bild zeigt die komplementären Stifte von Mosfets und BJTs.

Basis entspricht Gate-Collector entspricht Drain-Emitter entspricht Source.

BJT Mosfet Pinout Substitution in Arduino

Welcher Widerstand sollte für ein Mosfet-Tor verwendet werden?

In unseren früheren Tutorials haben wir verstanden, dass der Widerstand an der Basis eines BJT entscheidend ist, ohne den der BJT sofort beschädigt werden kann.

Für einen MOSFET ist dies möglicherweise nicht so relevant, da MOSFETs nicht von Stromunterschieden an ihren Gates betroffen sind, sondern eine höhere Spannung als gefährlich angesehen werden kann. Normalerweise kann alles über 20 V für ein MOSFET-Gate schlecht sein, aber der Strom kann unerheblich sein.

Aus diesem Grund ist ein Widerstand am Gate nicht relevant, da Widerstände zur Strombegrenzung verwendet werden und das Mosfet-Gate nicht vom Strom abhängig ist.

Das heißt, MOSFETs sind Sehr anfällig für plötzliche Spitzen und Transienten vor ihren Toren im Vergleich zu BJTs.

Aus diesem Grund wird im Allgemeinen ein Widerstand mit niedrigem Wert an den Gates von MOSFETs bevorzugt, nur um sicherzustellen, dass keine plötzliche Spannungsspitze durch das MOSFET-Gate gehen und es intern zerreißen kann.

Typischerweise Jeder Widerstand zwischen 10 und 50 Ohm könnten an MOSFET-Gattern verwendet werden, um ihre Gates vor unerwarteten Spannungsspitzen zu schützen.

Schnittstelle eines MOSFET mit Arduino

Wie im obigen Absatz erläutert, benötigt ein Mosfet etwa 10 V bis 12 V, um ordnungsgemäß eingeschaltet zu werden. Da Arduinos jedoch mit 5 V arbeiten, kann sein Ausgang nicht direkt mit einem Mosfet konfiguriert werden.

Da ein Arduino mit einer 5-V-Versorgung betrieben wird und alle seine Ausgänge so ausgelegt sind, dass sie 5 V als logisch hohes Versorgungssignal erzeugen. Obwohl diese 5 V möglicherweise einen MOSFET einschalten können, kann dies zu einem ineffizienten Einschalten der Geräte und zu Problemen beim Aufheizen führen.

Für ein effektives MOSFET-Schalten und um den 5-V-Ausgang von Arduino in ein 12-V-Signal umzuwandeln, könnte eine Zwischenpufferstufe wie in der folgenden Abbildung gezeigt konfiguriert werden:

wie man Mosfet mit Arduino verbindet

In der Abbildung ist der MOSFET mit einigen BJT-Pufferstufen konfiguriert, die es dem MOSFET ermöglichen, die 12 V von der Stromversorgung zu nutzen und sich selbst und die Last effektiv einzuschalten.

Hier werden zwei BJTs verwendet, da ein einziger BJT bewirken würde, dass der MOSFET in Reaktion auf jedes positive Arduino-Signal entgegengesetzt leitet.

Angenommen, ein BJT wird verwendet, und während der BJT mit einem positiven Arduino-Signal eingeschaltet ist, würde der Mosfet ausgeschaltet, da sein Gate vom BJT-Kollektor geerdet würde, und die Last würde eingeschaltet, während der Arduino ausgeschaltet ist.

Grundsätzlich würde ein BJT das Arduino-Signal für das Mosfet-Gate invertieren, was zu einer entgegengesetzten Schaltantwort führen würde.

Um diese Situation zu korrigieren, werden zwei BJTs verwendet, so dass der zweite BJT die Antwort zurück invertiert und es dem Mosfet ermöglicht, für alle positiven Signale nur vom Arduino einzuschalten.

Abschließende Gedanken

Inzwischen sollten Sie die richtige Methode zum Verbinden von BJTs und Mosfets mit einem Mikrocontroller oder einem Arduino umfassend verstanden haben.

Möglicherweise haben Sie bemerkt, dass wir für die Integrationen hauptsächlich NPN-BJTs und N-Kanal-Mosfets verwendet und die Verwendung von PNP- und P-Kanal-Geräten vermieden haben. Dies liegt daran, dass NPN-Versionen ideal wie ein Switch funktionieren und während der Konfiguration leicht zu verstehen sind.

Es ist, als würde man ein Auto normal in Vorwärtsrichtung fahren, anstatt nach hinten zu schauen und im Rückwärtsgang zu fahren. In beiden Fällen würde das Auto fahren und sich bewegen, aber das Fahren im Rückwärtsgang ist viel ineffizient und macht keinen Sinn. Die gleiche Analogie gilt hier, und die Verwendung von NPN- oder N-Kanal-Geräten wird im Vergleich zu PNP- oder P-Kanal-Mosfets zu einer besseren Präferenz.

Wenn Sie irgendwelche Zweifel haben oder wenn Sie glauben, dass ich hier etwas verpasst habe, verwenden Sie bitte das Kommentarfeld unten für weitere Diskussionen.




Zurück: 2 einfache bidirektionale Motorsteuerungsschaltungen untersucht Weiter: Motorradknopf Sperrkreis starten