Hi,
Ich versuche Lq und Ld eines Motors mit Hilfe eines Inverters mit FOC zu
messen. Dazu injiziere ich eine Rechteckspannung in Vq oder Vd mit einer
Frequenz von 2kHz. Nun habe ich aber das Problem, dass Ld bei mir in
etwa immer doppelt so groß ist wie Lq, egal wie ich die Amplitude von Vq
und Vd wähle.
Die Induktivität wird so berechnet, dass der Strom kurz vor dem Wechsel
der Rechteckspannung gemessen wird und jeweils für hohe Spannung bzw.
niedrige Spannung auf integriert über die Zeit. Dann wird der Mittelwert
genommen und mit
die Induktivität berechnet. Der Reluktanzpfad für Ld muss doch viel
höher sein als für Lq, daher sollte doch Lq immer grösser sein als Ld?
Auf den Bildern oben sieht man links die Messung mit Vd Injektion,
rechts mit Vq Injektion. Die Frequenz ist natürlich viel höher, das Tool
kann nur nicht schnell genug messen.
Jemand eine Idee, ob Ld bei einem PMSM grösser sein kann als Lq?
Edit: Das Bild links sollte eigentlich Vq und Vd statt Iq und Id sein
Bert S. schrieb:> Nun habe ich aber das Problem, dass Ld bei mir in etwa immer doppelt so> groß ist wie Lq, egal wie ich die Amplitude von Vq und Vd wähle.
Wie machst du die Rücktransformation?
Kann es sein dass dein Motor gerade bei elektrisch 90° oder 270° steht?
Stell dir das so vor, dass du mit 0° ausgerichteter dq- und αβ-Ebene,
also d=α und q=β, deinen Krempel einspeist und auch mit 0°
zurückrechnest. Wenn jetzt der Motor aber tatsächlich um ±90° zur
dq-Ebene verdreht ist, misst du Ld wo Lq sein sollte und andersherum.
mfg mf
Bert S. schrieb:> was genau muss ich aber für Vd bzw. Vq Injektion integrieren
a) Strom differenzieren
u(t) = L di(t)/dt
=> L = u(t) / {di(t)/dt}
b) Spannung integrieren
u(t) = L di(t)/dt
=> intg(u(t)) = L i(t)
=> L = intg(u(t)) / i(t)
mfg mf
PS. Wenn du V=const Injektion machen willst, musst du eine Duty-Cycle zu
Uzk Korrektur einbauen und darfst bei den Strömen nicht den
eingependelten Zustand abwarten. Der Dynamische Teil interessiert für
die Induktivität. Der Statische Teil hingegen kann zum R messen genutzt
werden.
Also ich injiziere ein Vd bzw. Vq und stelle den elektrischen Winkel fix
auf 0 rad. Der Motor richtet sich auch entsprechend aus, 2 Polpaar Motor
und die Achse dreht sich um PI/4. Daher denke ich, dass der Fehler hier
nicht liegt, sondern in welchen Strom ich für das Berechnen von Ld, Lq
nehme.
Ich integriere momentan bei Vd/Vq Injektion immer den Ia Strom, daher
kann irgendetwas nicht stimmen. Wie man oben sieht, hat der Strom ja
noch eine Ib/Ic Komponente, außer bei der Vq Injektion ist nur eine Ib
Komponente vorhanden.
Welchen Strom muss ich also nehmen, um die q/d Induktivität zu
bestimmen? Ich appliziere ja immer eine hohe Spannung und eine geringe
Spannung mit 2 kHz, daher fließen Ströme Ia, Ib und Ic, welche sich beim
Sprung nahezu linear ändern durch die hohe Frequenz.
Bert S. schrieb:> Ich integriere momentan bei Vd/Vq Injektion immer den Ia Strom,
Du müsstest die Spannung integrieren oder die Ableitung des Stroms
berechnen, siehe Formeln von oben.
Bert S. schrieb:> Ich appliziere ja immer eine hohe Spannung und eine geringe Spannung mit> 2 kHz, daher fließen Ströme Ia, Ib und Ic, welche sich beim Sprung> nahezu linear ändern
Kannst du die Stromänderung überhaupt mit derselben Frequenz erfassen?
Bert S. schrieb:> Also ich injiziere ein Vd bzw. Vq und stelle den elektrischen Winkel fix> auf 0 rad. Der Motor richtet sich auch entsprechend aus,
Beim Injizieren in q-Richtung verdreht sich der Motor auch? Das soll ja
bei der Messung der q-Induktivität nicht passieren. Da hast du dann die
d-Achse des Motors in q-Richtung deiner Transformationen liegen.
Vorschlag: Richte den Motor in d-Richtung aus und dann setzt du den
mechanisch fest.
mfg mf
Danke dir Achim,
Achim M. schrieb:> Du müsstest die Spannung integrieren oder die Ableitung des Stroms> berechnen, siehe Formeln von oben.
Ich berechne die Induktivität über die Ableitung des Stromes, aber
welches Stromes ist mir nicht bewusst? IU/IV/IW? IQ/ID?
Achim M. schrieb:> Kannst du die Stromänderung überhaupt mit derselben Frequenz erfassen?
Das klappt ganz ordentlich, zumindest kann ich so die Induktivität Is
des Motores genau messen indem ich in die Alpha Achse injiziere.
Achim M. schrieb:> Beim Injizieren in q-Richtung verdreht sich der Motor auch? Das soll ja> bei der Messung der q-Induktivität nicht passieren. Da hast du dann die> d-Achse des Motors in q-Richtung deiner Transformationen liegen.> Vorschlag: Richte den Motor in d-Richtung aus und dann setzt du den> mechanisch fest.
Wenn ich Vd injiziere, dann richtet sich der Motor aus. Wenn ich dann
auf Vq wechsle, dreht sich die Achse nochmals 45° (2 PP Motor). Die
Achse sollte also entweder mit Vd oder Vq gleich auf liegen.
Ok, ich habe es hinbekommen, dass Ld < Lq ist und zwar so, dass die
Ströme ib = ic = -ia/2 sind (Siehe Bild oben). Nun muss ich dafür aber
in die VQ Achse einen elektrischen Winkel von Pi/3 Vorsteuern und das
verstehe ich nicht wirklich
Bert S. schrieb:> Wenn ich dann auf Vq wechsle, dreht sich die Achse nochmals 45° (2 PP> Motor).
45° mechanisch, also 90° elektrisch. Hä?
Die Kiste darf sich für Q NICHT drehen. Du willst doch nicht die D-Achse
einmal an D- und einmal an Q-Position messen. Dass du jetzt zwei
verschiedene Messwerte herausbekommst, zeigt mir, dass in der Messung
noch ein Wurm drin ist.
Bert S. schrieb:> welches Stromes ist mir nicht bewusst? IU/IV/IW? IQ/ID?
Id und Iq natürlich. Dafür muss einmal ausgerichtet werden, damit d=α=a.
Also Park und Park-Inverse mit elektrischen 0°.
Dafür muss der Motor aber auch bei einer elektrischen 0° stehen.
Ich denke, dass dir die Zusammenhänge dq-αβ-abc noch nicht ganz klar
sind?
mfg mf
Achim M. schrieb:> Die Kiste darf sich für Q NICHT drehen. Du willst doch nicht die D-Achse> einmal an D- und einmal an Q-Position messen. Dass du jetzt zwei> verschiedene Messwerte herausbekommst, zeigt mir, dass in der Messung> noch ein Wurm drin ist.
Der Motor dreht sich während der Messung nicht, sondern nur beim
wechseln von Vq nach Vd Injektion um 45° mechanischer Winkel = 90°
elektrischer Winkel.
Achim M. schrieb:> Id und Iq natürlich. Dafür muss einmal ausgerichtet werden, damit d=α=a.> Also Park und Park-Inverse mit elektrischen 0°.> Dafür muss der Motor aber auch bei einer elektrischen 0° stehen.
Ok, das Ausrichten scheint das Problem zu sein, jedoch brauch ich doch
für eine automatische Ausrichtung nach Id bzw. Iq zuerst die
Induktivität des Motors, so dass ich bereits Iq, bzw. Id injizieren
kann? Wenn ich nur Vq/Vd injiziere, hat der Motor ja die falsche
Ausrichtung?
Warum willst du unbedingt die Induktivitäten einzeln messen. Du kannst
mit einer rotierenden Injektion beide Induktivitäten messen. Siehe die
ganzen Injektions basierten Positionbeobachter.
Du meinst HFI? Wie genau mit einer rotierenenden Injektion Ld und Lq
berechnet werden kann habe ich leider nichts gefunden. Hast du irgend
ein Paper/Website dazu?
Alex B. schrieb:> Recht simpel. Dein dq System drehst du mit 2kHz und setzt Vd. Dann> ergibt sich ein Stromvektor Vd/(jw(Ld + wLq)*0.5 + e^j-2w * (Lq-Ld)*0.5)
Ok, das macht sinn, danke. Nur noch zur Injektion von Vd, ich mache das
momentan so, dass ich die Vd/Vq Amplitude (Reglerausgang) überschreibe
und konstant halte, dann den elektrischen Winkel einfach rotiere, eben
mit der Drehfrequenz. Ist dass der richtige Weg, um den Motor Openloop
zu drehen?
Bert S. schrieb:> Nur noch zur Injektion von Vd, ich mache das momentan so, dass ich die> Vd/Vq Amplitude (Reglerausgang) überschreibe und konstant halte, dann> den elektrischen Winkel einfach rotiere, eben mit der Drehfrequenz. Ist> dass der richtige Weg, um den Motor Openloop zu drehen?
Um ein Drehfeld auf den Motor zu geben ist das der richtige Weg. Ob der
Motor dreht hängt davon ab aber für die Messung soll er ja nicht drehen.
Deshalb gleich mit 2kHz draufgehen dem kann der Motor garantiert nicht
folgen.
Alex B. schrieb:> Recht simpel. Dein dq System drehst du mit 2kHz und setzt Vd. Dann> ergibt sich ein Stromvektor Vd/(jw(Ld + wLq)*0.5 + e^j-2w * (Lq-Ld)*0.5)
Danke, das war mir so nicht bewusst. Hast du da irgend einen Link dazu,
das geht so ja nicht auf von den Einheiten (einmal wLq und einmal nur
Ld)?
Sry Tippfehler. Beides ist mit w zu verstehen. Oder in Prosa: Wenn du
dein System mit 2kHz drehst und Vd > 0V und Vq = 0V setzt. Stellt sich
ein Stromvektor ein der ca. 90° nach eilt. Die Länge des Vektors ist
durch U = w(Ld + Lq)/2*I beschrieben. Das Besondere ist das die
Induktivität achsig ist bei den meißten Motoren. Soll heißen wenn du die
Induktivität im dq System aufmalst ergibt sich eine Elipse. Diese Elipse
bedingt das in deinem imaginären 2kHz dq System eine Oberwelle auf dem
Stromvektor ist und diese oberwelle hat exakt 4kHz und eine Amplitude
die durch U = w(Lq -Ld)/2*I beschrieben ist. Wenn du jetzt also
(Lq-Ld)/2 und (Ld + Lq)/2 bestimmt hast kannst du Ld und Lq berechnen.
Und die Phase der 4kHz Oberwelle ist zufällig auch noch die Position
deines Rotors mit einer 180° Unsicherheit. Weil du nicht weißt auf
welcher Seite der Elipse du bist.
N Direkten Link kann ich dir nicht mehr liefern das ist für mich
mittlerweile offensichtlich. Aber eigentlich alle älteren Paper zu HFI
die ein volles Drehfeld zu Injektion nutzen beschreiben das ganz genau.
Einfach mal etwas rum lesen.
Ok, danke dir, werde mir das mal noch genauer durchlesen. Wenn ich aber
die Oberwelle messen muss, brauche ich doch eine FFT oder kann ich die
irgendwie auf dem uC mit inverter analysieren?
Du willst eine feste Frequenz beobachten also brauchst du keine FFT
sondern ein Görtzel reicht aus. Das ist auch das einfachste. Auch
möglich wäre es den DC Anteil des Stromes in deinem dq' System raus zu
filtern und den resultierenden rotierenden Stromvektor mit -2*w drehen
dann kommen wieder DC Werte heraus. Beide DC Vektoren kannst du dann für
die Ldq Berechnung verwenden.
Danke dir. Gibt es irgendwie noch einen Trick für die Vd Injektion, da
meine Stromregelschleife nur 20kHz Bandbreite hat. Dann wäre ja bei 2kHz
die Auflösung für den Drehstromvektor nicht mehr so gut...
Du steuerst ja nur Vd. Und die geringe Auflösung des Sinus sind ja nur
Oberwellen die nichts am Grundsignal machen. Die Frage ist eher in
welchem Wertebereich die zu messenden Induktivitäten liegen und ob bei
2kHz die Spannung noch reicht. Du kannst auch auf 1kHz oder weiter
runter gehen. Bei Industrie Antrieben werden Frequenzen im Bereich von
500 - 1000hz verwendet. Bei kleinen Modellbau Motoren mit 30uH oder so
solltest du vllt. Auf 5kHz gehen.