Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Fachkräfte:
Softwareentwickler (m/w) für automatische Codegenerierung
Softwareentwicklung mit MATLAB/Simulink und dSPACE TargetLink im Bereich Fahrwerkregelsysteme
Elektronische Fahrwerksysteme GmbH - Ingolstadt

Entwicklungsingenieur (m/w) für modellbasierte Softwareentwicklung
Modellbasierte Softwareentwicklung mit MATLAB/Simulink und dSPACE TargetLink
Elektronische Fahrwerksysteme GmbH - Ingolstadt

Ingenieur für Prüfstandssysteme und HiL-Testing (m/w)
Konzeptionierung neuer Hardware-in-the-Loop (HiL) Prüfstandssysteme
GIGATRONIK Köln GmbH - Köln

Senior Modellierer (w/m) für Hochvolt-Ladefunktionen
Modellbasierte Softwareentwicklung für elektrische Energiesysteme
Carmeq GmbH - Berlin

Entwicklungsingenieur/-in für Hard-/Software Assistenzsysteme
Steuergeräte- und Softwareverantwortung der Radarsensorik
Daimler AG - Stuttgart

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Vorgehensweise beim Regler Entwurf

 

bensko
Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 01.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2016, 18:07     Titel: Vorgehensweise beim Regler Entwurf
  Antworten mit Zitat      
Guten Nachmittag Zusammen Very Happy

im Rahmen eines Projektes möchte ich eine Drehzahlregelung mit unterlagerte Stromregelung für einen BLDC Motor realisieren.

Die Ansteuerung des BLDC Motors habe ich bereits umgesetzt und diese funktioniert soweit auch. Dabei kann ich entscheiden, ob ich eine Blockkommutierte oder Feldorientierte Ansteuerung möchte. Denke das dürfte für die Vorgehensweise des Regler Entwurfs aber egal sein.

Vorne weg sollte ich vlt. sagen, dass dieses Projekt benotet wird. Jedoch die Regelung nicht Hauptmerkmal der Aufgabe ist. Ich möchte aber dennoch die Regelung behandeln, da dies irgendwann mir von nutze sein wird. Außerdem möchte ich mein Regler nicht Empirisch auslegen, sprich über Sprungantwort messen und daraus die Parameter bestimmen (dies haben wir bereits im Labor gemacht).
Ich möchte aus den Differentialgleichungen einen passenden Regler entwerfen.


Mein Ansatz bisher war folgender:

Im ersten Schritt habe ich mir den unterlagerten Stromregler angeschaut. Dazu habe ich mir die Übertragungsfunktion (ÜF) der Regelstrecke aufgestellt:

 Gs(s) = \frac{1}{Rstr}\cdot \frac{1}{1+ s\cdot \frac{Lstr}{Rstr}}

Dabei ist Rstr der Strangwiderstand und Lstr die Stranginduktivität. Diese bilden die Zeitkonstante tau. Die Streckenvestärkung \frac{1}{Rstr} wird der Übersichtlichkeitshalber zu k_R umgeschrieben.


Gs(s) =k_R\cdot \frac{1}{1+ s\cdot tau


Als Regler habe ich einen PI Regler vorgesehen. Dieser hat folgende Struktur:

G_R(s) = K_P\cdot (1+\frac{1}{s\cdot T_n}) = \frac{K_P}{s\cdot T_n}\cdot (1+s\cdot T_n)


Im nächsten Schritt habe ich die Übertragungsfunktion des offenen Regelkreises aufgestellt:

G_o(s) = G_R(s)\cdot G_s(s)

G_o(s) = \frac{k_P\cdot k_R\cdot (1+s\cdot T_n)}{s\cdot Tn+s^2\cdot tau\cdot T_n}


Anschließend die ÜF des geschlossenen RK aufgestellt

G_w(s) = \frac{G_o(s)}{1+G_o(s)} = ...


Mit dieser Übertragungsfunktion habe ich dann nach den Kriterien des Betragsoptimums die Einstellparameter für Kp und Tn bestimmt.

Auch habe ich die Parameter über einen Koeffizientenvergleich bestimmt. Dazu habe ich die Struktur eines PT2 Gliedes genommen und über omega und der Dämpfung die Parameter berechnet.

omega = 2\cdot f

mit f = \frac{1}{tau}

und für die Dämpfung habe ich 0,707 genommen.

Ein anderes Verfahren mit den Koeffizienten vergleich habe ich hier gefunden:
http://www.ilea.uni-stuttgart.de/da.....vorl/Kapitel_8_doppel.pdf

Ich habe die Parameter mit unterschiedlichen Ansätze bestimmt, weil meine Stromregelung nicht so hinhaut wie ich es mir vorgestellt habe. Zu langsam oder/und mit bleibende Regelabweichung.

Folgende Werte habe ich in etwa bekommen: Kp = 0,4 und Ki = 0,03 (ich rechne mit normierte Größen)

Mit diesen Einstellung ist meine Regelung zu langsam oder erreicht den Sollwert nicht.

Nun habe ich etwas rumprobiert und mit diesen Einstellungen: Kp = 0,4 und Ki = 0,09 , ist mein System nach 15ms ausgeregelt. So würde es passen. Nun würde ich gerne diese Werte auch berechnet bekommen.

Habt Ihr eine Idee? Ist mein Ansatz falsch? Sprich meine Vorgehensweise beim Regler Entwurf?
Wie würdet Ihr das machen?

Im Hinterkopf habe ich das Gefühl das man das anders macht. Denke ich sollte nachdem ich die ÜF der Regelstrecke oder Regelkreis? aufgestellt habe ein Bodediagramm machen und dann iwie das System analysieren? Phasenreserve einplanen und so weiter.... Jedoch komme ich gerade nicht weiter Sad

Könnt Ihr mir sagen wie ich das Sauber machen könnte? Also eine Vorgehensweise wie ich da ran gehen soll um step by step den Regler zu entwerfen?

Wäre echt super wenn Ihr mir da helfen könnt. Falls irgendetwas unklar ist bitte fragen.

Viele Grüße
Private Nachricht senden Benutzer-Profile anzeigen


slinshady
Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 12.01.16
Wohnort: ---
Version: R2012b+
     Beitrag Verfasst am: 09.08.2016, 18:28     Titel:
  Antworten mit Zitat      
du könntest es mit einem Kompensationsregler machen. So kannst du dir eine Wunschübertragungsfunktion bilden und stationäre Genauigkeit und sogar die Geschwindigkeit vorgeben. Ich habe auf die schnelle leider keinen Link gefunden, wo dir dieser genauer erklärt wird. Oder ist der PI-Regler die Vorgabe?
(ich höre gerade Digitale Regelungssysteme I, dort behandeln wir das, vermutlich findest du in Lektüre dazu etwas)

(Zu deiner Regelung grundsätzlich kannst du dir ja mal die Wurzelortskurve zeichnen und schauen für welches K die Polstellen des geschlossenen Kreises möglichst nah an der Imaginärachse liegt, aber in der linken s-ebene.)


<br />
G_{g}(s) = \frac{s+\frac{1}{T_n}}{s^2+s\left(\frac{1+K_p K_r}{\tau}\right)+\frac{K_p K_r}{T_n \tau}}
<br />



ist doch dein geschlossener Kreis oder?
deine Dämpfung ist tau nehme ich an (also der Leitungswiderstand).

Dort würde ich jetzt die Nullstellen des Nennerpolynoms bestimmen:


<br />
s^2+s\left(\frac{1+K_p K_r}{\tau}\right)+\frac{K_p K_r}{T_n \tau}= 0 \\
<br />
\rightarrow \\
<br />

<br />
s_{1,2} = -\left(\frac{1+K_p K_r}{2\tau}\right)\pm \sqrt{\left(\frac{1+K_p K_r}{2\tau}\right)^2-\frac{K_p K_r}{T_n \tau}}
<br />

das System sollte nun meine ich am schnellsten sein, wenn du die Pole zu einer doppelten Polstelle machst. D.h.


<br />
\left(\frac{1+K_p K_r}{2\tau}\right)^2-\frac{K_p K_r}{T_n \tau} = 0 
<br />

nun solltest du deine einzelnen Koeffizienten bestimmen können, sodass deine System schnell ist und nicht schwingt. Soweit ich das jetzt verstanden habe ist dir sowieso nur dein K_r unbekannt oder? Dann kannst du für die Gleichung noch einmal die pq-Formel anwenden und wählst eine Lösung aus. Dabei ist es meistens das kleinere, sodass du im Bereich des Stellglieds bleibst.
Private Nachricht senden Benutzer-Profile anzeigen
 
bensko
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 01.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2016, 21:37     Titel:
  Antworten mit Zitat      
Hi slinshady,

danke erstmal für die schnelle Antwort.

Zu deiner ersten Frage:
Habe vergessen zu erwähnen, dass ein PI Regler Vorgabe ist und somit ein Kompensationsregler nicht in Frage kommt.

Zweite Frage:
für die ÜF des Geschlossenen RK bekomme ich folgendes:

G_w(s)= \frac{K_P \cdot K_R \cdot (1+s\cdot T_n)}{K_P \cdot K_R \cdot (1+s\cdot T_n) + s \cdot T_n + s^2\cdot tau \cdot T_n}

umgestellt ergibt sich das zu:

G_w(s)= \frac{1}{1 + \frac{s \cdot T_n}{K_P \cdot K_R \cdot (1+ s \cdot T_n)} + \frac{s^2 \cdot tau \cdot T_n}{K_P \cdot K_R \cdot (1 + s \cdot T_n)}}


oder ? Ich mein vereinfacht gesagt kann ich aus dem Offenen RK, ein geschlossenen RK wie folgt bilden:

 G_w (s) = \frac {G_0(s)}{1+G_0(s)} = \frac {Z_0(s) }{N_0(s) + Z_0(s)}


Dritte Frage/Vorschlag:

Wie kann ich die Nullstellen bestimmen, wenn Kp, Tn unbekannt sind? Wenn ich den Ausdruck unter der Wurzel = 0 setze und dann mit der p/q Formel auflöse, bleibt mir dennoch eine unbekannte oder nicht? (Hab's gerade nur Grob angeschaut)

Das gleiche gilt dann doch auch für die Nullstellen oder?


Grüße Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
bensko
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 01.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.08.2016, 09:22     Titel:
  Antworten mit Zitat      
Glaub ich hab die Umstellung falsch gemacht, oder unnötig kompliziert


G_w(s)= \frac{1 + s \cdot T_n}{1+ s \cdot T_n \cdot (1 + \frac{1}{K_P \cdot K_R})+ s^2 \cdot \frac {tau \cdot T_n}{K_P \cdot K_R}}

so müsste es nun auf jeden fall passen oder?
Private Nachricht senden Benutzer-Profile anzeigen
 
slinshady
Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 12.01.16
Wohnort: ---
Version: R2012b+
     Beitrag Verfasst am: 10.08.2016, 09:38     Titel:
  Antworten mit Zitat      
das was du nun hast ist ja im prinzip das gleiche wie ich, nur habe ich das s^2 alleine stehen. Hmmm wenn du zwei Parameter nicht kennst bin ich gerade auch am überlegen, ob du es am ende numerisch lösen musst.
Wenn du die letzte Gleichung von mir nach K_p umstellst erhälst du zwei K_p in Abhängigkeit von T_n davon solltest du das kleinere wählen um keine Probleme mit der Stellgröße zu bekommen. Evtl. hilft dir hier dann das Verfahren über das Betragsoptimum das T_n zu finden? Rolling Eyes

Das du das K_p(T_n) einsetzt und das Betragsoptimum suchst, dann solltest du ein T_n erhalten. andererseits ergibt sich für dein K_p wahrscheinlich sowieso ein T_n_max, das nicht überschritten werden darf, sonst fängt deine Strecke an zu schwingen...

Am besten setzt du einfach mal das kleinere K_p(T_n) in die Gleichung ein:


<br />
\left(\frac{1+K_p K_r}{2\tau}\right)^2-\frac{K_p K_r}{T_n \tau} = 0 
<br />

Damit sollte sich eigentlich auch schon ein T_n ergeben. denn die Gleichung wird ja nur für ein T_n null.
edit:
allerdings ist es ja die nullstelle von K_p also teste mal, ob es dann nur eine Lösung für T_n gibt.
Private Nachricht senden Benutzer-Profile anzeigen
 
bensko
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 01.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.08.2016, 11:50     Titel:
  Antworten mit Zitat      
slinshady hat Folgendes geschrieben:
... Evtl. hilft dir hier dann das Verfahren über das Betragsoptimum das T_n zu finden? Rolling Eyes


Sprich die Nachstellzeit gleich der Statorzeitkonstante wählen um diese zu kompensieren?? Dann wäre T_n = tau


slinshady hat Folgendes geschrieben:
... Am besten setzt du einfach mal das kleinere K_p(T_n) in die Gleichung ein:


<br />
\left(\frac{1+K_p K_r}{2\tau}\right)^2-\frac{K_p K_r}{T_n \tau} = 0 
<br />


hmm ich bekomme glaub nicht die gleiche ÜF wie du. Also wie kommst du auf den Faktor T_n \tau ? Heißt es Tn^tau oder Tn mal tau ?

Danke Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
slinshady
Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 12.01.16
Wohnort: ---
Version: R2012b+
     Beitrag Verfasst am: 10.08.2016, 12:40     Titel:
  Antworten mit Zitat      
anfangs: T_n \cdot \tau
zu meiner Übertragungsfunktion:

G_g(s) = \frac{F_o}{1+F_o}
<br />
\\ \text{mit:}\\
<br />
F_o = K\cdot\frac{Z_o}{N_o}\\ \vspace{1cm}\text{mit: } K= K_pK_r\\ \text{wird zu:}\\
<br />
G_g(s) = \frac{Z_o}{N_o+K\cdot Z_o}
<br />

so hatte ich meine Übertragungsfunktion gebildet. Über das charakteristische Polynom, also den Nenner des geschlossenen Kreises bestimme ich nun die konstanten für den Reglerentwurf
Private Nachricht senden Benutzer-Profile anzeigen
 
bensko
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 01.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.08.2016, 06:42     Titel:
  Antworten mit Zitat      
Wenn ich deine ÜF so umstelle, dass ich im Nenner 1 + ... erhalte, dann bekomme ich zwar im Nenner das gleiche aber im Zähler habe ich einen Faktor.
Kann sein dass ich da iwo was verdreht habe.

Was würdest du für Einstellparameter bekommen, für Rstr = 30*10^-3 Ohm und Lstr 50*10^-6 Vs/A ?

Mal noch eine Frage nebenbei. Kann ich meine Strecke so wie gezeigt beschreiben? Langt das so um eine vernünftige Stromregelung auszulegen? Oder muss ich zwingend die erweitern (Stellglied, PWM)?

Habe mir mal den Bodediagramm zeichnen lassen für die Strecke. Der Betragsverlauf schneidet die 0dB Linie bei Omega = 2,2e+04 1/s. Das wäre bei -88°
Wenn ich nun anhand dieses Diagramms ein PI Regler einstellen möchte, dann müsste doch diese die Betragskennlinie anheben um eine Phasenreserve zu erhalten oder?

bode.PNG
 Beschreibung:

Download
 Dateiname:  bode.PNG
 Dateigröße:  26.73 KB
 Heruntergeladen:  88 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
slinshady
Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 12.01.16
Wohnort: ---
Version: R2012b+
     Beitrag Verfasst am: 11.08.2016, 09:18     Titel:
  Antworten mit Zitat      
Sorry ich habe einen fehler gemacht, indem ich das K aus dem Z_o herausgenommen habe Sad
es gehört für den geschlossenen RK auch zum Zähler dazu! Also deine Nullstellen des geschlossenen RK sind ebenfalls davon abhängig!
Nochmal eine Nachfrage, es sind bekannt:
\tau = \frac{L_{Str}}{R_{Str}} \text{        und     } K_r

und um nochmal von vorne zu beginnen, denn irgendwie glaube ich es geht auch einfacher

G_S(s) =  \frac{K_r}{1+s\tau} = \frac{K_r}{\tau} \cdot\frac{1}{\frac{1}{\tau}+s}

G_R(s) = K_p \cdot\frac{1+sT_n}{sT_n} =K_p \cdot\frac{\frac{1}{T_n}+s}{s}

F_o = \frac{K_r\cdot K_p}{\tau} \cdot\frac{\frac{1}{T_n}+s}{\left(\frac{1}{\tau}+s\right)s}

es sollte an sich zulässig sein, T_n = \tau zu setzen, da die Polstelle der Strecke eine stabile ist. Damit wäre T_n bestimmt.

daraus ergibt sich der offene Regelkreis zu:

F_o = \frac{K_r\cdot K_p}{\tau} \frac{1}{s}

und der geschlossene mit k =  \frac{K_r\cdot K_p}{\tau}

G_g = \frac{F_o}{1+F_o} = \frac{ k}{s+k}

das ist ein ähnlich einem PT1-Verhalten. Über das charakteristische Polynom kannst du mit K_p die Lage deiner Polstelle bestimmen und somit die ausregelzeit festlegen. Stabil ist das ganze für K_p > 0
um so näher die Polstelle an die Imaginärachse kommt um so schneller ist die dynamik des Systems. Dafür wird die Verstärkung, da K_p auch im Zähler steht auch geringer.
Private Nachricht senden Benutzer-Profile anzeigen
 
bensko
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 01.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.08.2016, 10:47     Titel:
  Antworten mit Zitat      
Ok wenn Rstr 30*10^-3 Ohm und Lstr 50*10^-6 Vs/a wären. Dann wäre tau 1,667ms

Somit wäre für den PI Regler Tn = 1,667ms und Kp = 0,05 oder ??


So langsam glaube ich, dass ich meine Regelstrecke so vereinfacht nicht betrachten kann.

Mit diesen Einstellungen erreiche ein extrem langsames Regelverhalten mit bleibender Regelabweichung.

dennoch bis hierhin schon mal danke!
Private Nachricht senden Benutzer-Profile anzeigen
 
slinshady
Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 12.01.16
Wohnort: ---
Version: R2012b+
     Beitrag Verfasst am: 11.08.2016, 11:59     Titel:
  Antworten mit Zitat      
ja das liegt wohl an dem reinen I-Glied, was im offenen RK übrig bleibt. Rolling Eyes
deshalb ist die Variante eher nichts. Ich bin die Tage bei einem Betreuer wegen einiger Fragen und kann das dann auch mal ansprechen.
Private Nachricht senden Benutzer-Profile anzeigen
 
bensko
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 01.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.08.2016, 12:13     Titel:
  Antworten mit Zitat      
slinshady hat Folgendes geschrieben:
ja das liegt wohl an dem reinen I-Glied, was im offenen RK übrig bleibt. Rolling Eyes


Woran erkennt man das? Habe das schon mal iwo gelesen dass es da Probleme gibt aber nicht ganz verstanden wieso?

Zitat:

deshalb ist die Variante eher nichts. Ich bin die Tage bei einem Betreuer wegen einiger Fragen und kann das dann auch mal ansprechen.


Das wäre echt super wenn du mir da weiter helfen könntest!


denke ich müsste meine Regelstrecke erweitern. Die Übertragungsfunktions des Umrichters nachbilden (PT1 Verhalten) aber welche Zeitkonstante ?


Danke dir jedoch schon vielmals!
Private Nachricht senden Benutzer-Profile anzeigen
 
slinshady
Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 12.01.16
Wohnort: ---
Version: R2012b+
     Beitrag Verfasst am: 11.08.2016, 12:24     Titel:
  Antworten mit Zitat      
dein offener RK für T_n = tau lautet ja k/s .

wenn du 1/s stehen hast ist das ein reines i-Glied. k*s wäre ein reines d-Glied.
Private Nachricht senden Benutzer-Profile anzeigen
 
slinshady
Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 12.01.16
Wohnort: ---
Version: R2012b+
     Beitrag Verfasst am: 20.08.2016, 16:59     Titel:
  Antworten mit Zitat      
Hallo bensko,

ich konnte in der Fragestunde leider nicht deine Frage vorbringen, da der Betreuer dann weg musste. Ich habe mir jetzt aber selbst noch einmal gedanken gemacht.
Also da es sich um ein reales System handelt ist das tatsächliche Ausgleichen einer Polstelle des Regelkreises auch wenn sie stabil ist nicht immer möglich. Das System ist für die Polstelle bei -tau noch zu langsam, ein PI-Regler sollte es allerdings stationär genau ausregeln. Eine Idee wäre es die Nullstelle des PI-Reglers in der linken s-Halbebene zu platzieren und dann ein K zu bestimmen, für welches die eine Polstelle des geschlossenen RK nicht mehr in 0 liegt. möglicherweise bekommst du das System so beschleunigt.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2017 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.