6  H-Brücke

Der Markt für DC-Motoren belief sich im Jahr 2022 auf ca. 20,1 Milliarden US-Dollar und es wurde erwartet, dass sich das Volumen bis 2031 auf 49,3 Milliarden erhöht [1]. Jeder dieser Motoren braucht eine mehr oder weniger komplizierte Ansteuerung. Eine mögliche Ansteuerung soll hier gezeigt werden.

Ziel
Es soll eine Schaltung entworfen werden, welche es erlaubt, einen DC-Motor in folgenden Betriebsarten zu betreiben:

Bei den ersten beiden Punkten soll es möglich sein, die Drehzahl mittels Puls-Weiten-Modulation (PWM) zu ändern.

Lernziele

Hilfestellung

Video: Hierarchisches Design
Altium Hilfe: Multi-sheet & Hierarchical Designs in Altium Designer

6.1 Beschreibung der H-Brücke

Im einfachsten Fall wird die Stromversorgung, welche eine entsprechende Leistung hat, mit einem Schalter eingeschaltet und der Motor dreht sich. Um einen Motor drehzahlgesteuert zu betreiben, bedarf es ein Steuersignal und der entsprechenden Leistung für den Motor. In den meisten Fällen ist es so, dass das Steuersignal selbst nicht ausreichend Leistung hat, da es aus einem Mikrocontroller kommt.
Mit Schaltung Abbildung 4.1 kann ein Motor drehzahlgesteuert betrieben werden. Der MOSFET verstärkt dabei die Leistung des Steuersignales. Die Leistung wird von der Quelle \(U_q\) zur Verfügung gestellt. Allerdings lässt sich dabei die Drehrichtung nicht ändern.
Um die oben geforderten Betriebszustände zu erreichen, bedarf es der H-Brücke, auch Vier-Quadranten-Steller genannt, in Abbildung 6.1.

Abbildung 6.1: H-Brücke [2]

6.1.1 Funktionsweise

Für die Erklärung der Funktionsweise werden die MOSFET’s durch gedachte Schalter ersetzt. Dies ist zulässig, da der MOSFET als Schalter betrieben werden kann. Siehe dazu Kapitel 4.1.

Abbildung 6.2: Ersatzschaltbild H-Brücke mit Schaltern

\(S_1, S_2, S_ 3\) und \(S_4\) stellen dabei Potentiale dar. Zur Erinnerung, ein MOSFET schaltet, wenn die Spannung zwischen Gate und Source, \(U_{GS}\), die Threshold-Spannung \(U_{GS,Threshold}\) überschreitet.

Der Trick ist, den Stromfluss durch den Motor für Rechtslauf und Linkslauf umzukehren. Dies gelingt wie folgt.

6.1.1.1 Linkslauf

Abbildung 6.3: Ersatzschaltbild H-Brücke mit Schaltern, Linkslauf

Transistoren \(S_2\) und \(S_3\) müssen durchschalten. Transistoren \(S_1\) und \(S_4\) müssen gesperrt sein.

6.1.1.2 Rechtslauf

Abbildung 6.4: Ersatzschaltbild H-Brücke mit Schaltern, Rechtslauf

Transistoren \(S_1\) und \(S_4\) müssen durchschalten. Transistoren \(S_2\) und \(S_3\) müssen gesperrt sein.

6.1.1.3 Bremsen

Um den Motor zu bremsen, muss er kurzgeschlossen werden. Daraus ergibt sich, dass die Transistoren \(S_2\) und \(S_4\) durchgeschaltet sind und die Transistoren \(S_1\) und \(S_3\) gesperrt sind.

Abbildung 6.5: Ersatzschaltbild H-Brücke mit Schaltern, Bremsen

6.2 Entwicklung der Logik

6.2.1 Von der Wahrheitstabelle zur Booleschen Gleichung

Zunächst muss in der Zuordnungstabelle der Zusammenhang zwischen dem logischen Zustand und dem physikalischen Wert definiert werden.

Eingang / Ausgang Bezeichnung Zuordnung Beschreibung
Eingang E … Enable 0 … Disabled; 1 … Enabled Damit wird die Schaltung betriebsbereit. Ist Enable deaktiviert, kann an den anderen Eingängen ein beliebiges Signal anliegen, der Motor darf sich trotzdem nicht bewegen.
Eingang B … brake 0 … Disabled; 1 … Enabled Aktivierung des Bremsbetriebs. Hat Vorrang über die Richtungswahl.
Eingang D … Direction 0 … Linkslauf; 1 … Rechtslauf Gibt die Drehrichtung vor.
Eingang P … PWM PWM Signal Gibt die Drehzahl vor.
Ausgänge S1, S2, S3, S4 0 … MOSFET aus; 1 … MOSFET ein Steuersignal für die Transistoren. Diese entsprechen noch nicht dem benötigten Potentialen!
Tabelle 6.1: Zuordnungstabelle

In der Wahrheitstabelle wird nun der Schaltzustand der Ausgänge in Abhängigkeit der Eingänge definiert. Das PWM Signal soll nur auf die Transistoren T2 und T4 wirken. Die Transistoren T1 und T3 sollen nur durch die Eingänge E, B und D gesteuert werden. In der H-Brücke werden die Transistoren T1 und T3 in der Regel dazu verwendet, die Richtung des Stromflusses und damit die Drehrichtung des Motors zu steuern. Die Transistoren T2 und T4 werden dann mit einem PWM-Signal gesteuert, um die Geschwindigkeit des Motors zu regeln. Die Verwendung von PWM nur für die unteren Transistoren (T2 und T4) hat mehrere Vorteile, darunter eine verbesserte Energieeffizienz, eine reduzierte Wärmeentwicklung und einen besseren Schutz des Motors.

Code
##| echo: false
#| label: #tbl-WahrheitstabelleS1S3
#| tbl-cap: Wahrheitstabelle für Transisoren T1 und T3

import pandas as pd

dfS1S3 = pd.read_csv('HBrücke_WahrheitstabelleS1S3.csv',sep=';')

#display(dfS1S3)

#display(Markdown(dfS1S3.to_markdown(index=False,tablefmt="github", colalign ='center')))
display(Markdown(dfS1S3.to_markdown(index=False,tablefmt="github")))
Enable Direction Brake S1 S3
0 0 0 0 0
0 0 1 0 0
0 1 0 0 0
0 1 1 0 0
1 0 0 0 1
1 0 1 0 0
1 1 0 1 0
1 1 1 0 0
Code
##| echo: false
#| label: #tbl-WahrheitstabelleS2S4
#| tbl-cap: Wahrheitstabelle für Transisoren T2 und T4

import pandas as pd

dfS2S4 = pd.read_csv('HBrücke_WahrheitstabelleS2S4.csv',sep=';')


display(Markdown(dfS2S4.to_markdown(index=False,tablefmt="github", colalign ='center')))
PWM Enable Direction Brake S2 S4
0 0 0 0 0 0
0 0 0 1 0 0
0 0 1 0 0 0
0 0 1 1 0 0
0 1 0 0 0 0
0 1 0 1 1 1
0 1 1 0 0 0
0 1 1 1 1 1
1 0 0 0 0 0
1 0 0 1 0 0
1 0 1 0 0 0
1 0 1 1 0 0
1 1 0 0 1 0
1 1 0 1 1 1
1 1 1 0 0 1
1 1 1 1 1 1

Mittels KV-Diagram oder Boolescher Algebra kann aus der Wahrheitstabelle die einfachste Boolesche Gleichung ermittelt werden.

Hinweis

\(\bar{A} = \neg A\)

Code
##| echo: false


from sympy.logic import SOPform
from sympy.logic.boolalg import to_cnf, to_dnf, ANFform


PWM = MySymbol('P',description='PWM Eingang')
Enable = MySymbol('E',description='Enable Eingang')
brake = MySymbol('B',description='brake Eingang')
Direction = MySymbol('D',description='Direction Eingang')
EingaengeS1S3 = [Enable, Direction, brake]
EingaengeS2S4 = [PWM, Enable, Direction, brake]

S1 = MySymbol('S1',description='Steuersignal Transistor 1')
mintermsS1 = dfS1S3[dfS1S3['S1'].isin([1])].iloc[:,0:3].values.tolist()
S1eq = Eq(S1,POSform(EingaengeS1S3, mintermsS1))
#S1eq = Eq(S1,SOPform(EingaengeS1S3, mintermsS1))
display(S1eq)

S3 = MySymbol('S3',description='Steuersignal Transistor 3')
mintermsS3 = dfS1S3[dfS1S3['S3'].isin([1])].iloc[:,0:3].values.tolist()
#S3eq = Eq(S3,POSform(EingaengeS1S3, mintermsS3))
S3eq = Eq(S3,SOPform(EingaengeS1S3, mintermsS3))
display(S3eq)


S2 = MySymbol('S2',description='Steuersignal Transistor 2')
mintermsS2 = dfS2S4[dfS2S4['S2'].isin([1])].iloc[:,0:4].values.tolist()
S2eq = Eq(S2,(POSform(EingaengeS2S4, mintermsS2)))
display(S2eq)
#display(Eq(S2,to_cnf(SOPform(Eingaenge, mintermsS2),simplify=True)))


S4 = MySymbol('S4',description='Steuersignal Transistor 4')
mintermsS4 = dfS2S4[dfS2S4['S4'].isin([1])].iloc[:,0:4].values.tolist()
S4eq = Eq(S4,POSform(EingaengeS2S4, mintermsS4))
display(S4eq)
#display(Eq(S4,SOPform(Eingaenge, mintermsS4)))

\(\displaystyle S_{1} = D \wedge E \wedge \neg B\)

\(\displaystyle S_{3} = E \wedge \neg B \wedge \neg D\)

\(\displaystyle S_{2} = E \wedge \left(B \vee P\right) \wedge \left(B \vee \neg D\right)\)

\(\displaystyle S_{4} = E \wedge \left(B \vee D\right) \wedge \left(B \vee P\right)\)

Zur Überprüfung werden aus den Gleichungen die Wahrheitstabellen erstellt und mit den oben definierten Wahrheitstabellen verglichen.

E D B S1 S3
0 0 0 0 0
0 0 1 0 0
0 1 0 0 0
0 1 1 0 0
1 0 0 0 1
1 0 1 0 0
1 1 0 1 0
1 1 1 0 0
Tabelle 6.2: Wahrheitstabelle Kontrolle T1 und T3
P E D B S2 S4
0 0 0 0 0 0
0 0 0 1 0 0
0 0 1 0 0 0
0 0 1 1 0 0
0 1 0 0 0 0
0 1 0 1 1 1
0 1 1 0 0 0
0 1 1 1 1 1
1 0 0 0 0 0
1 0 0 1 0 0
1 0 1 0 0 0
1 0 1 1 0 0
1 1 0 0 1 0
1 1 0 1 1 1
1 1 1 0 0 1
1 1 1 1 1 1
Tabelle 6.3: Wahrheitstabelle Kontrolle T2 und T4

Die Tabellen stimmen überein. Die Gleichungen sind somit richtig.

6.2.2 Schaltung

Die Logik kann mit verschiedenen Technologien umgesetzt werden. Hier wurde eine Lösung mittels TTL Gattern gewählt. Die Schaltung ist in Abbildung 6.6 dargestellt. In einer modernen Anwendung würde die Logik mittels Mikrocontroller realisiert werden. Software technisch bieten hier Quartus oder PSoC Creator Lösungen an. In Quartus lässt sich die Logik auch simulieren.

Hinweis

Für die Simulation von hierarchischen Designs in Altium muss im Simulation Dashboard von Document auf Project umgestellt werden.

Hinweis

Aus wirtschaftlichen Gründen sollte eine Logikschaltung aus möglichst wenigen verschiedenen Logikgattern bestehen. Es bietet sich an, die Schaltung mit NAND oder NOR Gattern aufzubauen. Aus zeitgründen wird im Moment hier darauf verzichtet. Mit der Regel von DeMorgan kann die Schaltung in die jeweilige Schreibweise übergeführt werden. \[\overline{A \land B} = \overline{A} \lor \overline{B}\] \[\overline{A \lor B} = \overline{A} \land \overline{B}\]

Abbildung 6.6: Logikschaltung mit TTL

Mittels Simulation kann die Funktion der Schaltung überprüft werden. Dazu wird der zeitliche verlauf mit der Wahrheitstabelle verglichen. Stimmen die Signale überein, ist die Schaltung richtig.

Abbildung 6.7: Simulation Logikschaltung mit TTL

Der Signallaufplan passt mit der Wahrheitstabelle überein. Somit ist davon auszugehen, dass die TTL-Schaltung korrekt umgesetzt wurde.

6.3 Ansteuerung der H-Brücke

Die H-Brücke besteht aus P-Kanal MOSFETs und N-Kanal MOSFETs. MOSFETs werden über den Potentialunterschied zwischen Gate und Source gesteuert. Bei den N-Kanal MOSFETs T2 und T4 könnte direkt der Ausgang der Logikschaltung verwendet werden, sofern die notwendige Leistung zur Verfügung steht. Bei den P-Kanal MOSFETs T1 und T3 ist dies nicht möglich, da die Logikschaltung nicht das geeignete Potential liefern kann. Die P-Kanal MOSFETs sperren, wenn am Gate dieselbe Spannung anliegt wie am Source Eingang. Sie leiten, wenn am Gate Ground anliegt. Es muss also eine Schaltung entworfen werden, welche die Potentiale anpasst. Aus der obigen Überlegung ergibt sich folgende Anforderung an die Pegelanpassung.

Ausgang TTL S1 und S3 Potential am Source Eingang
0 V \(U_s\)
5 V 0 V

6.3.1 Umsetzung für die Simulation

Diese Pegelanpassung lässt sich einfach mit OPVs realisieren. Durch die Slew-Rate der OPVs entstehen dabei aber deutliche Verluste bei jedem Schaltvorgang. Für die Funktion und Simulation wird trotz der Nachteile diese Lösung gewählt. Wichtig ist dabei, dass die OPVs Ausgangsspannungen deutlich unter bzw. deutlich über der Threshholdspannung der MOSFETs ausgeben.

Abbildung 6.8: Pegelanpassung mit OPV

6.3.2 Umsetzung in der Praxis

Wird eine H-Brücke in der Praxis verwendet, wird eine integrierte oder teilintegrierte Lösung, sogenannte H-Brückentreiber, gewählt. Folgende Lösungen und viele andere von verschiedenen Herstellern, sind verfügbar:

  • Treiber für H-Brücken in einem IC [3]
  • Logik und Treiber in einem IC [4]
  • Logik, Treiber und H-Brücke in einem IC [5] [6]

Im Datenblatt der Bauteile sind Anwendungsbeispiele und Application Notes zu finden. Diese sind eine gute Quelle für die Entwicklung der Schaltungen.

6.4 Funktionsüberpürfung der H-Brücke

Will man nun die Funktion der H-Brücke simulieren, muss die Logikschaltung mit der Pegelanpassung, die H-Brücke und das Motormodel zusammengeführt werden. Die Schaltung ist in Abbildung 6.9 dargestellt. Der Motor kann über das einfache Modell Abbildung 6.10 simuliert werden. Das erweiterte Modell ?fig-ExtendedMotorModel liefert auch Informationen über die Drehzahl und das Massenträgheitsmoment, damit kann auch der Bremsvorgang betrachtet werden.

Abbildung 6.9: Zusammengeführte Schaltung
Abbildung 6.10: Einfaches Motormodell
Abbildung 6.11: Erweitertes Motormodell, [MotorModell?]

Nun können die Betriebszustände simuliert werden. Die Simulation ist in Abbildung 6.12 dargestellt. Die Simulation zeigt, dass die H-Brücke wie gewünscht funktioniert. Die Drehzahl lässt sich mittels PWM verändern. Die Drehrichtung lässt sich mittels Direction ändern. Die Bremsfunktion lässt sich mittels brake aktivieren.

Abbildung 6.12: Simulation Brücke Linkslauf, Rechtslauf und Bremsen
Abbildung 6.13: Simulation Brücke Linkslauf, Rechtslauf und Bremsen mit PWM

6.5 PWM und induktive Lasten

To Be Continued

1.
Transparency Market Reserach Inc DC Motors Market. https://www.transparencymarketresearch.com/dc-motors-market.html. Accessed 13 Dez 2023
2.
Biezl V Vierquadrantensteller steuert Gleichstrommotor. https://commons.wikimedia.org/w/index.php?curid=4792919. Accessed 13 Dez 2023
3.
Technologies I TLE7182EM H-Bridge and Dual Half Bridge Driver IC. https://www.infineon.com/dgdl/Infineon-TLE7182EM-DS-v01_01-en.pdf?fileId=db3a30432f5008fe012f5442920c3996. Accessed 1 Feb 2024
4.
Microelectronics S L99H02 Motor bridge driver. https://www.st.com/en/automotive-analog-and-power/l99h02.html. Accessed 1 Feb 2024
5.
6.
Microelectronics S L298 Dual Full Bridge Driver. https://www.st.com/resource/en/datasheet/l298.pdf. Accessed 1 Feb 2024