Hallo,
anbei habe ich eine Schaltplan eines eigen entwickelten
Frequenzumrichters angehangen. Ich muss da irgendwie nen Fehler haben,
finde ihn aber nicht.
Folgendes Problem:
Wenn die IGBT nicht angeschlossen ist, dann kann man das PWM-Signal an
den LO-Ausgängen des Treiber einwandfrei messen, jedoch machen die
HI-Ausgänge garnichts. Schließ ich den IGBT an, so führt ein PWM-Signal
für die Highside IGBT wiederum zu keiner Reaktion am HI-Ausgang des
Treiber, jedoch wenn ich versuche die Lowside zu aktivieren (High
natürlich aus), resetet sich der Controller und geht auf Halt im
debugger.
Folgendes hatte ich probiert:
- Versorgung auf ein Einknicken mit dem Oszi geprüft (15V und 5V), kein
Fehler feststellbar
- Mehrmaliges Durchmessen der Schaltung
- Ohne Debugger als Release Build, was dazu führte, dass der Pic beim
Starten der Modulation kaputt ging (Kurzschluss an den Versorgungspins!)
- Treiber gewechselt
- Externes Netzteil statt dem Onboard Schaltnetzteil verwendet
Bin jetzt schon mehrere Stunden dran, komme aber nicht auf die Ursache
für das Problem. Hoffe, dass mir hier wer helfen kann.
MFG Michael
Rigi Taler schrieb:> Verdrahtungsfehler ?> Wo legst du dein Messeisen /oszi an ? VS-HO ?
Zwischen VS-HO kann ich zwar das PWM Signal messen, jedoch nur ein paar
Perioden und dann kommt eine längere Pausenzeit bevor wieder ein paar
Pulse ausgegeben werden. Außerdem kommen da spitze nur 9V obwohl der
Treiber konstant 15V erhält. Das Eingangssignal ist aber richtig. Kann
es sein, dass die Elkos falscht gewählt sind?
uppps,
wenn ich das richtig sehe, ist deine 24V I/O sektion galvanisch getrennt
vom Leistungsteil. OK.
Dein uC-teil + der IR treiberchip und der IGBT liegen auf einem
GND-Bezugspotential, richtig ? Ist das etwa identisch mit DC- des 400V
Zwischenkreises des IGBT ??? Falls ja, saugefährlich...
Entweder, Du trennst uC und 400V-Teil galvanisch oder Du musst Deinen
Debugger-Anschluss galvanisch trennen und bist immer GANZ vorsichtig
beim messen. DC- ist nämlich NICHT GND und das kann nicht nur knallen
sondern wäre auch gesundheits- bzw. lebensgefährlich.
Ansonsten ist das layout auch nicht unwichtig. Nach Deiner Schilderung
"zerbröselt" es ja, sobald die pwm anfängt zu pulsen.
gruss, tom.
ja es ist DC- aber ich habe zum Test 100V aus einem Trenntrafo dran (das
Schaltnetzteil ist atm an DC+ und nicht zwischen den beiden elkos wie im
Plan). Am Layout denke ich liegts es nicht, da auch langsames ansteuern
der Lowsides schon zu einem Ausfall führt.
@Rigi Tales
bei einer Periodendauer von 2,5µs tut sich gar nichts mehr, bei 125µs
hab ich das Problem mit den Aussetzern wieder.
So habe jetzt mal ne kleine Last angehängt und nur die eine Halbbrücke
gesteuert, das hat dann auch endlich funktioniert. Also hab ich einen
solchen Widerstand an jeden Anschluss (U, V, W) gegen Masse eingebaut.
Wenn ich aber jetzt mehr als eine Halbbrücke ansteuere, ist der Fehler
wieder vorhanden. komisch...
Wenn R14 dein Strommess Shunt ist , dann schau dir im IR Datenblatt
nochmal an, ob Pin 22 wirklich am oberen Ende des Shunts angeschlossen
werden soll. Dieses COM ist ja nicht wirklich COM, sondern die
Strommessung. Wenn sich da ein Potential aufbaut ( also Strom fliesst)
fängt Pin22 am IR an, nach oben zu gehen und das ist vermutlich nicht
die richtige Betriebsart.
Ach, und dann noch ne Frage, dein 6-fach IGBT hat verschiedene Ausgänge
( E1 - E3 und dann nochmal UVW) , liegen diese tatsächlich auf dem
gleichen Level, das wäre die Mitte einer jeden Halfbridge ?
Der IR braucht ja für die Highside an Vs das Bezugspotential 'Source der
Highside', und das sollte auch einen nennenswerten Strom liefern können.
Falls die UVW Ausgänge des IGBT Arrays da noch interne Widerstände haben
(etwa für Sensorless BLDC ), könnte es die Ursache sein. In diesem Fall
verbindest du die Vs des IR besser direkt mit den Leistungsausgängen.
Das mit dem Pin22 ist genau so im Datenblatt eingezeichnet (siehe
Anhang).
Der IGBT hat nur UVW als Leistungsausgang (auch im Anhang). Auch steht
im Datenblatt nichts von einem eingebauten Widerstand.
Jo, das sieht alles richtig aus, sehr wahr. Ich kenne die 3-fach IRs
nicht, mache aber viel mit den IR2110-2113 und habe da ein Verhalten,
was evtl. auch dein Problem sein könnte.
Nach einer Fehlerbedingung ( z.B. HIN und LIN beide auf High ) gibt der
IR solange keine Pulse auf HO, bis LO mindestens einmal gesetzt war, LIN
löscht sozusagen die Fehlerbedingung. Wird im Datenblatt m.W. nicht
erwähnt. Ich weiss nicht, ob du den /FAULT Ausgang schon auswertest,
aber es kann nicht schaden , es zu tun und dann zum zurücksetzen des IR
einmal die Lowsides durchzusteuern. Natürlich kann dein IR auch anders
reagieren. Als Boost C's nehme ich übrigens 100uF, damit sind die Gate
Pulse recht stramm. Ich steuere meine Endstufen MOSFets über 22 Ohm
Widerstände an.
Habe gerade entdeckt, dass eine OSCFAIL-Trap auftritt, wenn er sich
resettet. Wie kann das sein, wenn ich den internen OSC (+PLL x16)
verwende?
Wenn ich die Trap deaktiviere, dann resettet er zwar nicht mehr, aber
der Treiber meldet einen Fehler.
Micha,
Das Layout ist definitiv zu betrachten, da bist Du leider auf einem
naiven Pfad. Wenn Du uC-Gnd und Power-Gnd z.B. nicht vernünftig getrennt
hast, kann sich Dein PIC so etwas von verrennen. Wie ist denn der
Reset-IN vom uC beschaltet ? uC-seitig pullup/pulldown R's für einen
garantierten passiven Zustand der Leistungssteuerung bei Pon/Poff
spendieren, nicht das Dein PIC da rumzappelt. Hat Dein PIC einen
internen Spannungsmonitor/Reset-Controller ?
Durch das grosse dU/dt, auch schon bei "nur" 100V kannst Du Dir alles
mögliche auf der/den PCB's einkoppeln. Auch die Ausführung der
Motorzuleitung ist immens wichtig (Schirmung).
Des weiteren ist es trotz Trenntrafos (Gott sei Dank hast Du den in
Benutzung !) mit Vorsicht zu geniessen ein 100..400V Design über den
Debuggeranschluss oder sonstwie an einen PC anzuschliessen. Wenn es mal
richtig RUMMS macht auf der HV-Seite kann das ganz fix durch Treiber-IC
und PIC hindurch bis zum PC durchschlagen. Ausserdem, DC- sollte besser
nicht auf PE gezogen werden, erst recht nicht durch einen dünnen
USB-Anschluss...
Immer einen Spritzschutz (Gehäuse) über dem IGBT haben, wenn das Ding
platzt, möchte niemand besser nicht mit Gesicht, Augen oder Händen da in
der Nähe sein (Vorsicht beim Messen !!!).
Wenn das Ding mal funzt, kannst Du ja die low-cost Variante mit einem
heissen uC-Teil fertigen lassen, aber für die Entwicklung besser
optisch/galvanisch trennen...
Da kann ich nur viel Glück wünschen ansonst...
Gruss, Tom.
Hallo Michael,
ich habe mir jetzt nicht alles genau angesehen, aber die 1N4007 sind als
Bootstrap-Dioden nicht geeignet, da zu langsam. Hier muß was schnelles
hin, z.B. UF4007, US1M...
David
Michael schrieb:> Wenn die IGBT nicht angeschlossen ist, dann kann man das PWM-Signal an>> den LO-Ausgängen des Treiber einwandfrei messen, jedoch machen die>> HI-Ausgänge garnichts.
Normal. Die High-Ausgänge werden von einer Bootstrap-Stufe versorgt, die
nur geladen wird, wenn das untere IGBT schaltet.
Kein IGBT drin, oder Low-Side-IGBT drin, aber nicht ein einziges mal
geschaltet -> Bootstrap-Stufe leer, keine Spannung zwischen Vb und Vs ->
kein Ausgangssignal
Michael schrieb:> Schließ ich den IGBT an, so führt ein PWM-Signal>> für die Highside IGBT wiederum zu keiner Reaktion am HI-Ausgang des>> Treiber,
s.o.!
Michael schrieb:> jedoch wenn ich versuche die Lowside zu aktivieren (High>> natürlich aus), resetet sich der Controller und geht auf Halt im>> debugger.
Ich hab da eine Vermutung...
Michael schrieb:> Folgendes hatte ich probiert:>> - Versorgung auf ein Einknicken mit dem Oszi geprüft (15V und 5V), kein>> Fehler feststellbar
Mess mal nicht auf Einknicken der Spannung, sondern auf Überspannung.
Folgendes Problem:
Sind beide IGBTs aus, so hängt die Phase, z.B. U, über die Freilaufdiode
im oberen IGBT an +DC und über die Freilaufdiode im unteren IGBT an -DC
(bei Dir Masse). Beide dioden haben einen gewissen Reverse-Strom, sind
diese gleich, so liegt im Ruhezustand ungefähr DC/2 an U.
Schaltest Du das Low-Side IGBT an, wird U auf -DC gezogen, über das IGBT
kann Strom fließen, die Bootstrap-Diode wird leitfähig und der
Bootstrap-Kondensator wird geladen.
Schaltest Du das IGBT aus, so steigt das Potential an U wieder an. Damit
hebst du den Minus-Anschluss des Kondensators auf ein höheres Potential
als -DC, also Masse in Deiner Schaltung.
Die Bootstrap-Diode soll jetzt sperren, damit keine Ladung aus dem
Bootstrap-Kondensator rückwärts in Deine Schaltung fließt. Die 1N4007
ist ein Standard-Gleichrichter, und die braucht mehrere Mikrosekunden um
zu sperren. Solang fließt Ladung aus dem Bootstrap-Kondensator rückwärts
in die Versorgungsspannung, die dabei so hoch werden kann, dass sie die
gesamte Logik grillt...
Bootstrap-Dioden müssen daher immer sehr schnell sein wie z.B. die
bereits erwähnte UF4007
Die Dioden hab ich jetzt ausgetauscht.
Habe jetzt an allen drei Motoranschlüssen einen Widerstand (100k bei
150V Zwischenkreis). Jetzt funktioniert der Umrichter einwandfrei (mit
und ohne Motor macht er keinen Fehler). Nehm ich aber die Widerstände
raus, funktioniert er wieder nicht, dabei ist es egal, ob ein Motor
angeschlossen ist oder nicht. Komisch dabei ist auch, dass der PIC eine
OSCFAIL-Trap (nutze internen OSC mit PLLx16) dabei auslöst und der
Treiber FAULT meldet!
In einem gekaufte Frequenzumrichter, die den IR2133 enthält, sind aber
keine solche Widerstände drinnen, also muss es eigentlich ohne
funktionieren.
Danke an alle und speziell and Gregor für den Link, konnte damit das
Problem endlich lösen. Es mussten Vorwiderstände für die
Boostkondensator eingebaut werden.