Forum: Mikrocontroller und Digitale Elektronik H-Brücke mit 10A Anlaufstrom


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Max S. (x-quadraht)


Lesenswert?

Hallo,

ich habe zum ersten Mal leistungsfähigere DC-Motoren im Einsatz 
(RE-max29 von Maxon, Datenblatt siehe unten). Diese haben einen 
Anlauf-/Blockierstrom von 10A, im Lauf dann natürlich deutlich weniger.

Die Batteriespannung beträgt 24-26V, die Ansteuerung erfolgt über 3 Pins 
von einem FPGA aus.

Bisher hatte ich den L6203 im Einsatz, der ist allerdings anscheinend 
unter-dimensioniert, hat sich nämlich trotz Thermal shutdown und 
Kühlkörper unter Last verabschiedet.

Ich hab mir andere integrierte H-Brücken angeguckt, zum Beispiel die 
TrilithIC-Reihe von Infineon. Die haben allerdings einzelne 
Steuereingänge für die FETs, da müsste also noch Steuerlogik davor 
(Totzeit etc?). Besser gefielen mir die NovalithIC-Halbbrücken. Diese 
besitzen einen IN-Eingang für die Richtungsangabe und einen INH-Eingang 
für den Freilauf.

Jetzt kommen wir zum Kern meiner Frage:
Bisher habe ich mit PWM immer zwischen Lauf und Freilauf umgeschaltet 
(also den Enable-Eingang vom L298 oder L6203 oder... angesteuert). Jetzt 
habe ich gehört, das man das bei den NovalithIC-Brücken nicht darf, weil 
dann die Schutzlogik immer wieder zurückgesetzt wird.
Ist es denn gängige Praxis, mit der PWM-Frequenz zwischen Lauf und 
Bremsen umzuschalten? Wird dann nicht immer wieder die aufgebaute 
Energie in Wärme umgewandelt?

Hat ansonsten noch jemand Vorschläge für eine kostengünstige und starke 
Lösung (muss insgesamt 9 von den Biestern ansteuern)?

Viele Grüße,
  Max


Links:

Datenblatt zum Motor: 
https://downloads.maxonmotor.com/Katalog_neu/eshop/Downloads/Katalog_PDF/maxon_dc_motor/RE-max-programm/new/newpdf_10/RE-max-29-226801_10_DE_134.pdf

von Falk B. (falk)


Lesenswert?

@  Max S. (x-quadraht)

>Die Batteriespannung beträgt 24-26V, die Ansteuerung erfolgt über 3 Pins
>von einem FPGA aus.

Wie fein.

>Bisher hatte ich den L6203 im Einsatz, der ist allerdings anscheinend
>unter-dimensioniert, hat sich nämlich trotz Thermal shutdown und
>Kühlkörper unter Last verabschiedet.

Glaub ich nicht. Dann machst du was falsch. Läppische 1A Nennstrom 
schafft der Treiber locker. Aber kann es sein, dass a) ein ausreichend 
großer ELko NAH am Treiber fehlt und b) eine Spannungsbegrenzung der 24V 
durch eine dicke Z-Diode fehlt? Dann ist klar dass du den IC killst. 
Aber nicht thermisch, sondern durch Überspannung beim Bremsen oder 
Freilauf.

>Bisher habe ich mit PWM immer zwischen Lauf und Freilauf umgeschaltet
>(also den Enable-Eingang vom L298 oder L6203 oder... angesteuert).

Siehe oben ;-)

>Hat ansonsten noch jemand Vorschläge für eine kostengünstige und starke
>Lösung (muss insgesamt 9 von den Biestern ansteuern)?

L6203 ist IMO ziemlich gut und günstig.

Siehe auch Motoransteuerung mit PWM und Treiber.

MFG
Falk

von Andreas R. (rebirama)


Lesenswert?

Es ist beim l6201 besser nicht den enableeingang für die pwm zu 
verwenden, da man sich dadurch die möglichkeit eines aktiven freilaufs 
verbaut.

von Max S. (x-quadraht)


Lesenswert?

Falk Brunner schrieb:
> Aber kann es sein, dass a) ein ausreichend
> großer ELko NAH am Treiber fehlt und b) eine Spannungsbegrenzung der 24V
> durch eine dicke Z-Diode fehlt?

Als Elko war ein 1µF Low-ESR direkt am Treiber drin. Zu wenig?
An eine Z-Diode hab ich nicht gedacht. Dann muss ich wohl noch einen 
Test mit den L6203 machen. Abwechselnd vorwärts/rückwärts mit Volldampf 
sollte reichen um Fehler zu provozieren, oder?

Trotzdem interessiert mich die Lauf/Freilauf vs. 
Lauf/Bremsen-Geschichte. Bei den Infineon-Bauteilen ist die erste 
Variante ja offensichtlich nicht vorgesehen. Heißt das, Lauf/Bremsen ist 
der Standardweg?

Viele Grüße,
  Max

von Falk B. (falk)


Lesenswert?

@  Max S. (x-quadraht)

>Als Elko war ein 1µF Low-ESR direkt am Treiber drin. Zu wenig?

Ja, eher 100-1000uF.

>An eine Z-Diode hab ich nicht gedacht. Dann muss ich wohl noch einen
>Test mit den L6203 machen. Abwechselnd vorwärts/rückwärts mit Volldampf
>sollte reichen um Fehler zu provozieren, oder?

Sachte. Fang klein an. Erstmal Anlauf-> Freilauf. Das ein paar Dutzend 
mal.
Dann Anlauf, Bremsen
Dann Anlauf, Bremsen, Rückwärts
Und DANN vielleicht Vortärts-Rückwärts Volldampf, das stress nämlich 
auch dem Motor ganz schön, mechanisch wie elektrisch!

MfG
Falk

von Max S. (x-quadraht)


Lesenswert?

Okay, mach ich.

Andreas R. schrieb:
> Es ist beim l6201 besser nicht den enableeingang für die pwm zu
> verwenden, da man sich dadurch die möglichkeit eines aktiven freilaufs
> verbaut.

Aber wenn ich das PWM-Signal an die IN-Pins lege, dann bremst der Motor 
in der Off-Periode doch, oder? Das ist ja das Problem, was ich mit 
Lauf/Bremsen meine...

von Andreas R. (rebirama)


Lesenswert?

> Aber wenn ich das PWM-Signal an die IN-Pins lege, dann bremst der Motor
> in der Off-Periode doch, oder? Das ist ja das Problem, was ich mit
> Lauf/Bremsen meine...

Nein, der Motor bremst nur, wenn Strom in die Gegenrichtung durch 
fließt. Das passiert nur, wenn du ihn längere zeit (ms..s) kurzschließt 
oder umpolst. Mit dem Verhalten innerhalb eines PWM-Zyklusses hat das 
aber nichts zu tun. Die Induktivität des Motors ist so groß, dass sich 
die Stromrichtung in dieser kurzen Zeit (idR.) nicht umkehren kann.

Ab ökonomischsten steuerst du den Motor in dem du in1 auf low hälst und 
in2 mit pwm ansteuerst. (was warscheinlich dem entsprichst, was du unter 
"freilauf" verstehst). Der Vorteil dieser Variante ist, dass die 
Wechselspannung die der Motor sieht gering ist. Und dass die Dioden im 
IC nicht vom Motorstrom durchflossen werden, sondern dieser rückwärts 
duch den eingeschalteten Mosfet fließt, der parallel zur Diode liegt. 
Die Diodenverluste wären höher (I*U_D) als die Mosfetverluste 
(I^2*R_ds,on). damit bleib das ic kühler.

Die zweite Variante in1 mit dem inversen Signal von in2 zu takten ist 
weniger gut, denn dadurch steigen die Ummagnetisierungsverluste im 
Motor, und die Schaltverluste.

Am ungünstigsten ist die variante enable zu takten, denn dabei fließt 
der Motorstrom in der pwm_off-phase über zwei der dioden.

... ich glaub ich bin kein guter erklärer;-)

Grüße
Andreas

von Max S. (x-quadraht)


Lesenswert?

Andreas R. schrieb:
> ... ich glaub ich bin kein guter erklärer;-)

Doch, ich glaube jetzt hab ichs verstanden :-)
Vielen Dank!

Max

von Falk B. (falk)


Lesenswert?

@  Max S. (x-quadraht)

>Aber wenn ich das PWM-Signal an die IN-Pins lege, dann bremst der Motor
>in der Off-Periode doch, oder?

Nein. Klassischer Irrtum. Mit einer PWM am IN-Pin macht man PWM mit 
einer Halbbrücke, so wie hier

http://www.mikrocontroller.net/articles/Motoransteuerung_mit_PWM#Synchrongleichrichtung.2C_2-Quadrantensteller

PWM ON - oberer FET sperrt, unterer leitet
PWM OFF - oberer FET leitet, unterer sperrt

Wenn man den oberen FET durch eine Diode ersetzt, hat man einen 
1-Quadranten Steller wie hier. Macht man die PWM am ENABLE Pin, steuert 
man die Halbbrücke wie einen 1-Quadrantensteller. Der Nachteil ist a) 
der höhere Spannungsverlust an der Diode von ca 0,7-1V, ein 
durchgeschalteter FET hat weniger. Und der Verlust des Bremsens.

http://www.mikrocontroller.net/articles/Motoransteuerung_mit_PWM#Mosfet_mit_Freilaufdiode.2C_1-Quadrantensteller

Wie wird nun gebremst? Ganz einfach. Nehmen wir an, die PWM läuft mit 
50% Tastverhältnis und der Motor ist eingeschwungen, läuft also mit 
halber Geschwindigkeit. Jetzt verringern wir das Tastverhältnis auf 25%. 
Das bremst den Motor! Weil nämlich die effektiv angelegte Spannung (25%) 
kleiner ist als die vom Motor im Generatorbetrieb erzeugte Spannung 
(50%).

Um den Unterschied noch klarer zu machen. In der ON Zeit wird Energie 
vom Netzteil in die Spulen des Motors transferiert, GLEICHZEITIG aber 
auch ein kleiner Teil in den Spulen gespeichert, das ist der 
Magnetisierungsstrom, den es auch bei Transformatoren gibt!
In der OFF Zeit der PWM fliesst nun die gespeicherte Energie aus den 
Spulen und treibt den Motor weiter an! Klingt komisch, ist aber so.
Der Knackpunkt ist aber, dass diese Energie nur gering ist und 
demzufolge nur ein paar Mikrosekunden bis bestenfalls Millisekunden 
reicht, bis der Strom in den Spulen wieder auf Null ist. Wenn jetzt 
keine ON Zeit der PWM folgt, sondern die OFF Zeit verlängert wird, DANN 
wird der Motor gebremst, weil er zum Generator wird. Dabei ist die 
Polarität der Spannung identisch zum Motorbetrieb, aber die 
Stromrichtung ist umgekehrt. Deshalb schiebt der Motor jetzt Energie in 
die Treiberstufe und von da über die antiparallelen Dioden der H-Brücke 
in die Versorgungsspannung. Kann die dort nicht mit einem dicken Elko 
gepuffert werden, steigt die Spannung sehr schnell an. Wird sie dann 
nicht per dicker Z-Diode begrenzt, stirbt der Treiber an Überspannung, 
ggf. auch das Netzteil.

Der klassische Irrtum besteht darin, einen Motor mit einem Relais 
gleichzusetzen, ist ja auch nur eine Spule ;-)
KURZZEITZIG im Bereich der PWM-Frequenz ist das auch so, denn in der OFF 
Zeit der PWM wird der Stromfluss durch die Energie der Spule aufrecht 
erhalten. Die Spannung an der Spule ist invertiert, der Stromfluß jedoch 
noch in der gleichen Richtung, wenn gleich fallend. In größerem 
Zeitfenster aber NICHT! Der Motor kann zum Generator werden und 
mechanische Energie zurück in elektrische wandeln, hier dreht sich die 
Stromrichtung die Spannung abermals um, ist nun also wieder gleich zur 
ON Zeit, wie oben beschrieben.

Ich hoffe man kann mir folgen. Und alles Motorprofis mögen die 
Vereinfachungen verzeihen. ;-)

MfG
Falk

von Max S. (x-quadraht)


Lesenswert?

Vielen Dank auch Dir, Falk!

Willst du das eventuell genau so ins Wiki stellen?
Mir ist (jetzt) klar, dass das schon so ähnlich da steht, aber so klar 
wie in deinem Post ist es mir beim Lesen nicht geworden ;-)

Viele Grüße,
  Max

von Falk B. (falk)


Lesenswert?

@  Max S. (x-quadraht)

>Willst du das eventuell genau so ins Wiki stellen?

Warum nicht.

>Mir ist (jetzt) klar, dass das schon so ähnlich da steht, aber so klar
>wie in deinem Post ist es mir beim Lesen nicht geworden ;-)

Schön zu hören.

MfG
Falk

von Mani (Gast)


Lesenswert?

Mache gerade so was ähnliches.
Deshalb kleine Zwischenfrage...wie "dick" sollte denn die Z-Diode sein?
Reiner Calmund?
:-D

Grüße
Mani

von Mine Fields (Gast)


Lesenswert?

Das kommt immer darauf an, wieviel Bremsenergie du vernichten musst. Bei 
einem kleinen Motor, den du eigentlich nur gelegentlich Abbremsen 
willst, würde vielleicht nur ein größerer Pufferelko reichen (wie oben 
ja schon beschrieben). Wenn deine 9 Motoren gleichzeitig bremsen müssen 
und dabei noch ein hohes Trägheitsmoment haben, könnte dann sogar ein 
klassischer Bremschopper sinnvoller sein. Zwischen den 
"Extrembeispielen" kann man dann mit einer Z-Diode arbeiten.

Du müsstest also noch etwas mehr über deine Anwendung verraten.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.