Wenn Sie eine Anwendung mit einem Mikrocontroller erstellen, werden Sie irgendwann etwas steuern wollen. Dabei kann es sich um ein Gerät handeln, das nur wenig Strom benötigt, wie z. B. eine LED, oder um etwas, das etwas mehr Leistung benötigt, wie z. B. einen Gleichstrommotor. Viele Anfänger lernen schnell, dass Geräte wie ein Arduino oder Raspberry Pi schwere Lasten nicht direkt antreiben können. In solchen Fällen wird ein „Treiber“ benötigt, eine Schaltung, die das Steuersignal vom Mikrocontroller übernimmt, aber genug Leistung hat, um die Last zu betreiben.

MOSFETs sind in vielen Fällen perfekt, denn sie akzeptieren an ihrem Eingang (Gate) eine einfache Spannung, mit der ein größerer Strom über ihre Drain-Source-Pins gesteuert werden kann. Es gibt jedoch Fälle, in denen auch der MOSFET selbst einen Treiber benötigt. Schauen wir uns kurz die Rolle von MOSFETs als gesättigte Schalter an, bevor wir uns mit der Funktionsweise von MOSFET-Treibern beschäftigen.

 
Mit einem MOSFET können MCU-Boards, wie z. B. ein Arduino, große Lasten steuern, etwa einen Gleichstrommotor.

Low-Side-n-Kanal-MOSFETs zum Schalten

MOSFETs https://www.elektormagazine.com/tags/mosfet, insbesondere Enhancement-MOSFETs, gibt es in zwei Typen: n-Kanal und p-Kanal. n-Kanal-MOSFETs benötigen zum Einschalten eine höhere Spannung an ihrem Gate als an der Source. Die Spannung, bei der dies geschieht, ist die Schwellenspannung https://de.wikipedia.org/wiki/Schwellenspannung Vth. Wenn Sie ein beliebiges n-Kanal-MOSFET-Datenblatt zur Hand nehmen, werden Sie diesen Wert schnell finden. Beim Toshiba SSM3K56FS https://toshiba.semicon-storage.com/ap-en/semiconductor/product/mosfets/detail.SSM3K56FS.html, einem kleinen Hochgeschwindigkeitsschaltgerät, liegt Vth beispielsweise zwischen 0,4 V und 1,0 V bei einer Drain-Source-Spannung (VDS) von 3,0 V und einem Drain-Strom (ID) von 1 mA.


Solche MOSFETs können als Low-Side-Schalter verwendet werden, d. h., sie werden in einer einfachen Niederspannungs-Gleichstromanwendung zwischen der Last und der Schaltungsmasse platziert. So können wir einen 5-V-Arduino-Ausgangspin verwenden, der mit dem Gate eines SSM3K56FS verbunden ist, die Source mit der Masse verbinden und einen Motor zwischen einer 15-V-Versorgung und dem Drain des MOSFETs anschließen. Ein Widerstand (1 MΩ) zwischen Gate und Masse sorgt dafür, dass der MOSFET ausgeschaltet bleibt, wenn kein gültiges Steuersignal vom Arduino mehr anliegt.


Um das zu demonstrieren, wurde die Schaltung in LTspice simuliert https://www.analog.com/en/design-center/design-tools-and-calculators/ltspice-simulator.html. V2 emuliert den 5-V-Ausgang eines Arduino-I/O-Pins, während R2 als Last anstelle eines Motors verwendet wird (wir ignorieren den Unterschied zwischen einer ohmschen und einer induktiven Last). V1 ist die 15-V-Versorgung.

 
Verwendung eines MOSFET als Low-Side-Schalter – eine LTspice-Simulation

Die Signale zeigen, dass der Strom, der durch den MOSFET fließt, etwa 720 mA beträgt, wenn 5 V an das Gate angelegt werden, was unter dem zulässigen Höchstwert von 800 mA liegt.

 
Wenn ein Arduino 5 V an das MOSFET-Gate liefert, schaltet sich der Schalter ein und versorgt die Last mit Strom.

Bei der Lektüre des Datenblatts ist ein weiterer Punkt zu beachten. Wiederum am Beispiel des SSM3K56FS werden Sie feststellen, dass der Einschaltwiderstand RDS(ON) von VGS abhängig ist. Bei einer VGS von 1,5 V beträgt der RDS(ON) beispielsweise 840 mΩ, während er bei 4,5 V nur 235 mΩ beträgt. Der Unterschied ist hier zugegebenermaßen gering. Wenn man einen Motor antreibt, wird man wahrscheinlich keinen großen Unterschied zwischen einem Arduino, der das Gate mit 5 V antreibt, und einem Raspberry Pi, der es mit 3,3 V antreibt, feststellen.


Wenn Sie den MOSFET jedoch aufgrund seines überragend niedrigen On-Widerstands ausgewählt haben, sollten Sie bedenken, dass dieser nur bei der höheren Gate-Spannung erreicht wird. Laut Datenblatt beträgt die maximal zulässige Gate-Source-Spannung, GGSS, ±8 V, sodass viel Spielraum vorhanden ist. Das ist wichtig, weil im MOSFET Leistung verloren geht und die daraus resultierende Wärme, die er abführen muss, höher ist, wenn RDS(ON) größer ist.


Es gibt auch einen kleinen Nachteil beim Low-Side-Schalten. Da der Einschaltwiderstand des MOSFETs auf der niedrigen Seite zwischen der Last und Masse liegt, schwebt die Last (und damit der Drain-Pin des MOSFETs) leicht über Masse. In unserem Beispiel liegt der Drain-Pin auf 0,126 V.
 
Da sich der MOSFET auf der Low-Seite befindet, ist die Last nicht direkt mit der Masse der Anwendung verbunden.
Um die Analyse zu vervollständigen, sollten wir beachten, dass die Verlustleistung des MOSFETs etwa 90 mW (715 mA bei 0,126 V) beträgt. Dies liegt weit genug unterhalb der im Datenblatt angegebenen 150 mW. Für einen Motor ist diese Masseanhebung von geringer Bedeutung. Wenn Sie jedoch den durch den Motor fließenden Strom mit einem kleinen Widerstand messen möchten, benötigen Sie eine Differenzmessung https://www.ti.com/product/INA180 und keine Messung mit Bezug auf Masse.

Handelt es sich bei der Last um ein Gerät wie einen Arduino, ergibt sich ein zusätzliches Problem, da die Masse des Arduino nicht mehr mit der Masse der übrigen Anwendung übereinstimmt. Vielmehr ändert sie sich, wenn sich die Last ändert. Infolgedessen besteht die Gefahr von Fehlfunktionen, da die Masse des Arduino und die Masse anderer Schaltungen unterschiedlich sind.


Da die Last ständig mit der Stromversorgung verbunden ist, können Elektronen auch bei ausgeschaltetem MOSFET über andere Pfade, z. B. I/O-Pins, ihren Weg durch den Mikrocontroller zur Masse finden. Daher könnte der Arduino immer noch genug Strom bekommen, um zu arbeiten. Im schlimmsten Fall befindet er sich in einem undefinierten Brown-out-Zustand und führt alle möglichen seltsamen Aktionen aus.

In solchen Fällen sollte eine High-Side-Schaltung in Betracht gezogen werden.


High-Side-p-Kanal-MOSFETs zum Schalten

Wenn wir den n-Kanal-MOSFET durch ein p-Kanal-Modell ersetzen, können wir die Last zwischen dem MOSFET und Masse platzieren. Die Source des MOSFETs ist mit der Stromversorgung der Last verbunden, und die Last ist mit dem Drain verbunden. Das entsprechende Gegenstück zu dem zuvor erwähnten n-Kanal-MOSFET ist der Toshiba SSM3J56MFV https://toshiba.semicon-storage.com/ap-en/semiconductor/product/mosfets/detail.SSM3J56MFV.html. Allerdings stoßen wir sofort auf ein Problem.

 
Ein p-Kanal-MOSFET kann auf der High-Seite verwendet werden. Dies erfordert jedoch, dass das Gate von der Versorgungsspannung heruntergezogen wird, was die Grenzwerte eines Arduino I/O-Pins überschreitet.

Ein Blick in das Datenblatt zeigt, dass Vth mit -0,3 V bis -1,0 V angegeben ist (für VDS = -3.0 V und ID = -1 mA). Das bedeutet, dass das Gate etwa 1,0 V niedriger als die Source liegen muss, um sich einzuschalten. Bleibt man bei unserem vorherigen Beispiel mit einer 15-V-Versorgung für den Motor, muss das Gate 14 V erreichen, um den MOSFET einzuschalten. Bei einem Arduino oder Raspberry Pi mit ihren 5-V- bzw. 3,3-V-I/O-Pins ist das natürlich ein Problem, sodass ein zusätzlicher MOSFET oder Transistor erforderlich ist, um das Gate auf Masse zu ziehen.


Es gibt noch ein weiteres Problem. Den Daten zufolge beträgt der Einschaltwiderstand bei dieser Gate-Spannung etwa 4000 mΩ. Um den Einschaltwiderstand auf den niedrigsten Wert von 390 mΩ zu senken, muss die Gate-Spannung -4,5 V betragen. Dennoch sind dies immer noch 155 mΩ mehr als bei dem komplementären n-Kanal-MOSFET, den wir zuvor gesehen haben, und verdeutlicht ein weiteres Problem von p-Kanal-MOSFETs – ihren (im Vergleich) höheren RDS(ON).


Angenommen, es gäbe eine Möglichkeit für den Arduino, die Gate-Spannung um -5 V zu verschieben, würde der p-Kanal-High-Side-Schalter wie folgt reagieren:
 
Das Ziehen des Gates auf 5 V unterhalb der Versorgungsspannung schaltet den Schalter ein und versorgt die Last mit Strom. Die Frage ist, wie man dies mit einem Arduino oder Raspberry Pi verbinden kann.

Bei genauerer Betrachtung des Diagramms ist zu erkennen, dass die Source-Spannung im eingeschalteten Zustand 14,79 V erreicht und damit etwa 0,21 V unter der Versorgungsspannung von 15 V liegt. Bei einem Stromfluss von etwa 715 mA bedeutet dies, dass der MOSFET 150 mW aufnimmt, was genau an seiner Belastungsgrenze liegt.

Auch wenn p-Kanal-MOSFETs einfacher herzustellen sind, bieten n-Kanal-MOSFETs bei gleicher Größe einen geringeren Durchlasswiderstand. Es ist klar, dass wir, wenn möglich, besser einen n-Kanal-Baustein auf der High-Seite verwenden sollten.

Wie wir jedoch gesehen haben, müssen wir zum Einschalten eines n-Kanal-MOSFET die Gate-Spannung über die der Source setzen. Wenn wir den n-Kanal-MOSFET auf der High-Seite platzieren, haben Source und Drain beim Einschalten fast die gleiche Spannung, sodass das Gate auf mehrere Volt über dem Niveau der Versorgungsspannung der Anwendung gebracht werden muss.

Verwendung von Treibern mit n-Kanal-MOSFETs als High-Side-Schalter
 

Hier kommen MOSFET-Treiber ins Spiel. Diese cleveren kleinen Geräte akzeptieren ein Niederspannungs-Steuersignal an ihrem Eingang und wandeln es in die Spannung um, die erforderlich ist, um das Gate über den Source-Pin-Pegel des MOSFET zu bringen. Die höhere Spannung wird mit einer „Bootstrap“-Schaltung erzeugt, die eine Ladungspumpe verwendet, um die Gate-Spannung über die in der Anwendung verwendete Source-Spannung zu heben. Dies erhöht zwar die Kosten und die Komplexität einer Schaltung, aber die Entwickler profitieren von dem wesentlich umfangreicheren Angebot an n-Kanal-Leistungs-MOSFETs mit niedrigem Durchlasswiderstand und hohen Strömen, die zur Verfügung stehen.


Ein gutes Beispiel für einen MOSFET-Treiber für diesen Ansatz ist der LTC7004 von Analog Devices https://www.analog.com/en/products/ltc7004.html (früher Linear Technology). Dieser 10-Pin-Baustein, von dem nur neun Pins verwendet werden, benötigt neben dem gewählten MOSFET nur einen Kondensator, um als Schalter zu arbeiten. Der Eingangspin INP akzeptiert CMOS-Pegel-Eingangssignale bis zu 15 V. Am VCC-Pin ist außerdem eine Spannungsversorgung zwischen 3,5 V und 15 V erforderlich. Mit einem 0,1-µF-Kondensator zwischen dem Bootstrap-Pin BST und dem oberen (High-Side-) Source-Pin TS kann der LTC7004 der Source-Spannung eines MOSFETs von bis zu 60 V folgen. Der Baustein erzeugt eine Gate-Spannung von 12 V über der Source-Spannung. Außerdem verfügt er über eine Über- und Unterspannungssperre, die einen korrekten Betrieb gewährleistet.

 
Mit dem LTC7004 kann ein Mikrocontroller einen n-Kanal-MOSFET steuern, der als High-Side-Schalter eingesetzt wird, indem er die für das Gate erforderliche Steuerspannung erzeugt.
Wenn Sie einen 5-V-I/O-Pin eines Arduino zur Steuerung der Schaltung verwenden, können Sie sehen, wie der MOSFET-Treiber das Gate schnell von 0 V auf 24 V anhebt, also 12 V über die Versorgungsspannung der Last.

 
Ein 5-V-I/O-Signal von einem Arduino führt dazu, dass das MOSFET-Gate auf 12 V über der Versorgungsspannung der Last gebracht wird. Dies gewährleistet ein schnelles und sauberes Einschalten der Last.
Um die Verluste im MOSFET beim Schalten zu minimieren, ist es normalerweise erstrebenswert, so schnell wie möglich zu schalten. Bei Anwendungen, die nur gelegentlich ein- und ausgeschaltet werden, ist dies in der Regel weniger problematisch, bei Hochgeschwindigkeits-Schaltanwendungen wie Leistungswandlern (z. B. Abwärtswandlern) ist dies jedoch sehr viel wichtiger. Der LTC7004 bietet eine minimale Anstiegs-/Abfallzeit von 13 ns und maximale Werte von 90 ns (Anstieg) und 40 ns (Abfall).


Ein weiterer wichtiger Punkt ist der Strom, den das Gate von MOSFETs für Leistungsanwendungen benötigt. Die Kapazität am Gate (bekannt als Ciss) kann bei dem in diesem Beispiel verwendeten Infineon IPB039N10N3 https://www.infineon.com/cms/en/product/power/mosfet/n-channel/ipb039n10n3-g/ mehr als 8400 pF betragen. Wenn man den Einschaltpunkt heranzoomt, sieht man, dass der Gate-Strom einen Spitzenwert von etwa 3,2 A erreicht. Dies ist für schnell schaltende Leistungs-MOSFETs nicht ungewöhnlich und ein weiterer Grund, warum ein Mikrocontroller allein nicht geeignet ist, sie zu schalten, selbst bei Low-Side-Anwendungen. 

 
Es ist nicht ungewöhnlich, dass Leistungs-MOSFETs bei schnellen Schaltvorgängen mehrere Ampere an ihrem Gate benötigen.
Es ist zwar generell erstrebenswert, den MOSFET so plötzlich wie möglich einzuschalten, um ihn schnell aus dem Aus-Zustand in den Ein-Zustand mit dem niedrigsten Widerstand zu versetzen, doch kann dies bei einigen Anwendungen auch Probleme verursachen. Wenn der MOSFET zum Beispiel eine große kapazitive Last versorgt, kann der Einschaltstrom beträchtlich sein. MOSFET-Treiber wie der LTC7400 verfügen über zwei Pins zur Steuerung des Gates, einen für das Einschalten (TGUP) und einen für das Ausschalten (TGDN). Auf diese Weise lassen sich die Ein- und Ausschaltzeiten getrennt festlegen. Durch Hinzufügen eines kleinen RC-Netzwerks (100 kΩ/47 nF) zum TGUP-Ausgang lässt sich die Einschaltzeit verlangsamen und so der Einschaltstrom begrenzen. Ein zusätzlicher 10-Ω-Widerstand hilft, eventuelle Oszillationen zu begrenzen. Wenn die Ausschaltgeschwindigkeit angepasst werden muss, kann ein Widerstand in den TGDN-Pfad eingefügt werden. 

 
Dank separater Ein- und Ausschaltpins kann die Schaltgeschwindigkeit der steigenden und fallenden Flanken gesteuert werden.
Der Stoßstrom in der kapazitiven Last ist nun auf etwa 180 mA gesunken und die Spannung an der Last steigt mit etwa 2 V/ms an.

 
Die an der kapazitiven Last anliegende Spannung steigt nun mit etwa 2 V/ms an, wodurch der Einschaltstrom auf etwa 180 mA begrenzt wird.

MOSFET-Treiber vereinfachen die Konstruktion von High-Side-Schaltern

Leistungs-MOSFETs sind ideal für die Steuerung großer Lasten, wie z. B. Motoren, über Mikrocontroller-basierte Plattformen wie Arduino und Raspberry Pi. Aufgrund ihrer besseren Gesamtleistung und ihres niedrigeren RDS(ON) ist die Auswahl an n-Kanal-MOSFETs jedoch viel größer als bei p-Kanal-MOSFETs.


Wenn Sie den Schalter auf der High-Seite Ihres Steuerkreises platzieren möchten, muss die an das n-Kanal-MOSFET-Gate angelegte Spannung höher sein als die Spannung an der Source. Außerdem benötigen Leistungs-MOSFETs einen beträchtlichen Strom am Gate, um schnell vom Aus-Zustand in den niedrigsten Ein-Widerstand zu schalten, was erforderlich ist, um die Verlustleistung im MOSFET zu minimieren. MOSFET-Treiber wie der LTC7004 lösen dieses Problem, indem sie die Gate-Spannung und den Strom erzeugen, die für ein sauberes, schnelles Einschalten als Reaktion auf das Steuersignal des von Ihnen gewählten Mikrocontroller-Entwicklungsboards erforderlich sind.

LTspice-Beispiele:


Beispiel eines NMOS-Schalters:
V1 N001 0 15V
R2 N001 drain 20.8R
XU1 drain gate 0 NMOS_SSM3K56FS
V2 gate 0 PULSE(0 5 100u 10n 10n 250u 500u 1)
R1 gate 0 1Meg
.tran 500us
.meas TRAN Vd-on MIN V(drain)
.lib Contrib/Toshiba/nmos/SSM3K56FS.lib
.backanno
.end

Beispiel eines PMOS-Schalters:
V1 N001 0 15V
V2 N001 gate PULSE(0 5 100u 10n 10n 250u 500u 1)
R2 drain 0 20.8R
XU1 drain gate N001 PMOS_SSM3J56MFV
R1 N001 gate 1Meg
.tran 500us
.meas TRAN Vd-on MAX V(drain)
.lib Contrib/Toshiba/pmos/SSM3J56MFV.lib
.backanno
.end

Beispiel eines einfachen LTC7004-Schalters:
V1 N001 0 12
V2 inp 0 PULSE(0 5 100m 10n 10n 200m 1000m)
M1 supply gate source source IPB039N10N3
C1 source 0 100u Rser=7m
V3 supply 0 12V
C2 N002 source .1u
XU1 N001 0 0 inp 0 gate gate source N002 LTC7004
R1 source 0 2.5R
.model NMOS NMOS
.model PMOS PMOS
.lib C:\Users\<USER>\Documents\LTspiceXVII\lib\cmp\standard.mos
.tran 500m startup
.lib LTC7004.sub
.backanno
.end

Beispiel eines einfachen LTC7004-Schalters mit gesteuerter Anstiegszeit:
V1 N002 0 12
V2 inp 0 PULSE(0 5 100m 10n 10n 200m 1000m)
M1 supply gate source source IPB039N10N3
C1 source 0 100u Rser=7m
V3 supply 0 12V
C2 N001 source .1u
XU1 N002 0 0 inp 0 gate N003 source N001 LTC7004
R1 source 0 2.5R
R2 gate N004 10R
C3 N004 0 47n
R3 gate N003 100k
.model NMOS NMOS
.model PMOS PMOS
.lib C:\Users\<USER>\Documents\LTspiceXVII\lib\cmp\standard.mos
.tran 500m startup
.lib LTC7004.sub
.backanno
.end 

 

Übersetzung: Jörg Starkmuth