Forum: HF, Funk und Felder Feldorientierte Regelung Stillstandsmoment


von Phil (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen

Im Anhang habe ich ein Bild von einer FOC Regelung angehängt. Dabei sind 
die Ströme Id und Iq die beiden Grössen, die man regeln kann.

Nun habe ich schon an mehreren Orten gelesen, dass bei einem BLDC Motor 
Id immer auf 0A geregelt werden soll. (Id erzeugt ja kein Drehmoment und 
wirkt immer in die Richtung des Permanentmagneten). Demzufolge ist iq 
für das Drehmoment verantwortlich.

Jetzt frag ich mich jedoch, wie ich damit ein Stillstandsmoment erzeugen 
kann. Sobald Iq != 0 dreht ja auch mein Motor. Muss ich dazu nicht doch 
Id erhöhen, je nach gewünschtem Stillstandsmoment?

Vielen Dank für die Erklärungen.

Gruss
Phil

von Alex E. (tecnologic) Benutzerseite


Lesenswert?

Moin,

Nein, du musst die Positionregeln. Ne PMSM oder ein BLDC ist kein 
Schrittmotor. Du kannst id > 0 verwenden um sozusagen das Rastmoment der 
Maschine zu erhöhen. Das ist aber völlig ineffizient und bringt nicht 
viel Drehmoment.

Gruß

Tec

von Antenne (Gast)


Lesenswert?

Die Regelung mot Id=0 ist eigentlich nur bei oberflächenmontierten 
Magneten oder bei geschrägten Nuten sinnvoll. Bei vergrabenen Magneten 
kann man durch die Einprägung eines Id-Stromes deutliche 
Wirkungsgradsteigerungen erreichen, da dadurch das Rastmoment mit 
genutzt wird. Gerade im Überlastbereich ist die Nutzung des Rastmoments 
sehr sinnvoll.
Theorien sind beispielsweise Maximum Tourque per Ampere...

Falls dich das Thema interessiert, kann ich wärmstens folgendes Buch 
empfehlen.
Elektrische Antriebe - Regelung von elektrischen Antriebssystemen von 
Dierk Schröder

und für die Grundlagen der Elektrischen Maschinen:  Elektrische 
Maschinen und Antriebe von Andreas Binder

Falls du willst sende ich es dir als PDF zu.

Viele Grüße

von Michael (Gast)


Lesenswert?

Überlege dir einfach warum man die Clark Park Transformation macht.

Hier mal ein Ausschnitt aus einer schnellen 12kW Motorenplatine für hohe 
Bandbreite.

[Anm. d. Mod.: Anhang gelöscht, Schaltplan ist verfügbar unter 
Beitrag "Re: Feldorientierte Regelung Stillstandsmoment"]

Da siehst du wie es konkret umgesetzt wird.

Überlege dir mal, was mit deiner Leistungsanforderung im 120 Grad System 
passieren würde, wenn du im transformierten nicht begrenzt,

Wenn du eh begrenzen musst nimmst du I, dann regelst du faktisch eine 90 
Grad Gleichstrommaschine.

: Bearbeitet durch Admin
von Phil S. (kleineraffe)


Lesenswert?

Hallo zusammen,

Vielen Dank schon mal für die Antworten. Was  Tec Nologic und Antenne 
meinten hab ich soweit verstanden. Danke auch Michael, ich muss dies 
morgen mal noch genauer studieren.

@Antenne: Das Thema interessiert mich durchaus. Sowohl privat als auch 
bei der Arbeit. Bei der Arbeit hab ich jetzt das erste Projekt in dem 
ich solch eine Regelung umsetzen soll.
Falls es also kein Copyright Problem gibt mit diesen Büchern hätte ich 
durchaus interesse am PDF. Kannst du mir eine PM machen?

Gruss
Phil

von Michael (Gast)


Lesenswert?

Das verlinkte Bild ist Ausschnitt aus einem Regler, den ich vor Längerem 
mal gemacht habe.

Wenn du an der Arbeit so etwas machen sollst, kreise erst mal die 
Anforderungsparameter soweit ein, dass du das KISS Prinzip (Keep it 
simple stupid) verwenden kannst.

Sehr hilfreich war die Motion Lib von Texas Instruments aus der DSP 
Reihe, dazu gibt es sogar fertige Stromverstärker EVA Boards.

Gerade wenn du Hochvolttechnik und grössere Ströme und Bandbreiten hast, 
ist das Handling der Fet's und der Lastgrenzen nicht einfach.

I2t Sicherung in Software zB mal als Stichpunkt, Schalten von 
Brückentreibern bei 600 V und Messung der Querströme im Bremsquadranten.

Da kommt einiges Nettes, ist aber beherrschte Standard Technologie, wenn 
du dich im Umfeld eines Herstellers bewegst, wie zB Texas Instruments, 
der dazu auch die DSP Libs anbieter.

Da das Alles in C geschrieben ist, kannst Du natürlic auch deine 
Notwendigen Anpassungen einstricken.

von Phil (Gast)


Lesenswert?

Hallo Michael

Ich habe dein Anhang nun mal genauer angeschaut und verstehe nun schon 
wesentlich mehr wie gestern Abend. Bei der Arbeit hab ich allerdings ein 
wesentlich kleineren BLDC 24V/50W. Dieser soll bis auf Drehzahl 0 
herunter geregelt werden können und dabei ein möglichst gleichbleibendes 
Drehmoment haben. (Momentan ist er mit Blockkommutierung angesteuert und 
da haben wir eben die unerwünschten Drehmomentrippel).

Gruss
Phil

von Jan S. (jannemann)


Lesenswert?

Das Drehmoment ist proportional zur Winkelbeschleunigung.
Dem zur Folge wird dein Motor bei einem konstanten Drehmoment immer 
schneller. Zumindest so lange bis das Lastmoment steigt und durch 
Reibung etc. genau so groß wird wie das Antriebsmoment.

Was du vermutlich suchst ist ein Geschwindigkeits oder Positionsregler.

Phil schrieb:
> Dieser soll bis auf Drehzahl 0
> herunter geregelt

Ich vermute mal du suchst einen Drehzahlregler. Das benötigte Drehmoment 
wird dann automatisch durch den Regler vorgegeben.
Du kannst den Drehzahlregler so auslegen, dass er direkt dein Iq vorgibt 
oder du arbeitest mit einem Kaskadenregler wie in dem Bild von Michael 
(https://de.wikipedia.org/wiki/Kaskadenregelung)

Falls ich auf dem Holzweg bin, bitte mal eine genauere Beschreibung von 
dem, was du regeln willst.

von Phil (Gast)


Lesenswert?

Nun,

Mit dem Motor wird eine Spindel angetrieben. Der Schlitten auf der 
Spindel wird gegen einen Anschlag gefahren. Die Position des Anschlags 
wird jedoch von Versuch zu Versuch verändert.
Ich habe mich etwas zu ungenau ausgedrückt, aber du hast natürlich recht 
mit deinem Einwand.

Jan S. schrieb:
> Dem zur Folge wird dein Motor bei einem konstanten Drehmoment immer
> schneller. Zumindest so lange bis das Lastmoment steigt und durch
> Reibung etc. genau so groß wird wie das Antriebsmoment.

Der Schlitten wird mit langsamer Bewegung gegen den Anschlag gefahren 
und dann ist das Lastmoment genau so groß wie das Drehmoment. Somit 
steht der Motor still und der Schlitten wird gegen den Anschlag 
gedrückt. Diese Anpresskraft sollte unabhängig welche Rotorposition der 
Motor hat immer gleich gross sein und genau dies ist momentan nicht der 
Fall.

Um den Schlitten hin und her zu fahren haben wir eine Kaskadierte 
Positions - Geschwindigkeitsregelung, welche ich nun direkt als Input 
für Iq verwenden werde.

Gruss
Phil

von Jan S. (jannemann)


Lesenswert?

Ok, dann wäre mein Ansatz eine Umschaltung von Geschwindigkeits auf 
Drehmomentregelung. (Stichwörter: Strukturvariable Regelung, Variable 
Structure Systems)

Also per Geschwindigkeitsregler an den Anschlag fahren und den 
Antastpunkt erkennen (die Stellgröße wird steigen). Dann auf eine 
Drehmomentregelung umschalten.
Da du bereits eine Kaskadenstruktur hast, sollte das kein Problem sein.




         +-------------+
VSoll -->| Geschw. Reg |----o \   Iq     +-------------+  +-----
         +-------------+       o-------->| Stromregler |->|
            z.B. PID      +-o            +-------------+  |
                          |                 z.B. PI       |Park-Clarke
M Soll -------------------+              +-------------+  |
                               Id=0 ---->| Stromregler |->|
                                         +-------------+  +----

von Jan S. (jannemann)


Lesenswert?

Ergänzung: Alternativ könnte man versuchen die Stellgröße des 
Geschwindigkeitsreglers auf den Wert zu begrenzen, der dem gewünschten 
Drehmoment entspricht. Aufpassen, dass der I-Anteil des Geschw. Reglers 
nicht weiter hochläuft!

Meiner Meinung nach brauchst du aber in der Kaskarde auf jeden Fall 
einen Stromregler. Position->Drehzahl->Strom(Iq)->Park-Clarke
Der Positionsregler muss mM nicht sein, weil:

Phil schrieb:
> Die Position des Anschlags
> wird jedoch von Versuch zu Versuch verändert

von Phil (Gast)


Lesenswert?

Jan S. schrieb:
> Ergänzung: Alternativ könnte man versuchen die Stellgröße des
> Geschwindigkeitsreglers auf den Wert zu begrenzen, der dem gewünschten
> Drehmoment entspricht.

Genau so habe ich das gedacht. Alternativ würde ein Umschalten auf eine 
Drehmomentregelung natürlich auch funktionieren.
Aber stimmt, auf den I-Anteil muss ich mich achten, dass er nicht in ein 
Wind-up läuft. Daran habe ich noch nicht gedacht.

(Den Positionssensor brauch ich auch sonst um Positionen anzufahren. 
Denn kann ich also nicht rausschmeissen.)

Gruss
Phil

von Michael K. (michael62)


Lesenswert?

Du brauchst nix umschalten.

Du musst nur die Integraltherme rausnehmen.

Dann ist das maximale Moment I X P(I) und wird auch nie grösser.

Während der Positionsregler läuft hast du zwar einen Schleppfehler, das 
ist aber bei dem, was du treibst, Rille.

Wenn du nun im Positionskreis noch ein kleines negativrs Integral 
reinnimmst, hast du genau P(I) X I X Motorkonstante als Moment am 
Anschlag.

Mach Kaskade, die ist immer funktionell und wenn man sie einmal 
verstanden hat, für Alles nutzbar.

Nimm mein Bild und mache das raus, was du nicht nrauchst.

von Mitleser (Gast)


Lesenswert?

Jan S. schrieb:
> Das Drehmoment ist proportional zur Winkelbeschleunigung.
Ursache <-> Wirkung verdreht, oder?
Zur Fragestellung:

Eigentlich sollte man immer zu einem Teil eine Drehmomentreglung haben, 
bzw die Drehfeldsteuerung sollte Folge einer solche Regelung sein.
Gegen Ende des Anschlags muss man das Drehmoment sogar zurücknehmen, um 
einen harten Anschlag zu vermeiden.

von T.U.Darmstadt (Gast)


Lesenswert?

Mitleser schrieb:
> Eigentlich sollte man immer zu einem Teil eine Drehmomentreglung haben,
> bzw die Drehfeldsteuerung sollte Folge einer solche Regelung sein.
Die Frage ist, wie man das Drehmoment unterwegs, also schon vor einem 
Anschlag steuert. Mich beschäftigt momentan die Welligkeit des Feldes im 
Fahrbetrieb. Stichwort Cogging.

Mit den üblichen Methoden, wie u.a. hier beschrieben, kommen wir nicht 
so recht weiter.

Beitrag "PMSM Rastmoment / Cogging"

Unser Problem ist unter anderem, die Motormomentwelligkeit genau zu 
bestimmen, weil die Position aus Hallsensoren rüclgerechnet wird und 
statisch nur auf 15 Grad genau bestimmt ist. Im Internet gibt es einige 
Ansätze dazu, wie man genauer werden könnte aber vielleicht hat hier ja 
auch noch jemand einen Tipp.

Das Ziel wäre, einen Motor schneller und direkter zu steuern, ohne zu 
viele Schwingungen ins das System zu leiten, weil die bewegten Objekte 
sehr erschütterungsempfundlich sind. Verbaut ist deshalb noch eine 
mechanische Dämpfung, welche die Schwingungen zwar gut glättet, aber das 
Problem des Haltemoments aufkommt: Jede Rückwirkung vom System im 
Haltezustand wird von der Regelung nur verspätet bemerkt. Die 
Schwingungen hätten wir gerne reduziert.

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo Thomas U.,

> Unser Problem ist unter anderem, die Motormomentwelligkeit genau zu
> bestimmen, weil die Position aus Hallsensoren rüclgerechnet wird und
> statisch nur auf 15 Grad genau bestimmt ist.

Tja, du kannst lange an den Symptomen rumdoktern. Oder einfach die 
Messgenauigkeit erhöhen, in dem Du für die Positionsregelung einen 
Encoder mit entsprechend höherer Auflösung verwendest. Damit dürftest du 
schneller zum Ziel kommen.

Mit freundlichen Grüßen
Thorsten Ostermann

von T.U.Darmstadt (Gast)


Lesenswert?

Ja klar, aber was tun, wenn es ein fertiges Drive System ist, bei dem 
die Informationsgewinnung fest verbaut ist und sich nicht tauschen oder 
nachrüsten lässt, weil Motor ein Zulieferteil, vergossen in Öl und unter 
HV-Schutz? Irgendwo auf der Welle was zu Platzieren geht nicht immer.

Außerdem gibt es wenige Geber, die ausreichend genau und auch schnell 
genug sind und die sind massiv teuer.

von Alex E. (tecnologic) Benutzerseite


Lesenswert?

Dann setzt man einen vernünftigen Beobachter fürs mechanische System auf 
und gleicht den mit den Hall Sensoren ab. Da die Drehzahl immer 
"konstant" bezogen auf den Winkel ist läuft das bis runter auf mehrere 
mH Drehfrequenz. Wenn man dann aus dem Beobachter einen Kalman macht 
fällt auch die Grenze.

Und ich rede nicht von Sensorlosem Betrieb. Ich rede nur vom 
mechanischen System a = dv/dt, v = ds/dt ...

Das Cogging muss man wohl oder übel einmessen und eine Tabelle mit dem 
Rastmomenten hinterlegen und diese Vorsteuern.

von J. S. (engineer) Benutzerseite


Lesenswert?

Nettes Thema (?)

Tec N. schrieb:

> Das Cogging muss man wohl oder übel einmessen und eine Tabelle mit dem
> Rastmomenten hinterlegen und diese Vorsteuern.
Solange es nur um den Motor geht, mag das noch ausreichend sein, 
allerdings hat das seine Grenzen, wenn der Motor und die Lagerung altert 
und seine mechanischen Randbedingungen ändert oder gar ein Getriebe 
dranhängt, das auch altert, verschmutzt und obendrein noch Lastwechsel 
mitkompensiert werden müssen.

Ein Weg ist, die Motorreaktion im Bezug auf das Soll und damit die 
Abweichung gegenüber dem idealen Lastwinkel anhand der Ströme zu 
erfassen und einen Korreturalgo einzutrainieren. Das ist aber nicht so 
ganz trivial. Was die aktiven Dämpfungen angeht, müssen die Frequenzen 
mit in die Regelung einbezogen werden, um Überregelung zu vermeiden. 
Wenn man solche Gegenmomentkompensation nicht sauber macht, kann das 
auch schnell mal nach hinten losgehen.

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo Thomas,

> Ja klar, aber was tun, wenn es ein fertiges Drive System ist, bei dem
> die Informationsgewinnung fest verbaut ist und sich nicht tauschen oder
> nachrüsten lässt, weil Motor ein Zulieferteil, vergossen in Öl und unter
> HV-Schutz? Irgendwo auf der Welle was zu Platzieren geht nicht immer.

Davon stand im OP nichts.

> Außerdem gibt es wenige Geber, die ausreichend genau und auch schnell
> genug sind und die sind massiv teuer.

Jeder billige offene Encoder mit 1000 Strichen bringt deutlich mehr 
Information als die o.g. Hallsensoren und kostet nur wenige Euro. Das 
das für industrielle Anwendungen keine brauchbare Lösung ist, geschenkt. 
Da sollten aber auch 200-300 EUR für einen industriellen Drehgeber 
niemanden vom Hocker hauen. Mehrere Manntage (bzw. eher Mannwochen) 
Entwicklungsaufwand für eine optimierte Regelung kosten ein vielfaches.

Mit freundlichen Grüßen
Thorsten Ostermann

von T.U.Darmstadt (Gast)


Lesenswert?

Hallo Thorsten,

Thorsten O. schrieb:
> Davon stand im OP nichts.
Mag sein, das sind aber so die praktischen Fälle wie sie in der 
Vielfältigen Natur auftreten können.

Thorsten O. schrieb:
> Jeder billige offene Encoder mit 1000 Strichen bringt
Der Meinung bin Ich auch, aber es gibt das sparwürtige Systemingenieure, 
die nur das billigste verbauen oder es weglassen.

Nun müssen die Positionen aufwendig geschätzt werden.

von Carlo (Gast)


Lesenswert?

Alexander B. schrieb:
> Das Cogging muss man wohl oder übel einmessen und eine Tabelle mit dem
> Rastmomenten hinterlegen und diese Vorsteuern.

Wie erschlagt ihr die Abweichungen des Verhaltens bei Alterung und 
Produktionsstreuung? Messstand in der Fertigung und Kalibrierung jedes 
einzelnen Motors?

von Friedrich B. (Firma: Hochschule Flensburg) (bloedow)



Lesenswert?

Hallo,

@Michael Klein (michael62)
>ein kleines negatives Integral.
Habe schon 2003 versucht Ihnen zu erklären, dass dies nicht fkt.

Warum fehlt in "Ihrem" Bild unten links das Schriftfeld?
Das Bild stammt aus meiner Vorlesung "Vektor kontrollierte Antriebe" um 
200x herum und ist mein geistiges Eigentum.
Es gibt auch eine überarbeitete Version mit adaptiver Strom- und 
Geschwindigkeitsvorsteuerung.
Ach, Grüßen Sie mir Michael K. aus Thüringen.

Mit freundlichen Grüßen
Prof (em.) Dr.-Ing. Friedrich Blödow

von Mockingbird (Gast)


Lesenswert?

Oha! Ein Expertenstreit.

Habe mal recherchiert:
https://hs-flensburg.de/hochschule/personen/bloedow


Gemeint ist sicher dieser Satz:

Michael K. schrieb:
> Wenn du nun im Positionskreis noch ein kleines negativrs Integral
> reinnimmst, hast du genau P(I) X I X Motorkonstante als Moment am
> Anschlag.

Mich würde auch interessieren, wie das funktionieren soll!

von -gb- (Gast)


Lesenswert?

Jan S. schrieb:
> Ich vermute mal du suchst einen Drehzahlregler. Das benötigte Drehmoment
> wird dann automatisch durch den Regler vorgegeben.
Meines Erachtens muss auf Drehzahl Null geregelt werden und damit das 
Drehmoment so eingestellt werden, dass es dem mechanischen Gegenmoment 
entspricht. Wäre die Frage, wie sich das aus den Strömem ablesen liesse, 
wenn es keine wesentliche Drehung gibt?


Mockingbird schrieb:
> Mich würde auch interessieren, wie das funktionieren soll!
Mich auch! Erklärung?

Carlo schrieb:
> Wie erschlagt ihr die Abweichungen des Verhaltens bei Alterung und
> Produktionsstreuung?
Und auch das!

Schade, dass das Thema abgerissen ist.

von J. S. (engineer) Benutzerseite


Lesenswert?

Thorsten O. schrieb:
> Da sollten aber auch 200-300 EUR für einen industriellen Drehgeber
> niemanden vom Hocker hauen. Mehrere Manntage (bzw. eher Mannwochen)
> Entwicklungsaufwand für eine optimierte Regelung kosten ein vielfaches.

... allerdings gibt es auch Maschinen mit mehr, als nur einem Geber und 
man möchte oft mehrere Maschinen verkaufen. Nehmen wir z.B. 5000 Geräte 
in 10 Jahren mit je 12 kleinen Motoren x 32,- (konkreter Preis) für den 
Präzisionsgeber samt Montagekosten und vergleichen das mit dem 
Entwicklungsaufwand für ein Jahr :-)

Und beim nächsten Gerät kommt wieder dieselbe Rechnung hoch ... etwas 
Nachdenken lohnt da schon. :D


Ge. B. schrieb:
> Carlo schrieb:
>> Wie erschlagt ihr die Abweichungen des Verhaltens bei Alterung und
>> Produktionsstreuung?
> Und auch das!

Messen des unbeeinflussten Zustandes und verfolgen der sich ändernden 
Belastungen, z.B.

: Bearbeitet durch User
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.