Hallo zusammen,
ich versuche derzeit, auf dem F28335 mit dem TMDSDOCK eine
feldorientierte Regelung zu implementieren. Damit soll ein fremderregter
Synchronmotor geregelt werden, der für eine DC-Spannung bis 400V
ausgelegt ist und maximal 60kW leisten kann. Da der dafür gedachte große
Umrichter noch nicht fertig ist, habe ich einen kleineren, der an einem
DC-Netzteil an 100V hängt. Die Erregung ist zunächst konstant auf 25V,
3,5A eingestellt. Große Lasten werden noch nicht bewegt.
Ich habe mich dabei an Beispielprogrammen von TI orientiert und nutze
die DMClib. Ich habe jetzt meinen Stromregelkreis geschlossen. Der
Winkel für die Transformationen kommt aus einem Rampengenerator. System
siehe erstes Bild.
Über die Vorgabe einer Geschwindigkeit für den Rampengenerator konnte
ich meinen Motor bis auf die angedachte Maximalgeschwindigkeit von
6000u/min bringen. Im nächsten Schritt will ich nun den Rampengenerator
mit meinem berechneten Winkel ersetzen. Dazu habe ich den Verlauf vom
Rampengenerator und meinen parallel dazu berechneten Winkel
aufgezeichnet, was soweit sehr gut aussieht (2. Bild).
Ich hatte nun erwartet, dass bei der Vorgabe eines Sollwertes für Iq die
Drehzahl durch die Decke geht, was aber leider (oder zum Glück?) nicht
passiert ist. Der Motor beschleunigt gemächlich bis ca 2200u/min und
bleibt dann auf dem Level. Ein Erhöhen von iq,soll lässt die Drehzahl
sogar noch etwas zurückgehen. Ich habe dann einige Werte aufgezeichnet,
um nach Fehlern zu suchen. (3. Bild, die png-Datei war 2MB groß, daher
jpg)
Auf meinem Oszi habe ich mir dann noch maßstäblich die Ströme der drei
Stränge zur Maschine aufgenommen. (4. Bild)
Ich kann mir derzeit leider nicht erklären, warum der Motor nicht weiter
beschleunigt. Die PI-Regler sind mit Kp=1 und Ki=0,0025 parametriert.
Hat jemand einen Tipp, was mögliche Ursachen sein könnten?
Danke und schönes Wochenende!
Gruß
Philipp
Na das klingt ja fast nach Formula Student...
Wenn kein Drehmoment abverlangt wird kann man durchaus in die
Feldschwächung gehen und kann dadurch bei entsprechend geringem
Drehmoment beliebig hohe Drehzahlen erreichen.
Regelst du aber nach Feedback vom Motor musst du bewusst in die
Feldschwächung übergehen (im Prinzip Kommutionstiming verändern), wenn
du das nicht machst erreichst du die maximale Drehzahl auch erst bei der
entsprechenden Spannung.
Student ja, Formular nein :)
Ich denke auch, dass es etwas mit dem Betrag der Erregung zu tun hat.
Ich hatte die Erregung bisher immer fest eingestellt. Ich habe aber auch
festgestellt, dass wenn man die Erregung dann einzieht, der Motor noch
etwas beschleunigt.
Da ich mit der Maschine im Leerlauf bin, aber dennoch 20A peak messe,
denke ich, dass da ein sehr großer Anteil Blindleistung dabei ist, die
ich in der Maschine im Kreis schicke. Das DC-Netzteil liefert nur etwa
3A.
Ich habe bei meinem letzten Versuch habe ich dann das simulierte
Winkelsignal durch mein tatsächlich gemessenes ersetzt, woraufhin ich
eben nur bis ~2200u/min gekommen bin (bei reduzierter Erregung noch
etwas mehr). Wie würde man denn in dem Fall das Kommutierungstiming (das
war es wahrscheinlich was du mit Kommutionstiming meintest?)
realisieren? Genügt es da schon, der inversen Parktransformation einen
leicht voreilienden Winkel zu verpassen?
Philipp Seckel schrieb:> Student ja, Formular nein :)
Für was für eine Art von Projekt ists denn?
> Ich denke auch, dass es etwas mit dem Betrag der Erregung zu tun hat.> Ich hatte die Erregung bisher immer fest eingestellt. Ich habe aber auch> festgestellt, dass wenn man die Erregung dann einzieht, der Motor noch> etwas beschleunigt.> Da ich mit der Maschine im Leerlauf bin, aber dennoch 20A peak messe,> denke ich, dass da ein sehr großer Anteil Blindleistung dabei ist, die> ich in der Maschine im Kreis schicke. Das DC-Netzteil liefert nur etwa> 3A.
Peak Ströme wo? In den Phasen?
In den Phasen kannst du auch kA haben und am Netzteil nur wenige A,
alles eine Frage der Pulslänge und Pufferung.
> Ich habe bei meinem letzten Versuch habe ich dann das simulierte> Winkelsignal durch mein tatsächlich gemessenes ersetzt, woraufhin ich> eben nur bis ~2200u/min gekommen bin (bei reduzierter Erregung noch> etwas mehr). Wie würde man denn in dem Fall das Kommutierungstiming (das> war es wahrscheinlich was du mit Kommutionstiming meintest?)> realisieren? Genügt es da schon, der inversen Parktransformation einen> leicht voreilienden Winkel zu verpassen?
Hab ehrlich gesagt noch keinen großen Motor in Feldschwächung (ich
glaube bei 3 phasen BL Motoren nennt man das auch anders) betrieben,
kenne es nur von <200gr Motoren, da einfach mit dem Timing rumgespielt
und ausprobiert.
Ein 60kW Motor wird allerdings etwas mehr als 30€ kosten und ist
dementsprechend vielleicht nicht als Versuchsobjekt geeignet.
Wieso ist das denn nötig?
Wenn die Drehzahl bei der Spannung schon erreicht werden muss ist bei
der Auslegung ja schon etwas völlig schief gelaufen, wäre das eingeplant
gewesen wüsstest du wohl wie du die Drehzahl erhöhst.
Gruß
Es geht darum, einen Umrichter für einen Motorenteststand zu bauen. Und
das eben nicht unter Verwendung von fertigen Baugruppen, sondern, mal
abgesehen von den IGBTs und deren Treibern, alles in Eigenbauweise. Ich
bin mit der Ansteuerung betraut worden und hatte mich da für den TI
Prozessor entschieden, da die ganze Sache mit der DMClib sehr
vielversprechend klang und im Grunde ja auch ist.
Was eben verwunderlich ist: Wenn ich den Winkel durch einen
SW-Rampengenerator vorgeben lasse, erreicht die Maschine auch die
6000rpm bei 100V. Und ohne Last dürfte es sowieso egal sein, wie viel
Spannung der Zwischenkreis liefert. Die Spannung in der Maschine stellt
sich ja anhand der Stellgrößen der Regler ein. Und die hätte ich im
Leerlauf als sehr gering erwartet. Stattdessen bin ich bei 2000rpm bei
80% Regleraussteuerung, wenn der Rotorlagegeber angekoppelt ist. Dann
erreichen die Ströme eben schnell den vorgegebenen Sollwert und der
Regler zieht die Stellgröße ein. Die Rückführung der Ströme in den
Controller passt von der Skalierung her aber definitiv. Kann mir auf das
Gesamtproblem noch keinen wirklichen Reim bilden...