Hier ein paar N-MOSFET Treiber aus E-Schrott, die es auch schaffen das Gate mit mehreren Ampere und relativ hoher Frequenz umzuladen. Ziel war immer, dass man sämtliche Teile aus E-Schrott holen kann.
Die Treiber wurden zusätzlich mit LTSpice aufgebaut und im Anhang sind 7zip-Archive für alle.
Das Thema hier soll der Entwurf für einen Wiki-Artikel sein. Ergänzungen, Berichtigungen oder auch nur Hinweise auf offensichtliche Fehler sind ausdrücklich erwünscht. Genauso auch Fragen oder einfach nur "passt gerade irgendwie zum Thema". Wenn ihr weitere Treiberschaltungen habt, dann würde ich mich sehr freuen, wenn ihr die postet. Ich habe vor, 1-2 Wochen nachdem ich das hier gepostet habe, die Infos ins Wiki zu übertragen.
Die hier gezeigten Treiber hab ich schon mehrfach in unterschiedlichen Konfigurationen aufgebaut, jenachdem was gerade zur Hand war. Im Gegensatz zu integrierten Treibern wie dem TC44xx , der schon vom Anschauen umfällt, sind die hier auch ultra robust.
Steckbretter funktionieren so lala. Wer keine Lust auf Fehlersuche und Knallen hat, der sollte das zumindest als Drahtigel aufbauen. Meine Bastelaufbauten zeichne ich mit Folienstift auf ein Stück Platine, zeichne dann Lötinseln und ritze mit Teppichmesser, Stahllineal und kleiner Rundfeile die Inseln aus. So mache ich aus allen Bauteilen kurzerhand SMD. Löcher bohren und gedanklich spiegeln entfällt dadurch komplett.
Bauteile
BJTs:
• BC547, NPN, 45V/100mA, oft DVD Player und Radios, Schalter an LEDs in Consumer-Kram
• SS9013, NPN, 40V/500mA, wie BC547
• SS9014, NPN, 45V/100mA, wie BC547
• 2SC5706 NPN, 80V/5A, Schalt-Transistor von Mainboard DC/DC
• BC337/BC327, 45V/500mA, wie SS8550/SS8050
• SS8550/SS8050, 25V/1.5A, oft in DVD Playern nahe SCART Buchse viele davon
• 2SD882/2SB772, 30V/3A, zB. aus Kinderspielzeug (RC-Autos, Motoren)
MOSFETs:
• Si4946, Doppel N-MOS, SOIC8, 60V/61mOhm/6.5A, dieser und ähnliche zuhauf auf Laptop-Mainboards
• Si4425, P-MOS, SOIC8, 30V/12mOhm/11.4A
• IRF1010N, N-MOS, TO220, 55V/11mOhm/85A, z.B. aus Push-Pull 12V->230V Wandlern
MOSFETs von Mainboards:
• IPD060N03, N-MOS, 30V/6mOhm/50A
• IPD090N03, N-MOS, 30V/9mOhm/40A
Schottky Dioden:
• MBR20100, TO220/TO247 Doppel Diode, 2x 10A, 100V, aus ATX-Netzteilen, Motorsteuerungen
• SS39, Gehäuse, 90V/3A, auch andere SSxx Typen, z.B. DVD Player Netzteile, Standby ATX
• MBR360, 60V/3A, auch andere MBRxxx Typen, z.B. DVD Player Netzteile
• BAT54, 30V/200mA, zB. aus Netzteil, Radio, viele Niederspannungs-Schaltungen
Gate-Widerstände
Viele Schaltungen zeigen Gate-Widerstände und 1cm davor wird versucht mit total überdimensionierten Schaltungen mehrere Ampere ins Gate zu jagen.
Genau an dieser Stelle zählt jeder Millimeter und der Widerstand bringt gleich mehrere davon mit in das Layout.
Schon Leitungsinduktivitäten im Bereich einstelliger nH sind problematisch. Diese erzeugen das ungewollte Klingeln am Gate, Überspannungen und können den Transistor so zerstören. Dieses Problem mit Widerständen, inklusive ihrer zwangsläufigen Induktivität, zu bekämpfen ist keine Lösung, sondern nur herumpfuschen am Problem.
Bisher konnte ich mit Gate-Widerständen auch kein Klingel-Problem richtig lösen. Sobald der Widerstand das Klingeln beseitig hatte, war dieser so gross, dass er das Schaltverhalten zu sehr beeinflusst hat. Ich sehe die Widestände mittlerweile gar nicht mehr in der Schaltung vor. Stellt sich später einmal heraus, dass das ein Fehler war, kann die Leitung direkt am Gate aufgetrennt werden. Darüber wird ein SMD-Widerstand gelegt und verlötet.
Eng und sauber aufbauen ist das A und O. Leitungslänge macht Induktivität, Leitungen parallel zueinander machen Kapazität. Dreck vom Löten sorgt für Kriechströme.
Es gibt jedoch auch einen Grund für Gate-Widerstände. Als Beispiel sei hier genannt, das Beeinflussen von Rise- und Fall-Time um abgestrahlte Störungen zu minimieren.
Simulation + Realität
Ein FET-Treiber ist mit Spice-Tools schnell aufgebaut und tut auch was er soll. Dennoch gibt es ein paar Dinge, die man beachten muss, um Überraschungen auschzuschliessen.
• Die Versorgungsspannungen haben keinen unendlich kleinen Innenwiderstand. Beispielhaft für eine meiner Autobatterien vor Jahren (gemessen) nehme ich für 12V Versorgungen 50 bis 80 Milliohm.
• Induktivität der Emitter->Gate Leitung und Übergangswiderstände einer realen Schaltung sind nicht 0. In den Schaltplänen mit Rparasitic und Lparasitic bezeichnet. Der Übersichtlichkeit zuliebe lasse ich sie teilweise weg.
• Die Induktivität im Lastkreis ist extrem kritisch. Beispielhaft für "ganz kurze Leitungen": 1,5mm² Kupfer: 5mm Länge=1.66nH/59µOhm, 10mm=4.72nH/118µOhm. Man sieht, sogar die Beinchen machen etwas aus. Diese Werte stehen leider nur manchmal im Datenblatt, z.B. MBR20100 Schottky Diode von Littlefuse (TO220): “Typical Series Inductance per leg” (Ls) = 8nH.
• Die Freilaufdiode über der Last ist ein Muss. Eine LED an 1 Meter Kabel ist praktisch der Strick für den Transistor. Das wird offensichtlich, sobald man die Leitungsinduktivität im Lastkreis simuliert.
• Die reale PWM-Signalquelle geht in die Knie, wenn der Treiber zuviel Strom am Eingang braucht. Bei Simulationen die von einen Mikrocontroller-IO gesteuert werden sollen, gebe ich der Quelle ca. 40Ohm Innenwiderstand bei 5V Pegeln.
• Die Rise und Fall Time einer realen Schaltung, die am PWM Pin eines ATMega8 hängt, liegt bei ca. 5ns/5nS @ Iout=10mA. Ermittelt mit einem Uralt-Oszi, von dem ich nicht weiss wie genau das ist.
Die Schaltungen
Die ungefähren Gate-Ströme sind mit z.B. +3A/-4A angegeben.
Für N-MOS gilt:
Der positive Strom schliesst den Lastkreis (AN),
der negative Strom öffnet den Lastkreis (AUS).
Für P-MOS gilt genau das Gegenteil.
(Beispiel N-MOS)
Der erreichbare Gate-Strom hängt hauptsächlich vom Verstärkungsfaktor der Transistoren ab, sowie eventuellen Gate-Widerstand und dem “internen” Gate-Widerstand Rg. Diesen Wert findet man häufig im Datenblatt.
Treiber 000 - BC337/BC327
Dieser Treiber schafft an 12V ca. +200mA/-700mA Gate-Strom.
Die Schaltung ist sehr einfach und kann direkt an einen Port-Pin eines Mikrocontrollers.
Man muss bei dieser Schaltung beachten, dass sie invertiert. Das heisst, eine 0 am Eingang sorgt für Stromfluss im Lastkreis.
Die Transistoren Q2 und Q3 sind die Treiber, Q1 ist der Pegelwandler.
Verlustleistung von R2 im Auge behalten, hier 0.5W. Bei höherer Versorgungsspannung und/oder kleineren Werten anpassen.
Die Diode D3 sorgt dafür, dass Q1 nie komplett in die Sättigung geht und somit sehr schnell schalten kann. Eine weitere Massnahme zum Beschleunigen wäre ein 470p Kondensator parallel zu R1.
D1 und D2 sind unerlässlich, D2 ist die Freilaufdiode der Last, D1 schützt das Gate vor Überspannungen. In diesem Fall ist eine 15V-20V Zenerdiode passend. Vgs_max ist bei diesem Transistor +-20V.
Freilaufdiode D2 und Zener D1 können bei kompakten Schaltungen, mit nicht-induktiver Last direkt dran, in Ausnahmefällen weggelassen werden. Der Transistor M1 muss den “Rückschlag” der Leitungsinduktivität abkönnen.
Hier ein Auszug aus der Simulation:
Man die Verzögerung ganz deutlich, sowie den kürzesten Puls (50ns), der nicht mehr 100%ig ausreicht.
Ich habe diesen Treiber auch mit BC140/BC160 (40V/1A) aufgebaut. Die sind, meiner Meinung nach, ungeeignet. Dem Grund bin ich nicht nachgegangen, ich vermute aber es liegt schlicht an zu geringer Stromverstärkung.
Die BC327-25/BC337-25 mit den -40 (höhere Verstärkung) oder -16 (niedrigere) hat in der Simulation sowie in echt einen kaum erkennbaren Effekt.
Treiber 001 – BC337/BC327
Hier liegen die Ströme bei +0.5A/-0.9A.
Die Schaltung ist gleich und die Eigenschaften sind denen von Treiber 000 sehr ähnlich.
Der verwendete MOSFET und viele hunderte sehr ähnliche findet man üblicher weise auf Mainboards.
Hier bringt die selbe Schaltung noch etwas mehr Strom, als die letzte. Das liegt am kleinerem Rg von M1. Ausserdem ist der Pullup (R2) der Treiberstufe deutlich kleiner. Der muss jetzt auch stärker sein, 1W @ 12V.
Die 900mA Pulsbelastung von Q2 ist gerade noch so zulässig.
Treiber 002 - 2SD882/2SB882 an PWM-Controller
Da die Verstärkung der 2SD882/2SB882 nicht allzuhoch ist, eignen die sich super zum verstärken von schon vorhandenen FET-Treibern.
Die altbekannten UC384x haben +1A/-1A Treiber eingebaut. LT hat einen pinkompatiblen Ersatz entwickelt, die LT124x Reihe.
Oha! +-2.5A, schön symmetrisch, aus 12V mit nur zwei Transistoren, nichts weiter.
An 19V bringt der Treiber +-4.5A, was schon über der Spezifikation der Transistoren liegt.
Da die beiden Transistoren hier als Emitterfolger arbeiten, kann auf den Basis-Widerstand verzichtet werden. Jedoch muss man den maximalen Basisstrom einhalten. Die LT124x/UC384x haben eine relativ exakte Begrenzung auf +-1A eingebaut.
Überprüfen muss man den Wert “Base Current Ib” im Datenblatt. Bei den 2SD882/2SB772 ist Ib unter “Absolut Maximum Ratings” mit 1A angegeben.
Treiber 003 - 2 Stufen aus BC337/BC327 und BD139/BD140
Je nach Dimensionierung Gateströme bis ca.: 3.5A/3.5A @ 12V, 4.5A/6A @ 19V, 6A/9A @ 30V
Ströme mehr oder weniger unsymmetrisch.
Versuche mit BC327-40/BC337-40 und 2SD882/2SB772 zeigten keine Verbesserung der Verstärkung.
Hier ein Auszug aus der Simulation:
Rot = Das PWM Steuersignal
Hellblau = Strom im Lastkreis
Grün = Gate-Strom
Pink+Blau+Geld=Man sieht deutlich, die beiden Transistor-Stufen verzögern nahezu nicht. Das langsame Öffnen des Transistors ist bedingt durch dessen Gate-Charge. Das kann nur durch mehr Strom beschleunigt werden.
Treiber 004a - 2x 2SC5706
Gate Strom +1.5A/-2.5A bei 12V Versorgung.
Der 2SC5706 ist ein aussergewöhnlicher BJT:
• sehr geringe VCEsat
• hohe Stromtragfähigkeit
• hohe Stromverstärkung
Meine "Hand voll" 2SC5706 stammt von einem IBM Pentium 4 Mainboard. Meistens werden an dieser Stelle MOSFETs eingesetzt und umso neuer das Board, umso kleiner die Wahrscheinlichkeit, dass da BJTs drauf stecken.
Legt man an die Schaltung Spannung an, aber noch kein PWM Signal, passiert folgendes:
Q2 bekommt über R2 die positive Versorgung an die Basis.
Q2 leitet nun, VS-Vbe_Q2 kommt ans Gate, M1 wird leitend.
Diode D1 verhindert, dass das Gate von M1 über R2 aufgeladen wird (sonst wäre M1 dauerleitend).
Steuert man nun den Transistor Q1 durch, wird die Basis von Q2 über D1/Q1 auf GND+VF_D1+Vbe_Q1 gelegt.
M1 sperrt.
Man muss beachten, dass diese Schaltung das Gate nicht ganz so weit Richtung GND herunter ziehen kann, wie die letzten.
Je nach Diode und Transistor Q1 können da gleich mal 0.7-1.5V zusammen kommen. Manche Logic Level FETs fangen bei 1.5V schon an zu leiten bzw sperren nicht mehr komplett.
Ausserdem ist dieser Treiber nicht ganz so schnell im Schaltverhalten wie der Emitterfolger.
Treiber 004b - 2 Stufen aus 2x 2SC5706 und 2SD882/2SB772
Gate Strom +3A/-4A bei 12V Versorgung.
Die Schaltung aus 006a, verstärkt mit einem 2SD882/2SB772 Paar.
Treiber 005 - CD40106 + Si4946
Die Gate-Ströme liegen bei ca. +500mA/-500mA.
Läuft bei mir seit Jahren mit einem ATTiny2313 und 2 Stück Si4946 (1 Kanal ungenutzt) im Hausflur als Ersatz für die weissen LED-Kistchen an den bekannten LED-Stripes. Pro Kanal 1 CD40106 (alle 6 Ausgänge parallel).
Treiber 006 – Mit PC817 Optokoppler
Wenn die Schaltfrequenz nicht zu gross wird, dann kann man auch einen Optokoppler wie den PC817 als Treiber einsetzen. Der PC817 findet sich in nahezu jedem Schaltnetzteil. Ich würde behaupten neben dem TL431 eines der meistgenutzten Bauteile überhaupt.
Hier ein Beispiel mit 20kHz 50:50 Signal.
Treiber 007 - Direkt aus einem IO Pin
Natürlich kann man einen MOSFET auch direkt vom Mikrocontroller steuern. Man muss darauf achten, dass man einen Logic-Level-Typ erwischt. Diese finden sich z.B. auf Mainboards und Grafikkarten.
Je nach Stärke des IO-Pins kann man hier z.B. +20mA/-20mA erwarten.
Der Si4946 mit seiner recht grossen Gate-Charge kann dennoch erstaunlich gut umgeladen werden.
Rot = PWM Steuersignal
Blau = Strom durch die LEDs
Pink = Spannung am Gate (man sieht das Miller-Plataeu sehr deutlich)
Grün = Strom am Gate
Grau = Verlustleistung im MOSFET
Treiber 008a – P-FETs / AVR Application Note 450 Buck Converter
Es gibt eine Application Note von Atmel, die ein Akkuladegerät mittels AVR und zwei diskreten Buck Convertern realisiert. (Suchmaschine des Vertrauens: “AVR450 pdf”).
Der Titel “Battery Charger for SLA, NiCd, NiMH an Li-Ion Batteries” lässt aufhorchen und da das Board wohl nirgendwo mehr erhältlich sein wird, zumindest bezahlbar, habe ich die Schaltung mit LTSpice getestet.
Der eine Buck-Converter läuft mit einer PWM-Frequenz von 14kHz, der andere mit 100kHz. Beide arbeiten mit einer Auflösung von 8bit (256 Schritte). Das ergibt folgende Zeiten:
F_PWM = 14khz, t_period = 71.42µs, t_on_min = 279ns, t_on_max = 71.141µs
F_PWM = 100khz, t_period = 10µs, t_on_min = 39ns, t_on_max = 9.96µs
Beim ersten Blick darauf erscheinen die minimalen on/off Zeiten sehr sehr kurz. Da stellt sich die Frage, ob der Transistor überhaupt noch richtig öffnen/schliessen kann.
Hier erstmal das Beispiel am 14kHz-Buck:
Rot = 279ns Steuerimpuls
Grün = Hier sieht man deutlich, dass der Transistor deutlich länger braucht um den Stromfluss wieder zu sperren.
ca. 20µs, was ungefähr einer viertel Periodenlänge entspricht.
Den Screenshot mit 71.141uS on-Time (maximal) spare ich mir hier. Es reicht, wenn ich schreibe, dass der Transistor dauerleitet.
Da ein Converter aber in der Regel für ein duty cycle von 50% ausgelegt wird, ist das in diesem Fall (fast) kein Problem:
Treiber 008b – P-FETs / Ein bisschen mehr Power
Eine etwas verbesserte Version mit P-FET, +600mA/-1.8A an 12V.
Wer sieht die Ähnlichkeit zu Treiber 000? Der P-FET Treiber unterscheidet sich nur in umgedrehten Logik-Pegeln.
Schutz der Schaltungen
Ausgang der Transistorstufe
Der Ausgang der Transistorstufe kann mit zwei Schottky-Dioden davor geschützt werden, dass die Spannung an ihm tiefer als GND-Vf_diode oder als VS+Vf_diode steigt.
Zum Beispiel in den Datenblättern von Chips wie dem UC384x oder SG3525 gefordert.
Ich habe bei den ersten Versuchen diese Dioden immer mit eingebaut. Später siegte die Faulheit. Ich konnte bisher aber noch keine Probleme deswegen feststellen, mir ist noch nie die BJT Stufe eines MOSFET-Treibers abgeraucht.
Auch Lochraster- und Steckbrett-Aufbauten mit SG3525 ohne diese Diode haben keine Probleme gemacht.
Dennoch ist es nicht zu empfehlen, sich über Forderungen aus dem Datenblatt hinwegzusetzen. Um auf der sicheren Seite zu sein, sollte man die Dioden auf jeden Fall mit einbauen.
Gate
Das Gate ist der Empfindlichste Teil des MOSFETs. Die Zenerdiode schützt von Überspannungen. Der Pull-Down Widerstand hilft, den MOSFET geschlossen zum halten. Ansonsten könnten durch die Leitungsinduktivität zwischen Gate und den Emittern Spannungen im Bereich mehrerer Volt induziert werden und diese würden den Transistor ungewollt öffnen.
Der Wert der Zenerdiode muss <= Vgs_max und gleichzeitig > Vsupply sein.
Freilaufdiode
Wie schon mehrfach angesprochen, die Induktivität im Lastkreis hat das Potenzial, den Transistor beim ersten Abschalten zu zerstören. Hierbei werden so grosse Spannungsspitzen induziert, dass der Transistor schaden nimmt. Dagegen wird eine Freilaufdiode über der Last platziert.
Offene Eingänge
Offene Eingänge sind unbedingt zu vermeiden. Es empfiehlt sich einen Pull-Up oder Pull-Down Widerstand am Eingang hinzuzufügen. Je nachdem, wie herum die Logik ist. Der Widerstand soll bei Kontaktproblemen oder abgestöpseltem Steuersignal verhindern, dass Strom durch die Last fliessen kann.
Versorgung
Die Versorgungsspannung des Treibers sollte entweder durch eine Regelung oder durch ausreichendes Puffern abgesichert werden.
Schlechte Schaltnetzteile sollte man vermeiden.
Bei Batterieversorgung und guten Zellen, kann man meistens davon ausgehen, dass eine Regelung, nur Nachteile bringt. Man sorgt dafür, dass die Schaltung nicht bei leeren Batterien betrieben wird und die Batterien auch noch keinen zu hohen Innenwiderstand haben (Puffern!). Dann kommt der Treiber direkt an die Batterie.
Ein UVLO kann z.B. durch Unterdrückung des Steuersignals realisiert werden.
Appnotes und Links zum Thema
• Philipps/NXP TN90002 "H-bridge motor controller design using Nexperia discrete semiconductors and logic ICs". Enthält unter anderem auch einen 12V Buck Converter, geregelt durch einen 74xx14 Schmitt Trigger, diskrete charge pump, low+high side N-MOS Treiber, Dead Time in Hardware.
• Philipps/NXP AN11158 “Understanding power MOSFET data sheet parameters”
• Motorola AN1319/D "Design Considerations Low Voltage H Bridge N-MOS"
• Toshiba AN "MOSFET Gate Drive Circuit"
• TI SLUA618A "Fundamentals of MOSFET and IGBT Gate Driver Circuits"
Ausblick / Was noch fehlt (und vielleicht auch kommt):
• Darlington/Sziklai Transistoren, sind die schnell genug? Abwägen: Schaltzeiten/Ig_max
• Gate Ringing anhand einer Simulation erklären
• Gate Drive Trafos
• J-FETs (z.B. aus Mikrofon-Kapseln) als schneller Schalter in der Eingangsstufe/als Pegelwandler
• Analogschalter wie CD4066 mit 12V-15V supply als Treiber
• PWM Controller mit integriertem Treiber überfahren und so als Gate-Treiber missbrauchen
• Eine kurze Übersicht über (die wichgsten) MOSFET Parameter und warum der jeweilige Wert Interessant sein könnte bzw was man damit macht.
Diverse MOSFET-Treiber
Moderatoren: MaxZ, ebastler, SeriousD
-
- Beiträge: 7
- Registriert: So 21. Jun 2020, 12:17
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 5 Mal
Diverse MOSFET-Treiber
- Dateianhänge
-
- Treiber 008b - PFET - AVR450 improved.7z
- LTSpice Simulation MOSFET-Treiber
- (1.2 KiB) 266-mal heruntergeladen
-
- Treiber 008a - PFET - AVR450.7z
- LTSpice Simulation MOSFET-Treiber
- (1.01 KiB) 278-mal heruntergeladen
-
- Treiber 007 - NFET - Microcontroller IO-Pin.7z
- LTSpice Simulation MOSFET-Treiber
- (1.34 KiB) 271-mal heruntergeladen
-
- Treiber 006 - NFET - PC817.7z
- LTSpice Simulation MOSFET-Treiber
- (1.17 KiB) 295-mal heruntergeladen
-
- Treiber 005 - NFET - CD40106.7z
- LTSpice Simulation MOSFET-Treiber
- (7.11 KiB) 270-mal heruntergeladen
-
- Treiber 004b - NFET - 2x 2SC5706+2SD882+2SB772.7z
- LTSpice Simulation MOSFET-Treiber
- (1.93 KiB) 286-mal heruntergeladen
-
- Treiber 004a - NFET - 2x 2SC5706.7z
- LTSpice Simulation MOSFET-Treiber
- (1.53 KiB) 273-mal heruntergeladen
-
- Treiber 003 - NFET - BC547+BC327+BC337+BD139+BD140.7z
- LTSpice Simulation MOSFET-Treiber
- (1.52 KiB) 289-mal heruntergeladen
-
- Treiber 002 - NFET - LT124x+2SD882+2SB772.7z
- LTSpice Simulation MOSFET-Treiber
- (1.3 KiB) 276-mal heruntergeladen
-
- Treiber 001 - NFET - BC547+BC337+BC327.7z
- LTSpice Simulation MOSFET-Treiber
- (1.97 KiB) 291-mal heruntergeladen
-
- Treiber 000 - NFET - BC547+BC327+BC337.7z
- LTSpice Simulation MOSFET-Treiber
- (1.73 KiB) 291-mal heruntergeladen