PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 3-Phasen-Motortreiber nicht richtig verschaltet?



NRicola
28.07.2018, 14:51
Hallo zusammen,

ich habe ein Problem nach dem Motto: "eigentlich mache ich nur Copy und Paste und es funktioniert trotzdem nicht". Ich möchte einen BLDC-Motor in Low Speed drehen lassen. Dazu will ich einen IR2130 (Datenblatt (https://www.infineon.com/dgdl/ir2130.pdf?fileId=5546d462533600a4015355c8757d169a )) verwenden, der 3 Halbbrücken (je zwei MOSFETS IRFR 024N (https://www.infineon.com/dgdl/irfr024n.pdf?fileId=5546d462533600a40153562cf1e320 39)) anspricht und die Signale direkt von einem PIC18 bekommt. Ich habe Beispielschaltungen im Netz gefunden, angewendet und trotzdem gibt es ein merkwürdiges Verhalten. Ich habe mal meinen Schaltplan angehangen.

Inspirationen:
https://www.homemade-circuits.com/simple-3-phase-brushless-bldc-motor/
Google-Bildersuche zum IR2130


Was wurde umgesetzt:
PIC18F45 => IR2130 => MOSFETs
Die Strommessung kann evtl. vernachlässigt werden (nähere Umgebung zu Pins CA0, CA- und ITRIP vom IR2130). Das habe ich bisher nicht vernünftig ausgelegt - laufe aber auch nicht in Stromgrenzen rein (Fault-LED würde es anzeigen).

Ich mache eine 120° Kommutierung. Der Übergang zwischen allen 6 Zuständen (siehe z.B. Hier (http://docplayer.org/docs-images/40/10366639/images/16-0.png)) wird fließend gemacht. Es gibt also Zwischenzustände, wie zum Beispiel 60% Zustand 2 und 40% Zustand 3. In einer PWM wird dann zwischen den beiden Zuständen hin- und hergeschalten.
Als Last an UVW habe ich jetzt erstmal drei 47kOhm-Widerstände in Dreieck geschalten.

Das Problem:
High-MOSFET 3 (Q5) geht nicht an. Alle LO-Mosfets arbeiten korrekt. HI1 & 2 arbeiten korrekt. Immer wenn Hi1 im PWM zuschaltet geht Hi3 minimalst kurz an (scheint irgendwie durch die Flanke induziert zu sein).

Meine bisherigen Debuggingansätze:

- rechts vom IR2130 (Schaltbild) ist elektrisch alles i.O.; ein Signal auf Pin HO3 aktiviert den Mosfet richtig
- in der Umgebung vom PIC18 ist auch alles i.O.; Die Signale vom PIC18 kommen korrekt am IR2130 an.

- tauscht man die 10µF-Kond. durch 100nF-Kondensatoren, wie im Serviervorschlag (https://www.infineon.com/dgdl/dt93-6.pdf?fileId=5546d46254e133b401554de8c83a5d19) vorgeschlagen, wird es "besser". Immer wenn Q1 auf high durch die PWM gesetzt wird blinkt LED D4 stärker - aber immernoch scheinbar flankengetrieben von Q1.
- trenne ich VS3 (IR2130) von W, erhalte ich immerhin beim sanften zu- und abschalten (PWM für Q5 nimmt zu oder ab) ein korrektes Signal auf Q5; Wenn 100% Q5 an sein soll, bleibt es dennoch aus

- ersetze ich die drei 47kOhm-Widerstände als Last durch 47Ohm-Widerstände, bleibt das Verhalten unverändert. Nehme ich die Widerstände komplett weg, wird das Verhalten aller High-MOSFETs chaotisch - die meiste Zeit sind sie nicht an, manchmal werden mehrere gleichzeitig angeschalten.
- ein Nachrüsten der Dioden D4-D6 und der Widerstände R7-R15 im Serviervorschlag oben hat nichts gebracht.

Da es bereits das dritte Board ist, das ich zusammengelötet habe und mit drei verschiedenen IR2130 quergetauscht habe und alle diesen Fehler aufwiesen, klingt es für mich nach einem systematischen Fehler.

Hat hier irgendjemand eine Idee, woran es liegen könnte?

Grüß
NRicola

021aet04
28.07.2018, 17:12
Hast du wirklich VCC an 24V gelegt? Dann werden vermutlich die Fets defekt sein. Die vertragen max.20V am Gate (das ist auch die max. Spannung an VCCvom IR2130). Entferne einmal die Fetsund teste den IR2130.

MfG Hannes

Siro
29.07.2018, 09:43
Hallo NRicola,
ich dachte im ersten Moment, dass evtl. die Bootstrap Schaltung nicht richtig funktioniert, da aber 2 Halbbrücken laufen, kann das wohl nicht sein.

Ohne Lastwiderstände ist das Verhalten völlig unkontrolliert, das habe ich auch schon erfahren müssen.
Ich habe zum Testen meiner Brushlesstreiber immer 3 mal 1 KOhm in Stern geschaltet.
Wobei der Wert hier recht unkritisch sein dürfte.

Welchen Pic genau benutzt Du denn ? evtl. gibt es ein Problem mit der PWM.
Schau Dir mal bitte die "Errata" Sheets an zu deinem PIC an. Auch ich habe oft nach unerklärlichen Phänomenen gesucht und im Errata Sheet wurde das Problem dann beschrieben und meistens auch ein entsprechender Workaround.
beim 18FK4522 gibts da wohl was....


Module: CCP3, CCP4 and CCP5
PWM mode does not work independently of
CCP2. Clock selection is cross-wired with that of CCP2.
Work around:
Use CCP1 and/or CCP2 for PWM applications.
Reserve CCP3, CCP4 and CCP5 for capture and
compare applications.


oder hier:


Note: If the PWM duty cycle value is longer than
the PWM period, the CCPx pin will not be
cleared.


wenn ich das Datenblatt richtig interpretiere, ist das VCC für den IR2130 mit 10..20 Volt angegeben,
24 Volt liegt meiner Meinung nach ausserhalb der Spezifikation und die FETs mögen das auch nicht.
sorry, das hat Hannes ja schon geschrieben...:p

Siro

NRicola
29.07.2018, 18:17
Hallo Hannes und Siro,

die meisten Versuche mache ich aktuell mit ca 12V. Aber guter Hinweis, dass die 20V GS nicht überschritten werden sollten. Aber sterben sollten die Mosfets bei 24V GS nicht gleich, oder?

Softwareseitig war ich jetzt erstmal recht primitiv unterwegs. Ich mache die PWM ohne CCP - einfach nur per Main-Programm-Code. Damit bin ich recht langsam mit einer Pulsweite von ca. 20ms. Aber sonderlich hinderlich sollte das hoffentlich nicht sein, da 100% Hi-Mosfet offen dann unabhängig einer Periodendauer offen bleiben sollte.

Tatsächlich kommt das bei mir mal vor. Einerseits will ich sehr kleine Drehzahlen damit fahren und manchmal sogar sowas wie eine Positionsregelung vornehmen. Dass das bei diesen Antrieben und nur drei Hallsensoren zur Lageerkennung schwierig ist, weiß ich. Aber das ist aktuell erstmal noch ein Problem der Zukunft. :)
Die PWM über CCP zu machen ist als einer der nächsten Schritte angedacht.

Grüß,
NRicola

Siro
29.07.2018, 21:47
Hallo NRicola

Die Bootstrap Schaltung, bei Dir die Diode und der Kondensator D8 und C3 ist nur für den oberen Mosfet notwendig,
Damit dieser "ordentlich" durchschalten kann, benötigt das Gate eine entsprechend höhere Spannung als das Source.
Das geht aber nicht so ohne weiteres, daher diese spezielle Schaltung.
Hier wird quasi durch Umladen bzw. Aufstocken der Spannung eines Kondensators eine höhere Spannung erzeugt.
Zum Erzeugen der entsprechenden Spannung muss aber in einer bestimmten Zeitspanne erfolgen.
Es muss also "reglmässig" getaktet werden. Gibt es da eine Pause, so reicht die Spannung evtl. nicht mehr aus um den Mosfet "GUT" durchzuschalten
Bei einer zu langen Pause bekommst Du ihn vermutlich garnicht mehr geschaltet.

Das betrifft aber nur die oberen Mosfets,
die unteren Mosfets an Masse haben das Problem nicht, diese kannst Du ansteuern und auch stehen lassen.

Da Du es vorerst in Software schaltest, vermute ich, dass genau da das Problem liegt.
Hier habe ich mal einen Artikel, der das erklärt.

https://de.wikipedia.org/wiki/Bootstrapping_(Elektrotechnik)

Übrigens: die Mosfets bekommt man tatsächlich recht schnell kaputt mit mehr als 20 Volt,
die sterben völlig lautlos ohne warm zu werden. Manchmal haben Mosfets dafür einen eingebauten Überspannungsschutz am Gate,
da auch statische Aufladung (Teppich) sie sehr schnell zerstören können. Deine Mosfets haben keinen Schutz,


Siro

NRicola
30.07.2018, 08:03
Hallo Siro,

dann werde ich mir mal die FETs näher anschauen und den IR2130 nochmal tauschen - nur um sicherzugehen, dass sie nicht doch einen 24V-Schaden erlitten haben. Ich werde wohl doch einen Spannungsregler vorsehen, der mir alles auf 10V begrenzt.

Seit du es erwähnt hast, führe ich mir das Bootstrapping auch mal intensiver zu. Ich überlege, gerade, welche Wege es aus dem Dilemma gibt.


Vielleicht wäre es geschickter, diese Spannung nicht über einen Kondensator zur Verfügung zu stellen, sondern über eine separate Spannungsquelle. Wahrscheinlich bräuchte dann jeder HiMosfet einen eigenen DCDC-Wandler/Spannungsregler.
Vielleicht wäre es noch der ideale Moment, von so einem Motortreiber und der PWM abzurücken. Ich hatte ohnehin mal überlegt, ob es nicht geschickter wäre, die Mosfets gleich mit DACs auf alle möglichen Zwischenniveaus zu schalten. Dann könnte man denen der HiMosfets andere Referenzspannungen mitgeben (natürlich dann auch bezogen auf die Potentiale von U/V/W).


Ich denk mal noch etwas darüber nach...

Grüß,
NRicola