PHP-Script für LoRaWAN Sensordaten
07.07.2024
Elektronik | Funk | Software
Der Technik-Blog
Die H-Brücke oder auch der 4-Quadranten-Betrieb genannt, ist eine Verschaltung von MOSFETs zur Steuerung von Gleichstrommotoren. Durch die Ansteuerungen bestimmter MOSFETs kann dadurch ein DC-Motor umgepolt werden und somit die Drehrichtung bestimmt werden. Darüber hinaus kann mit dieser Schaltung der Motor auch gebremst werden. Eine Steuerung der Geschwindigkeit mit PWM ist ebenfalls möglich. In diesem Artikel geht es um den Aufbau einer H-Brücke mit MOSFETs für den Betrieb mit Mikrocontrollern wie Arduino, ESP32, STM & Co.
Grundlagen MOSFET am Mikrocontroller
Grundlagen PullUp/PullDown Widerstand
Als Leistungshalbleiter kommen vier MOSFETs zum Einsatz. Zwei davon sind IRL N-Kanal MOSFETs (Logic Level MOSFET) und bei den anderen zwei handelt es sich um herkömmliche IRF P-Kanal MOSFETs. Außerdem werden zwei handelsübliche NPN-Transistoren zur Ansteuerung der P-Kanal MOSFETs benötigt. Außerdem werden noch einige Widerstände und vier Dioden benötigt.
Achtung: Handelsübliche N-Kanal MOSFETs (IRF) dürfen für diese Schaltung nicht verwendet werden, da diese eine Gate-Spannung von 10 Volt benötigen. Logic Level MOSFETs hingegen Schalten bereits ab 5 bzw. 3,3 Volt voll durch und können direkt an den I/O-Pin angeschlossen werden. P-Kanal MOSFETs sind hiervon nicht betroffen, da diese ohnehin über die Transistoren mit einer Spannungsdifferenz von mindestens 10 Volt geschalten werden. Weitere Informationen dazu gibt es in folgenden Artikel: Grundlagen: MOSFETs und Mikrocontroller
Die H-Brücke besteht aus insgesamt vier Schaltern (MOSFETs in weiterer Folge). Je nach Schalterstellung kann der Motor in den Linkslauf oder Rechtslauf versetzt werden. Die folgende Grafik zeigt eine vereinfachte Darstellung der H-Brücke.
Im Vorwärtslauf sind S1 und S4 aktiviert. Die Stromversorgung läuft nun vom Pluspol über S1 zum Motor und geht nach dem Motor über S4 weiter zum Minuspol. S2 und S3 dürfen nicht geschlossen werden!
Im Rücklauf sind S2 und S3 aktiviert. Die Stromversorgung läuft nun vom Pluspol über S2 zum Motor und geht nach dem Motor über S3 weiter zum Minuspol. S1 und S4 dürfen nicht geschlossen werden!
Bei den Widerständen R5 und R6 handelt es sich um klassische Vorwiderstände für die NPN Transistoren. Die NPN-Transistoren (T1, T2) dienen zur Ansteuerung der P-Kanal MOSFETs (Q1, Q3). Liegt an der Basis vom jeweiligen NPN-Transistor eine positive Spannung an, so schaltet dieser durch. Durch diesen Vorgang entsteht am Gate vom P-Kanal MOSFET ein negatives Potential, was zum Durchschalten des P-Kanal MOSFET führt. Auch hier befinden sich wieder Vorwiderstände (R7, R8) zur Strombegrenzung zwischen Transistor und MOSFET. Sobald die Spannung an T1 oder T2 abfällt, sperren diese und der jeweilige P-Kanal MOSFET schaltet ab. Damit die Abschaltung schnell und richtig funktioniert, wird ein Pull-Up Widerstand (R3, R4) benötigt. Diese Widerstände sind recht hochohmig, sodass nur ein geringer Strom fließen kann. Sind die Transistoren ausgeschaltet, so liegt am Gate vom jeweiligen P-Kanal MOSFET die Versorgungsspannung (+12V) an. Der MOSFET wird dadurch in einen sperrenden Zustand versetzt.
Die N-Kanal MOSFETs (Q2, Q4) können direkt an den digitalen Ausgang des Mikrocontrollers angeschlossen werden. Es handelt sich hierbei um IRL-MOSFETs, welche abhängig vom Typ bereits bei 3,3 oder 5 Volt voll durchschalten. Ein Vorwiderstand ist hier nicht unbedingt notwendig. Die Widerstände R1 & R2 fungieren hier wie bei den P-Kanal MOSFETs als Pegelzieher (PullDown). Sobald der digitale Ausgang auf Low schaltet, drücken die Widerstände (R1, R2) den Pegel nach unten und am Gate liegt die Masse an, was den MOSFET wieder in einen sperrenden Zustand versetzt.
Bei den Dioden (D1 bis D4) handelt es sich um Freilaufdioden, welche beim Betrieb mit induktiven Lasten notwendig sind.
Nachfolgend der vereinfachte Schaltplan mit angeschlossen Arduino ohne Freilaufdioden:
Es ist möglich, die Drehzahl von einem angeschlossenen Motor mit PWM (Pulsweitenmodulation) zu steuern. Grundsätzlich sollte man auf eine Parallelschaltung von den zwei agierenden MOSFETs in der H-Brücke verzichten. Zuerst wird der P-Kanal MOSFET aktiviert und somit der Pluspol zum Motor durchgeschaltet. Anschließend wird mit PWM der Minuspol zeitweise durchgeschaltet, was zum Andrehen des Motors führt. PWM kann auch umgekehrt über den P-Kanal MOSFET erzeugt werden, jedoch kann es dadurch insbesondere bei High-PWM zu Problemen kommen. Außerdem ist der vorgeschaltete NPN-Transistor oft nicht für extrem schnelle Schaltungen geeignet. Der nachfolgende Screenshot zeigt, wie zuerst der P-Kanal MOSFET (Gelb) eingeschaltet wird und anschließend über den N-Kanal MOSFET (Blau) eine PWM erzeugt wird. Nachdem der N-Kanal MOSFET wieder dauerhaft ausgeschaltet ist, schaltet auch der P-Kanal MOSFET wieder ab:
Der Beispielcode lässt mit PWM einen Gleichstrommotor langsam anlaufen. Der Motor bleibt dann für etwa zwei Sekunden durchgehend eingeschaltet und wird anschließend wieder langsam mit PWM abgeschaltet. Danach wird umgepolt und der Motor mit PWM erneut hochgefahren. Dieser Vorgang läuft in einer endlosen Schleife weiter.
//More Information at https://www.aeq-web.com/ int P_FET_Q1 = 2; int N_FET_Q4 = 3; int P_FET_Q3 = 8; int N_FET_Q2 = 9; int PWM = 0; void setup() { pinMode(P_FET_Q1, OUTPUT); pinMode(N_FET_Q2, OUTPUT); pinMode(P_FET_Q3, OUTPUT); pinMode(N_FET_Q4, OUTPUT); } void loop() { digitalWrite(P_FET_Q1, HIGH); delay(10); //Drive Forward (0% -> 99%) while (PWM < 255) { analogWrite(N_FET_Q4, PWM); PWM++; delay(10); } //Drive Forward (99% -> 0%) while (PWM > 0) { analogWrite(N_FET_Q4, PWM); PWM--; delay(10); } PWM = 0; digitalWrite(N_FET_Q4, LOW); digitalWrite(P_FET_Q1, LOW); delay(1000); digitalWrite(P_FET_Q3, HIGH); delay(10); //Drive Backward (0% -> 99%) while (PWM < 255) { analogWrite(N_FET_Q2, PWM); PWM++; delay(10); } //Drive Backward (99% -> 0%) while (PWM > 0) { analogWrite(N_FET_Q2, PWM); PWM--; delay(10); } PWM = 0; digitalWrite(N_FET_Q2, LOW); digitalWrite(P_FET_Q3, LOW); delay(1000); }
Der folgende Screenshot zeigt die endgültige Ausgangsspannung (mit angeschlossenen Lastwiderstand ~2,5 A), welche durch Schaltung und Software erzeugt wird:
Die für den Versuchsaufbau verwendeten Bauteile befinden sich in den nachfolgenden Tabellen:
Bauteil | Typ |
---|---|
R1, R2, R3, R4 | 10 K |
R5, R6, R7, R8 | 330 Ohm |
T1, T2 | BC547 |
D1, D2 | 1N4007 |
In Teil 1 der Reihe Schaltnetzteile Grundlagen geht es um die Primärseite. Dazu werden wir ein vorhandenes SNT zerlegen und Bauteil für Bauteil analysieren
WeiterlesenDC Motoren können mit zwei Wechselrelais recht einfach umgepolt werden. Mit diesen Relais kann die Drehrichtung des Gleichstrommotors geändert werden
WeiterlesenAEQ-WEB © 2015-2024 All Right Reserved