www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Strompeak im Lastpfad beim Ansteuern eines DC-Motors mit einer H-Brücke


Autor: tobi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Wir bräuchten dringend eure Hilfe.

Es geht um einen Motorkontroller, welcher einen DC-Motor ansteuert. Um 
die Drehzahl des Motors einzustellen wird eine H-Brücke verwendet, 
welche mit PWM angesteuert wird (f=18kHz).

Das Problem ist nun, dass der Motorstrom beim umschalten der FETs einen 
grossen Peak aufweist. Genauer entsteht beim Einschalten (schliessen) 
des Highside FET im Lastpfad (über den Motor) ein Peak von 700mA bei 
einem Leerlaufstrom von sonst 30mA. Zwischen dem Einschalten der 
Highside FETs und dem Ausschalten der Lowside FETs (und umgekehrt) haben 
wir eine Totzeit von 500ns. Das Problem ist, dass wir diesen Peak 
wegkriegen müssen!

Im Moment wird der Motor nur in Vorwärtsrichtung betrieben, d.h. Q1A und 
Q2A sind getaktet, Q1B ist dauernd offen und Q2B dauernd geschlossen.

Ebenfalls haben wir festgestellt, dass die Gatespannung der Lowside FET 
beim Einschalten der Highside FET schwingt.

Wir haben euch noch das Schema und 2 Bilder des Problems gepostet. Im 
bild_01 ist der Motorenstrom (100mV=100mA, 200mV/div) aufgenommen. Im 
bild_02 sind die Gatespannung von Q1A (gelb) und Q2A (blau). In rot ist 
die Motorenpannung und in grün der Motorenstrom (100mV=100mA).

Treiber: IR2011
FET: IRF7313

Vielen Dank!

Gruss tobi

Autor: Flip B. (frickelfreak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ihr müsst ja nicht dauernd Umpolen also könnt ihr beim Richtungswechsel 
mehr Totzeit einbauen.

Autor: Ernestus Pastell (malzeit) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir fällt nur auf euer Mosfet-Treiber ist für 200V ausgelegt verglichen 
mit euren 24V.

Die Motorspannung messt ihr irgendwie am falschen Punkt, die müsste ja 
um 24V springen oder wie habt ihr die gemessen?

Habt ihr auch mal den Strom mit seperatem Werkzeug gemessen, vielleicht 
produziert euer Sensor da misst.

Autor: Hauspapa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du mal überschlagen ob Dein Stompeak beim Umschalten nicht mit
reverse recovery charge und reverse recovery time zusammenhängt?

Die Beieinflussung der anderen Gateansteuerung könnte Ihr Ursache in der 
Millerkapazität haben (Gate to Drain Charge).

Deine 15uF Stützkapazität erscheint mir recht wenig, aber wenn es 
funtioniert... Ich hätte aber zumindest noch ein bischen Keramik für die 
hohen Frequenzen direkt an den Mosfet spendiert.

Autor: tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Philipp

Wir verstehen deine Antwort nicht ganz?

Da wir den Motor im Moment (auch auf den Bildern) nur in 
Vorwärtsrichtung laufen lassen, wird eigentlich nur die "halbe" H-Brücke 
gebraucht.
Wie schon geschrieben, werden die FET Q1A und Q2A getaktet, Q1B ist 
immer offen und Q2B immer geschlossen.
Wenn Q1A geschlossen und Q2A offen ist, hängt der Motor an 24VDC. Wenn 
Q1A offen und Q2A geschlossen ist, sind die Motorenklemmen über die FETs 
(s. schema_3) kurzgeschlossen und der Motor treibt den Strom.

Dieses Schalten ist nötig um die Drehzahl einzustellen. Die Drehrichtung 
ändern wir noch nicht.. Zuerst solls mal ohne Peaks vorwärts laufen..:)

gruss tobi

Autor: Hauspapa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Frage noch: Hat Euer Motor evtl. Entstörkondensatoren? Die würden 
mit PWM auch gerne umgeladen werden.

Autor: tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ernestus

Hast recht! mit der Motorspannung stimmt was nicht. Dies ist die 
24VDC-Speisung. sry.. Wenn es dir was nützt würd ich das richtige Bild 
hochladen.

Zum Messen: Wir haben den Strom schon via Shunt und via Stromzange 
gemessen. Beide Messmethoden führen zum gleichen Resultat. Wobei auch 
immer derselbe KO verwendet wurde. Somit dürfte das Gemessene schon der 
Wahrheit entsprechen. oder nicht?

gruss tobi

Autor: Ernestus Pastell (malzeit) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tobi schrieb:
> Hallo Ernestus
>
> Hast recht! mit der Motorspannung stimmt was nicht. Dies ist die
> 24VDC-Speisung. sry.. Wenn es dir was nützt würd ich das richtige Bild
> hochladen.

Da wackelt es aber ganz schön.

Ich denke die Tipps von Hauspappa waren ganzgut.

* trr der Body-Dioden liegt bei 48ns.

Find ich jetzt nicht gerade schnell, eventuell externe Schottkydioden 
verwenden.

* Ein Elkos ist gewöhnlich kein HF-Bauteil, auch wenn es ganz gute 
Low-ESR-Typen gibt.

Vielleicht zusätzlich mit Foko oder Kerko stützen

Autor: Ernestus Pastell (malzeit) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gestern wars wohl etwas spät. Die von mir schon erwähnten Faktoren 
könnten zwar in eurer Schaltung auch noch ein Problem sein, sind aber 
kaum für das gezeigte Problem verantwortlich. (Strom zur Last hin)

Es muss sich um Entstörkondensatoren handeln oder ähnliche Kapazitäten 
in der Last handeln. Beim Abschalten von Q1A schwingt die Last von 
selbst in die Freilaufdiode von Q2A. Schaltet Q2A ab und Q1A ein, 
passiert das nicht sondern der Transistor muss die Kapazität der Last 
aufladen. Entsprechend wackelt der Strom zur Last hin deutlich.

Sollte euch das jetzt nicht helfen, wäre ein Oszillogramm des anderen 
Umschaltvorhgangs zum vergleichen hilfreich. Ansonsten könntet ihr noch 
eine geeignete ohmsche, induktive und induktiv-kapazitive Last für 
kontrollierte Bedingungen benutzen.

Autor: tobi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ernestus und Hauspapa!

Also jetzt findet ihr den Motorenstrom beim Einschalten des Highside FET 
(bild03, U_gate=gelb, I_motor=grün) und beim Einschalten des Lowside FET 
(bild04, U_gate=blau, I_motor=grün).

Betreffend den Entstörkondensatoren: Unser Motor hat solche drin. Aber 
wir hatten bereits mal Versuche gemacht mit einem Widerstand und einem 
reinen RL-Glied als Last.
Bei einem Widerstand (R=6.5k) hatten wir keine Peaks. Bei einer reinen 
RL-Last (R=270, L=10m) sind die Peaks wieder vorhanden (vgl. bild05, 
bild06, I_last: 5V/div=20mA/div). Dies würde eigentlich gegen ein 
Problem mit der Entstörung sprechen??

In bild06 sieht man gut wie die Gatespannung des Lowside FET 
"mitschaltet". Wir denken da hat hauspapa recht. Dies müsste auf die 
gate-to-drain kapazität zurückzuführen sein. Doch wie bringt man dieses 
Mitschalten weg? Die Thresholdspannung des FET ist 1V und dies ist bei 
diesem Schwanken der Gatespannung schon ein bisschen eng!
Könnte es sein, dass dies eine Auswirkung im Motorenstrom hat?

Wir haben jetzt noch die Speisungen besser abgestützt:
15VDC: 220uF elko (auf GND-sternpunkt)
24VDC: 220uF elko (auf GND-sternpunkt)
       10uF kerko (von Drain highside FET zu Source lowside FET)
Vor dem Abstützten hatten sie eine max. Amplitude von 0.7A, jetzt haben 
sie noch 0.5A. Die Peaks sind ein wenig kleiner geworden, aber immer 
noch zu gross!


gruss tobi

Autor: Ernestus Pastell (malzeit) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du solltest die GS-Spannung auch mal mit der kurzen Leitung messen also 
auch Tastkopfmasse direkt am Lowside-Mosfet bzw. Mathematikfunktion des 
Oszilloskops für den Highside-Mosfet.

Wenn es mit ohmscher Last kaum/nicht wackelt, aber bei rein induktiver 
Last dann denke hat der Treiber genügend Saft zum sicheren 
Durchschalten, denn die Transistor-Kapazitäten sind ja immer da. 
Deswegen tippe ich erstmal auf die Bodydioden, dass deren trr eure Masse 
verschmutzt und mit Schottkydioden Parallel umgangen werden sollten.

Irgendwie oszilliert bei Bild 6 mit der induktiven Last das ganze nicht 
so wild wie auf Bild 3 dem DC-Motor mit Entstörkondensatoren. Da sind 
wohl auch zwei Faktoren am Werk.

Autor: tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Salü!
Wir messen direkt an den FET Pins und unser KO hat differentielle 
Messsonden. Der Grund, dass auf bild3 mehr Schwingung drauf ist als auf 
bild6 liegt am Messen selbst. Sobald wir mehr als 3 KO-Sonden anhängen 
schwingts. Dies ist sehr unschön, aber wir haben den Grund noch nicht 
herausgefunden.

Danke für den Hinweis. Wir werden die Gatespannung mit R-Last nochmals 
genauer anschauen und die Schottkydioden einbauen. Wir hatten schonmal 
mit einer Schottkydiode experimentiert, jedoch ohne Erfolg. Wir hatten 
aber auch nicht eine besonders gute, sondern nahmen einfach eine die 
herumlag. Hättest du gerade ein richtig gute im Kopf??

gruss tobi

Autor: Urlauber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte mit der "Gate Rückwirkung" auch schon mal Probleme.
Geholfen hatte dann ein 10n Kerko zwischen Gate und Source aller 
Mosfets.

Dieser muss vom Treiber zwar natürlich auch umgeladen werden,
was die Schaltgeschwindigkeit verringert,
dafür fängt der Kerko dann die vom Drain kommenden Umschaltspitzen auf.

Autor: Ernestus Pastell (malzeit) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anfangs hielt ich den kleinen Rippel beim Lowside-Mosfet für einen 
Messfehler (im Gegensatz zum oszillierenden Motorstrom).

Bei einer U_TH von 1V ist das dann irgenwie schon problematisch, was 
aber keinen Einfluss auf den gezeigten Motorstrom haben sollte.

Noch eine Sache die Ihr dann messen könntet wäre die Spannung über R12, 
die ja den Gateladestrom repräsentiert.

Bei den Shottkydioden braucht es keine besondere, nur den Strom muss die 
abkönnen, ansonsten sind alle schnell genug.


Langsam bin ich überfragt. Eure Probleme kann ich aus der Ferne wohl 
nicht lösen.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Tobi.

>Im Moment wird der Motor nur in Vorwärtsrichtung betrieben, d.h. Q1A und
>Q2A sind getaktet, Q1B ist dauernd offen und Q2B dauernd geschlossen.

Es ist (etwas) falsch die Q1A und Q2A zu takten um den Motor zu 
betreiben.
Ihr habt wahrscheinlich die falschen Widerstände genommen die vom IR2011 
direkt zur Gate's der FET's gehen und dabei die Eingangskapazität der 
FET's nicht berücksichtigt. Dabei bleiben die FET's leitend trotz einer 
Wartezeit.

Eure Steuerung wird es nicht lange mitmachen, diese muss irgendwann 
zwangsläufig durchbrennen laut Leistungselektronik. Bei euch steht ein 
Ingenieurböro in der Schaltung drauf, also viertes Semester da wird die 
Sache gelernt.

Es ist ne einfache Vierquadrantensteller Schaltung, man macht es anders.

Damit ist eine Drehrichtung definiert:
Q1A leitend    Q1B sperrt
Q2A sperrt     Q2B leitend

Jetzt anders rum:
Q1A sperrt     Q1B leitend
Q2A leitend    Q2B sperrt

Autor: tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast schon recht. Dann lässt du den Motor jedoch nur vollgas vorwärts 
oder vollgas rückwärts laufen!
Wir wollen ja die Drehzahl regeln. Deshalb muss im Vorwärtsbetrieb 
abwechslungsweise die 24VDC auf den Motor gegeben werden (Q1A leitet) 
oder der Motor kurzgeschlossen werden (Q2A leitet zur Entlastung der 
Bodydiode). Zusätzlich ist Q2B immer geschlossen und Q1B immer offen. An 
diesem Betrieb ist doch nichts faul?!
Die Schaltung macht dies auf jeden Fall schon lange mit. Das Problem 
sind "lediglich" die Peaks... Die kriegen wir einfach nicht weg!

Daniel schrieb:
> Ihr habt wahrscheinlich die falschen Widerstände genommen die vom IR2011
>
> direkt zur Gate's der FET's gehen und dabei die Eingangskapazität der
>
> FET's nicht berücksichtigt. Dabei bleiben die FET's leitend trotz einer
>
> Wartezeit.

Was meinst du damit?

Gruss tobi

Autor: Andreas K. (derandi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bewirkt das Kurzschließen des Motors nicht ein Abbremsen?

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für die Drehzahl brauchst du entweder Hall-Sensoren oder Drehgeber.
[http://www.mikrocontroller.net/articles/Motoranste...]
Tobi kannst die Drehezahl mittels PWM einstellen, wenn du die Drehzahl 
des Motors gemessen hast. 
[http://www.mikrocontroller.net/articles/Motoranste...]

>Bewirkt das Kurzschließen des Motors nicht ein Abbremsen?
Das Kurzschließen entweder der beiden oberen oder der beiden unteren 
FET's bewirkt das Abbremsen des Motors.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Miteinander!

Die Stromspitzen können von der Wicklungskapazität des Motors kommen, 
die im Schaltaugenblick umgeladen wird. Bei schnell schaltenden Mosfets 
können auch durch kleinen Kapazität <100pF schnell mal ein, zwei oder 
mehr Amper fließen.
Wenn die Verluste es zulassen, würde ich einfach mal die 
Schaltgeschwindigkeit der Mosfets drastisch reduzieren - Gatewiderstand 
100 Ohm oder mehr (Totzeit anpassen, sonst kommt es zu Kurzschlüssen).

Wenn man die Mosfets langsamer schalten lässt, hat man auch weniger 
Probleme mit Latch-Up.

BTW: 30V Mosfets an 24V Rail für einen Motor einzusetzen, finde ich 
mutig- habt Ihr Probleme mit Avalanche? Wie lange hält die Schaltung im 
Dauerbetrieb durch, bis es zu Ausfällen kommt?

Gruß Martin

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.