H-Brücke mit MOSFET's an FPGA betre iben

T

Thomas Müller

Guest
Ich habe folgendes vor:

Entwicklung einer H-Brückenschaltung zur Steuerung von DC-Motoren. Das
ganze soll dann über einen FGPA von Xilinx (Spartan-3) mit der nötigen
PWM versorgt werden, um die Drehzahl einstellen zu können.
Da ich aber leider keinerlei Praxiserfahrung besitze, fällt mir die
Auswahl der richtigen MOSFET's schwer.
Mir ist klar wie die H-Brücke aufgebaut wird und wie sie funktioniert,
aber da gehhört noch viel mehr dazu, wie z.B. Sicherung, Galvanische
Trennung, Schutzwiderstände, ....

Hier habe ich mal die Kenngrößen:
- Motoren (Fa. Maxon Motors):
--- Name / Nom. Voltage / starting Current / max. continous Current /
Resistance / Inductance
--- RE25 / 42 V / 7940 mA / 800 mA / 5.29 Ohm / 0.55 mH
--- RE24-Max / 42 V / 1300 mA / 273 mA / 32.3 Ohm / 1.45 mH
--- RE13 / 10 V / 127 mA / 101 mA / 78.8 Ohm / 1.6 mH
Alle Motoren sollten mit 13V betrieben werden (das ist die
Versorgungspannung die ich zur Verfügung habe). Wenn ihr meint, dass das
ein schlechte Idee ist, meldet euch bitte.

Wenn ich das noch richtig in Erinnerung habe, dann kann der FPGA an den
Ausgängen 3.3V oder 5V ausgeben und kann mit maximal 35mA belastet werden.

Da es sich hierbei um ein Praktikum an der UNI handelt, kann ich
warscheinlich keine fertigen Baugruppen a la LM298,... benutzen, denn
ich soll das alles selbst machen und ich will ja auch was dabei lernen.

Was ich nun von euch wissen möchte:

Wie kann ich entscheiden welche MOSFET's ich denn für die einzelnen
Motoren nehmen kann?
Welche Nachteile entstehen, wenn ich die H-Brücke nur mit N-Kanal
MOSFET's aufbaue?
Wie finde ich den passenden P-MOS zu dem ausgewählten N-MOS
Wie kann ich bestimmen welche Widerstände ich am Gate der Transistoren
zum Schutz anschließen muss und ob ich die Widerstände der Hi-Side FET's
mit Vcc und die der Lo-Side FET's mit GND verbinden muss. Oder dann doch
besser alle Gates mit z.B. 10kOhm an GND?
Reichen die Freilaufdioden aus, die in den meisten MOSFET's verbaut sind?

Ich habe jetzt schon öfter gesehen, dass bei den Sicherungen ein
Kondensator paralell geschaltet ist, braucht man das? Wozu? Wie
dimensioniere ich dann den Kondensator?

Wie kann ich den FPGA vor den durch die Bürsten der Motoren auftretenden
Spannungsschwingungen schützen?
Was muss ich noch beachten, dass der FPGA keinen schaden nimmt?

Wie kann ich denn berechnen mit welcher Grundfrequenz ich die PWM
betreiben kann (maximum, minimum)?

Ein ganzer haufen Fragen den ich da habe, aber Ihr müsst ja nicht alle
auf einmal beantworten ;)

Gruß
Thomas Müller
 
Wenn ich das noch richtig in Erinnerung habe, dann kann der FPGA an den
Ausgängen 3.3V oder 5V ausgeben und kann mit maximal 35mA belastet werden.
Nein der Spartan-3 verträgt nur 3,3V. Genauer gesagt die Vio darf
maximal 3,3V betragen und als Eingang (Hochohmig) vertragen die IO's bis
zu 4V, glaube ich zumindest. Maximal dürfen 10mA über die Schutzdioden
fließen wenn die Spannung am Pin größer als Vio oder kleiner 0V ist,
also muss das gegebenenfalls mit einem Wiederstand sicher gestellt
werden. Du solltest diesbezüglich mal bei Xilinx die passenden PDFs
runterladen und auch lesen, da findest Du dann auch das der Spartan-3 3
verschiedene Spannungen möchte : Vcore = 1,8V ; Vaux = 2,5V ; Vio =
1,5V-3,3V. Wenn möglich solltest Du dich für einen Spartan-2
entscheiden, der braucht Vcore = 2,5V und verträgt als Vio 1,5V - 3,3V
und lässt sich etwas leichter "5V tolerant" machen. Mehr als 3,3V
liefert Dir jedenfalls kein heutiger FPGA. Für die maximal zulässigen
Ströme solltest Du auch noch mal ganz genau in den PDFs nachlesen, da
gibts nämlich nicht nur Beschränkungen pro Pin sondern auch pro IO-Bank.


Da es sich hierbei um ein Praktikum an der UNI handelt, kann ich
warscheinlich keine fertigen Baugruppen a la LM298,... benutzen, denn
ich soll das alles selbst machen und ich will ja auch was dabei lernen.
Na beim Urschleim werdet Ihr da wohl auch nicht anfangen müssen,
schließlich müsst Ihr das nach dem Studium in der Praxis auch nicht
immer. Was nicht heißen soll das ein gutes Maß an theoretischem Wissen
schlecht währe.


Wie kann ich den FPGA vor den durch die Bürsten der Motoren auftretenden
Spannungsschwingungen schützen?
Was muss ich noch beachten, dass der FPGA keinen schaden nimmt?
Also ich hab noch keinen Spartan-2 geschrottet, obwohl der
Potentialausgleichsstrom der mal durch meinen Körper in einen Spartan-2
floss schon richtig gekribbelt hat in meinen Händen. War ne dofe Sache
wegen nem schlechten, nicht potentialgetrennten, Netzteil das den FPGA
versorgt hat.
Gewisse Vorsichtsmaßnahmen zum Schutz eines Bauteils, das durchaus mehr
als 100Euro (Einzelstückpreise) kostet und dessen auslöten zu einem
Abendfüllenden Problem werden kann, solltest Du aber auf jeden Fall
treffen. Vor kurzem war hier ein Thread "Interface zur realen Welt", so
ähnlich würde ich einen FPGA mit dem Rest einer störintensiven Schaltung
verbinden. Zur FPGA-Versorgung, und auch zum IO-Schutz, gibts bei Xilinx
einiges an App-Notes.


Wie kann ich denn berechnen mit welcher Grundfrequenz ich die PWM
betreiben kann (maximum, minimum)?
Ich würde Dir so um 50kHz vorschlagen, da gibts dann keine Geräusche
mehr und das ist niedrig genug um problemlos einen Serienwiederstand an
den IO-Pins zur Strombegrenzung betreiben zu können ohne das daraus ein
zu sehr störender Tiefpass wird. Außerdem bekommst Du für solche
Frequenzen leistungsfähige FETs.


Zu den restlichen Fragen kann ich Dir keine Auskunft geben, aber mit den
PDFs von Xilinx hast Du erst mal für ne ganze Weile Lesestoff.
Entwickle doch erstmal die Logic für den FPGA und dann kannst Du die
restliche Schaltung passend drum rum bauen.


Grüße
Erik
 
Hallo Thomas,

--- RE25 / 42 V / 7940 mA / 800 mA / 5.29 Ohm / 0.55 mH
--- RE24-Max / 42 V / 1300 mA / 273 mA / 32.3 Ohm / 1.45 mH
wenn Du die beiden nur mit 13 V versorgst, werden die nur einen
Bruchteil der Nenndrehzahl erreichen, den Maximalstrom kannst Du dann
auch entsprechend 'runterskalieren.
Zusammen mit dem

--- RE13 / 10 V / 127 mA / 101 mA / 78.8 Ohm / 1.6 mH
hast Du dann einen Spitzenstrom unter 4A, dafuer gibt es prima
integrierte Bruecken, von STM, Infineon, Allegro. Du brauchst dann nur
noch eventuell einen Pegelwandler von 3V3 nach 5V fuer die
Eingangssignale.
Wenn Du den RE24 und RE25 aber richtig ausnutzen willst, brauchst Du
z.B. eine >=42V-Versorgung (Achtung, wird langsam gefaehrlich) und dann
musst Du auch eine diskrete Bruecke aufbauen (TLE6209 koennte noch knapp
reichen). Treiberchips fuer H-Bruecken gibt es inzwischen reichlich
(vermutlich siehe dse-FAQ, z.B. Intersil, STM, LT, IR, Siliconix etc..).

Wie kann ich entscheiden welche MOSFET's ich denn für die einzelnen
Motoren nehmen kann?
Datenblattstudium. Fuer Deine Anwendung duerften ca. 95% aller MOSFETs
geeignet sein (aber die meisten natuerlich nicht sinnvoll). Es gibt -zig
Gehaeusevarianten (SMD, nicht-SMD), Du kannst Deine Suche auf MOSFETS
mit unter 100V Spannungsfestigkeit beschraenken. Allgemein zaehlt dann:
je niedriger der Ein-Widerstand (RdsOn), desto weniger Verluste und
desto teurer.

Welche Nachteile entstehen, wenn ich die H-Brücke nur mit N-Kanal
MOSFET's aufbaue?
Du brauchst einen Treiber (siehe oben).

Wie finde ich den passenden P-MOS zu dem ausgewählten N-MOS
Suche auf Herstellerseiten (Intersil, ON-Semi, STM, IR, Siliconix
etc...)

Wie kann ich bestimmen welche Widerstände ich am Gate der Transistoren
zum Schutz anschließen muss und ob ich die Widerstände der Hi-Side FET's
mit Vcc und die der Lo-Side FET's mit GND verbinden muss. Oder dann doch
besser alle Gates mit z.B. 10kOhm an GND?
Schau' Dir die Application Notes der Treiberhersteller an. Du kannst die
FETS nicht direkt mit dem FPGA verbinden.

Reichen die Freilaufdioden aus, die in den meisten MOSFET's verbaut sind?
Bei Deiner Anwendung: ja.

Wie kann ich den FPGA vor den durch die Bürsten der Motoren auftretenden
Spannungsschwingungen schützen?
Was muss ich noch beachten, dass der FPGA keinen schaden nimmt?
Fuer Sicherheitsfanatiker (und bei unhandlich grossen Spannungen und
Stroemen): Optokoppler zwischen FPGA und H-Treiber setzen. Die
Strommessung wird dann etwas komplizierter.

Wie kann ich denn berechnen mit welcher Grundfrequenz ich die PWM
betreiben kann (maximum, minimum)?
Am besten knapp ueber die Hoergrenze (z.B. 20 oder 25kHz). Hoehere
Frequenzen erhoehen die Verlustleistung der Bruecke und werden von
manchen integrierten Bruecken nicht unterstuetzt.

Fazit: Wenn Du bei 13V bleibst, nimm' eine integrierte Bruecke (z.B.
TLE6209), dann sind RE24 und RE25 aber lahm. Oder Du gehst mit der
Spannung hoch, dann lies die AppNotes zu Intersils HIP4081/2 durch.

Gruesse
Hartmut
 

Welcome to EDABoard.com

Sponsor

Back
Top