Was ist die herkömmliche Schaltung zur Steuerung eines P-MOSFET mit MCU?

Wie ein P-MOSFET funktioniert, ist klar, es gibt viele Dokumentationen im Internet. Aber was die Standardschaltung ist, um sie als idealen Schalter mit einer MCU zu verwenden, ist meiner Meinung nach nicht so klar.

Ich habe gesehen, dass es viele Schaltungen gibt, die einen vorgeschalteten NPN-Transistor oder einen N-MOSFET verwenden, um das Gate eines P-MOSFET zu steuern. Und wie sie funktionieren, ist sehr klar. Allerdings muss jeder dieser Schaltkreise eine Spannung schalten, die höher ist als die Spannung der MCU.

Angesichts dieser Schaltung:

Geben Sie hier die Bildbeschreibung ein

Es scheint mir nicht, dass dies ohne eine vorgeschaltete Komponente funktionieren könnte, die mit GND the Gate verbunden wird, da der digitale Pin des Arduino kein Open-Drain-INPUT ist, sondern wie ein OUT funktioniert. Mit anderen Worten, Spannung oder keine Spannung. Dies sind meine Überlegungen zu dieser Schaltung. Bitte helfen Sie mir und allen, die Beantwortung dieser Punkte zu verstehen:

  1. Die Pull-up-Widerstandsfunktion dient dazu, den Standardzustand des P-MOS-Gatters zu definieren. Der Pull-up bringt das Gate in diesem Fall auf +5 V. Also Standardzustand = AUS
  2. Wenn der digitale Arduino-Pin +5 V beträgt, bleibt das Gate immer noch bei +5 V.
  3. Wenn der digitale Arduino-Pin 0 V beträgt, ist das Gate immer noch +5 V, da der Arduino-Pin kein Open-Drain-Pin ist. Mit anderen Worten, dieser Pin verbindet sich nicht mit GND, lässt den Strom fließen und bringt den Pin in den digitalen Status 0.

Liege ich falsch?

Die GPIOs von Arduino sind Push-Pull, schalten also auf Vcc oder auf GND um, sofern sie nicht als Eingänge konfiguriert sind.
Verwandte Informationen hier .
Überprüfen Sie die Drain- und Source-Anschlüsse an Ihrem Transistor. In welche Richtung fließt typischerweise Strom?
Bei Ihrem schematischen Symbol sind D und S vertauscht! Ich muss auch sagen, dass die Verwendung von gemeinsamem Plus verwirrend sein kann, wenn Sie später die Last mit einer anderen Spannung ansteuern. Außerdem haben P-Kanal-MOSFETs typischerweise einen schlechteren Innenwiderstand. Verwenden Sie daher einen N-Kanal-MOSFET im gemeinsamen Negativ. Und entfernen Sie den Strombegrenzungswiderstand. Es ist nur für Bipolare und zeigt, wie Sie nicht wissen, was Sie tun. Stellen Sie sicher, dass Ihre Last nicht sehr anspruchsvoll ist, da 5 V zum Einschalten eines MOSFET nicht optimal sind.

Antworten (3)

Sie geben an:

3. Wenn der digitale Arduino-Pin 0 V beträgt, ist das Gate immer noch +5 V, da der Arduino-Pin kein Open-Drain-Pin ist. Mit anderen Worten, dieser Pin verbindet sich nicht mit GND, lässt den Strom fließen und bringt den Pin in den digitalen Status 0.

Dies ist ein Missverständnis einer CMOS-Ausgangsstufe, die kein Open-Drain ist:

Es sieht aus wie das:

CMOS-Ausgangsstufe

Da dies eine Gegentaktschaltung ist (im Normalbetrieb immer auf die Schienen getrieben), ist entweder der obere Transistor eingeschaltet (Ausgang hoch) oder der untere Transistor eingeschaltet (Ausgang niedrig; in beiden Fällen kann Strom fließen.

Update zu aktuellen Bedenken:

Wenn der Ausgang hoch ist und sich daher auf demselben Pegel wie der externe PMOS-Drain befindet, fließt kein Strom (weil die Spannung zwischen ihnen null oder sehr nahe daran ist). Wenn der Ausgang niedrig ist, fließt ein Strom von 5 V / externes PMOS-Gate zum Source-Widerstand.

Es ist nicht ungewöhnlich, Widerstände in der Größenordnung von 100 k zu sehen Ω in diesem Anwendungsfall.

Ich stimme Olin voll und ganz zu, dass der Steuerstift zum Gate-Widerstand unnötig ist.

Ok, also müssen wir uns in beiden Fällen um den maximalen Nennstrom des Pins kümmern.

Die von Ihnen gezeigte Schaltung sollte funktionieren, wenn der FET mit -5 V gs sinnvoll eingeschaltet werden kann und der Pullup viel größer ist als der Vorwiderstand.

Den ersten Widerstand braucht man sowieso nicht. Sie könnten das Gate einfach mit einem schwachen Pullup an einen 0-5-V-Mikrocontrollerausgang anschließen, um sicherzustellen, dass es hoch ist, bevor die Firmware den Pin auf eine niedrige Impedanz setzen und hoch treiben kann. Das Setzen des Pullups nach dem Vorwiderstand erzeugt einen Spannungsteiler, der die Gate-Ansteuerung reduziert, was wahrscheinlich nicht wünschenswert ist.

@Tut: Ja, geklärt.

Sie müssen einen Widerstand zwischen dem Arduino-Ausgang und dem Gate platzieren, um den Strom zu begrenzen, der in den durch das Gate gebildeten Kondensator fließt. Dies wird hier sehr gut erklärt Mosfet-Gate-Widerstand

Der Artikel schlägt vor, dass Sie einen Widerstand von 100 - 220 Ohm verwenden sollten, um den Strom vom Arduino auf sichere Werte zu begrenzen (Kompromiss zwischen Schaltgeschwindigkeit und Strom).