Forum: Mikrocontroller und Digitale Elektronik Automatisierte E-Motor Messung


von Kai S. (lazur2006)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

ich beschäftige mich gerade mit der Möglichkeit E-Motoren (PMSM) 
automatisch mittels eines µControllers und entsprechender 
Leistungselektronik zu vermessen. Bei einer Recherche ist mir das Texas 
Instruments Projekt FAST(Flux, Angle, Speed, Torque) ins Auge 
gesprungen. In der Dokumentation SPRUHJ1G werden Oszilloskop Aufnahmen 
der Parameteridentifikation gezeigt, allerdings wird natürlich nichts 
über den Algorithmus zur Bestimmung der Parameter gesagt. Ich würde 
gerne mal meine Ideen dazu vorstellen und ihr könnt mir gerne (Gegen-) 
Vorschläge unterbreiten.

Bild "StateChart.PNG" zeigt das Ablauf-Diagramm mit eingezeichnetem Pfad 
für die Vermessung bei PMSM Maschinen.

Auf den nachfolgenden Aufnahmen wird immer der Phasenstrom dargestellt.

Die Markierungen "(?-X)" sollen meine Fragen darstellen.

(1) RoverL.PNG zeigt die Messung der reziproken Zeitkonstenten R/L.
Der Doku sind die folgenden Infos zu entnehmen:
 - Der Motor darf sich bei der Identifikation nicht drehen. Die
Frequenz muss groß genug gewählt werden (Default 100 Hz) um dies zu 
gewährleisten.
 - Messung mittels konstantem Phasenstrom und Frequenz
 - Ti nennt diese Art der Messung „Hochfrequenzmessung“ und bestimmt Tau 
mittels einem Hochfrequenz Rs und Ls (Rhf & Lhf)

(?-1) Habt ihr hier eine Idee wie man dabei an die Messgrößen Rhf & Lhf 
kommt?

(2) Rs.PNG zeigt die Messung des seriellen Widerstandes Rs.
 - Der Motor steht bei der Messung weiterhin still
 - Einprägung eines DC-Stroms nur in direkter Magnetisierungsachse (hier 
1A)

Ich denke hierbei wird die benötigte Spannung als Berechnungsgrundlage 
für Rs verwendet.

(3) RatedFlux.PNG zeigt die Messung der Flussverkettung durch die 
Permanentmagnete.
 - Zunächst wird der Motor im Open Loop auf die Drehzahl 
USER_MOTOR_FLUX_EST_FREQ_HZ beschleunigt
 - Umschaltung auf geschlossenen Stromregelkreis Initialauslegung des 
Reglers mit „R over L“
 - Zitat: „[…] Die Stromaufnahme senkt sich auf einen minimalen 
Stromwert der benötigt wird, um die Drehfrequenz bei einer mechanischen 
Belastung konstant zu halten […]“

(?-2) Scheinbar wird der benötigte Phasenstrom zum Erhalt einer 
definierten Drehzahl ausgewertet. Mir fällt dabei allerdings kein 
Zusammenhang zur Flussverkettung oder BEMF ein. Ich habe die Konstante 
(Vs oder Wb) bisher immer nur im Generator-Betrieb gemessen.

(4) Ls.PNG zeigt die Messung der seriellen Induktivität.
 - Der Motor wird weiterhin im Closed-Loop gedreht
 - Einregeln von d-Strom (Hier -0,5A)

Hier denke ich, greift der Zusammenhang
wobei
Der Stromeffektivwert wäre bekannt da er eingeregelt wird. Rs wäre aus 
der zweiten Messung bekannt. Die Frequenz ist ebenfalls bekannt. Die 
Effektiv-Spannung ist die einzige Variable. Sie wird jedoch durch den 
Stromregler gestellt und lässt sich als dessen Reglerausgangsgröße 
ablesen.

Vielleicht habt ihr ja Lust mir zu antworten, sonst ist das hier schon 
mal ein ganz netter Einstieg für interessierte Leute. :)

Grüße
Kai

QUELLE: InstaSPIN-FOC™ and InstaSPIN-MOTION™
User's Guide; http://www.ti.com/lit/ug/spruhj1g/spruhj1g.pdf, Abgerufen 
am 16.03.2019

von Alex E. (tecnologic) Benutzerseite


Lesenswert?

Kai S. schrieb:
> (?-2) Scheinbar wird der benötigte Phasenstrom zum Erhalt einer
> definierten Drehzahl ausgewertet. Mir fällt dabei allerdings kein
> Zusammenhang zur Flussverkettung oder BEMF ein. Ich habe die Konstante
> (Vs oder Wb) bisher immer nur im Generator-Betrieb gemessen.

Moin Kai,

das ist eigentlich recht simpel. Wenn die Drehzahl konstant bleibt aber 
der Strom abgesenkt wird fällt der Motorstrom immer mehr in die Q-Achse 
bis sie das Minimum an Strom gefunden haben mit dem der Motor die 
Drehzahl hält. folglich sind sie recht nah an i_d = 0 und somit 
entspricht die Spannung die sie jetzt brauchen um den Motor mit der 
Drehzahl zufahren abzüglich des Spannungsabfalls durch Rs genau der 
BEMF.

Die Messungen für L und R hast du ja schon richtig erläutert. Für Rs 
empfielt es sich ggf. die Messung auf allen Phasen gegen einander 
zumachen, weil die Wicklungen nie genau Gleich sind. Und für die Ls 
Messung kann man noch eine erweiterte Analyse machen um Ld und Lq zu 
bestimmen. Dafür muss man nur die 1. Oberwelle des Stromes auswerten. 
Darüber kann man dann auch die aktuelle Rotorlage ermitteln um einen 
Beobachter zu initialisieren.

Gruß

Alex

von Kai S. (lazur2006)


Lesenswert?

Hi Alex,

super Feedback! Klingt sehr einleuchtend.

Damit verbleibt nur noch die erste Messung (RoverL).

Vielleicht fällt mir die Tage dazu selbst noch etwas ein.
Ich werde es euch dann aber wissen lassen ;-)

Gruß
Kai

von Alex E. (tecnologic) Benutzerseite


Lesenswert?

Die erste Messung reduziert die Spannungsgleichung auf U = w*L/R*i wie 
du richtig erkannt hast, was ist daran jetzt unklar?

von Kai S. (lazur2006)


Lesenswert?

Alexander B. schrieb:
> Die erste Messung reduziert die Spannungsgleichung auf U = w*L/R*i

Hi Alex,

so ganz kann ich dir hierbei nicht folgen. Wie kann die von dir gezeigte 
Gleichung eine Spannung zum Ergebnis haben?
Vielleicht magst du mir noch einmal etwas ausführlicher antworten ;)

Grüße
Kai

von Alex E. (tecnologic) Benutzerseite


Lesenswert?

Korrektur vergiss das R. Das sorgt nur für die Phasenverschiebung. Es 
gilt einfach U=di/dt*L Und das di/dt wird durch w*i bestimmt. Jedes LCR 
misst die Induktivität ähnlich.

Rein mathematisch kommst du von den Spannungsgleichungen im d/q-System.

wenn jetzt wLi durch ein hohes Omega dominant und der Rest der 
Gleichungen ist vernachlässigbar.

von Kai S. (lazur2006)


Angehängte Dateien:

Lesenswert?

Hi Alex,

schön das du nochmal etwas Zeit für die Antwort hattest. :)

So ganz steige ich da jetzt aber noch nicht durch... ;-)

Alexander B. schrieb:
> Korrektur vergiss das R

Also eigentlich ist das Ziel der Messung (1) die Bestimmung von R und L, 
oder indirekt der reziproken Zeitkonstanten (R/L).

Im Anhang noch das Bild zur Messung. Zu erkennen ist f = konst. = 100Hz, 
i = konst. = 0,5 A.


Alexander B. schrieb:
> wenn jetzt wLi durch ein hohes Omega dominant und der Rest der
> Gleichungen ist vernachlässigbar.

Ich weiß nicht genau was in den von dir gezeigten Gleichungen entfällt, 
bzw. verstehe ich hier nicht so ganz warum der Widerstand bei 100 Hz 
keine Rolle mehr spielt.

Aus meiner Sicht würden sich die Gleichungen

vereinfachen zu

Da die elektrische Kreisfrequenz bei dieser Messung zu 0 definiert wurde 
(Stillstand des Rotors).

An dieser Stelle gebe ich dir Recht, dass der Spannungsabfall über dem 
Widerstand bei steigender Frequenz vernachlässigbar wird gegenüber dem 
über der Spule. Allerdings kann ich mir nicht vorstellen, dass man 
hiervon bei einer Frequenz von 100 Hz ausgehen kann.

Vielleicht reden wir hier ja auch gerade aneinander vorbei :)

Grüße
Kai

von Alex E. (tecnologic) Benutzerseite


Lesenswert?

Ja die 100Hz sind das Problem. Ich mache die Messung immer im Bereich 
von 1200Hz. Da fällt R weg. Ti scheint mit den 100Hz wirklich auf die 
Impedanz der Wicklung bei 100Hz zu schauen. Warum die dann aber nur das 
Tau aus der Impedanz bestimmen ist mir ein Rätsel. Die haben ja auch die 
Phase und können direkt auf R und wL schließen und nicht nur

von Kai S. (lazur2006)


Lesenswert?

Hallo Alex,

ich denke, hier wird vielleicht eine Auswertung der Phasenverschiebung 
getätigt.
Da hier der Zusammenhang
greift.

Ich habe dies einmal für ein Batch von bekannten Motoren simuliert und 
hinreichende Übereinstimmung zur tatsächlichen Zeitkonstanten 
festgestellt.

Nächste Woche werde ich dann mal einen Algorithmus zur Bestimmung der 
Phasenverschiebung aufstellen.

Grüße
Kai

von Alex E. (tecnologic) Benutzerseite


Lesenswert?

Jo das sieht gut aus. Der Algorithmus zur Messung der Phase ist Recht 
simpel. Du nutzt einfach die vorhandene FOC nur nimmst du nicht den 
Rotor Winkel für die Park sondern einen Winkel der mit 100Hz läuft. Dann 
machst fährst du eine U_d != 0 und guckst dir die transformierten Ströme 
an. Die Phase des Stromvektors ist dann dein Phi

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.