Forum: Digitale Signalverarbeitung / DSP / Machine Learning Regelung einer PT1-Strecke mit PI-Regler


von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

da ich mich zur Zeit im Kreis drehe, hoffe ich, dass mir jemand hier 
weiterhelfen kann.

Folgendes Problem:

Es soll der Drehzahlregler (PI) eines Motors ausgelegt werden. Zuerst 
habe ich einen Stromsprung aufgegeben (siehe Anhang). Hier gab es die 
Vorgabe, die Regelstrecke als PT1-Glied zu approximieren. Also habe ich 
über das 63%-Verfahren diese in jenes Glied mit folgenden Werten 
approximiert:

PT1-Glied: Gs(s) = (76,22 UPM/A) / (s + 0,625)

Jetzt das Problem: die meisten Verfahren zur Einstellung der 
Reglerparameter beruhen auf den Werten Tg und Tu. Diese kann ich jedoch 
bei meinem PT1-Glied nicht ermitteln, da es ja keine Wendetangente und 
keine Totzeit gibt. Die T-Summenregel funktioniert auch nicht, da - 
Besonderheit des tollen Motors - maximal eine Verstärkung von Kp = 0,313 
A / UPM des PI-Reglers einstellbar ist.

Also nun die Idee: Wurzelortskurvenverfahren zur Ermittlung der 
PI-Reglerparameter. Eventuell mit einer festen Verstärkung von Kp = 
0,313A / UPM eine optimale Nachstellzeit ermitteln ... das wurde mir so 
gesagt. Nur weiß ich nicht, wie ich nun vorgehen soll, ich hab von dem 
Verfahren nicht viel Ahnung..hat jemand ein Anwendungsbeispiel das 
vielleicht zu mir passt?

Die Regelstrecke besitzt keine Nullstellen und eine Polstelle bei - 
0.625
Soweit bin ich ... aber wie ich jetzt geeignete Reglerparameter ableite 
...

Kann jemand helfen?

: Verschoben durch Admin
von al3ko (Gast)


Lesenswert?

Hi Thomas,

wenn du die Zeitkonstante des Motors hast (z.B. aus deiner 
Approximation), kannst du doch das BODE Diagramm zeichnen. Den Regler 
legst du dann nach deinen Wünschen aus, so dass die Übertragungsfunktion 
des offenen Regelkreises deinen Anforderungen entspricht.

http://www.rn-wissen.de/index.php/Regelungstechnik#PI-Regler


Siehe den Abschnitt:
"Dimensionierung mit dem Bodediagramm"

Hilft dir das weiter?

von al3ko (Gast)


Lesenswert?

PS:
Alternativ könnte man den Weg über das "Betragsoptimum" versuchen.

von Thomas (Gast)


Lesenswert?

Mit dem Betragsoptimum wird es denke ich nicht funktionieren, weil 
maximal eine Verstärkung von 0.313 A / UPM eingestellt werden kann. Das 
ist ja der Nachteil ...

PT1-Strecken-infos:

Kps = 121.95 UPM/A
T = 1,6 s

Hm mit dem Bodediagramm muss ich mich erstmal einarbeiten - hoffe das 
klappt. Habe nicht mehr ganz so viel Zeit -.- Gibts noch andere 
Möglichkeiten? Ist es sinnlos mit dem Wurzelortskurvenverfahren?

von al3ko (Gast)


Lesenswert?

Thomas schrieb:
> PT1-Strecken-infos:
>
> Kps = 121.95 UPM/A
> T = 1,6 s
Warum sind die Werte nun anders als in deinem ersten Beitrag, Thomas?

> PT1-Glied: Gs(s) = (76,22 UPM/A) / (s + 0,625)

> Hm mit dem Bodediagramm muss ich mich erstmal einarbeiten - hoffe das
> klappt. Habe nicht mehr ganz so viel Zeit -.-

Kennst du dich in MATLAB aus? Mittels bode() kannst du dir das BODE 
Diagramm zeichnen lassen. Wobei ein PT1 Glied nicht ganz so schwer sein 
dürfte.


> Ist es sinnlos mit dem Wurzelortskurvenverfahren?
Ich kenne das Wurzelortskurvenverfahren nicht, kann daher nichts zu 
sagen.

von Thomas (Gast)


Lesenswert?

al3ko schrieb:
>> PT1-Strecken-infos:
>>
>> Kps = 121.95 UPM/A
>> T = 1,6 s
> Warum sind die Werte nun anders als in deinem ersten Beitrag, Thomas?
>
>> PT1-Glied: Gs(s) = (76,22 UPM/A) / (s + 0,625)
>

Das sind die gleichen Werte, nur umgerechnet in die 
Polstellen-Darstellung:

121.95 / (1,6s + 1) = 76,22 / (s + 0.625)


>> Hm mit dem Bodediagramm muss ich mich erstmal einarbeiten - hoffe das
>> klappt. Habe nicht mehr ganz so viel Zeit -.-
>
> Kennst du dich in MATLAB aus? Mittels bode() kannst du dir das BODE
> Diagramm zeichnen lassen. Wobei ein PT1 Glied nicht ganz so schwer sein
> dürfte.
>

Meine Übertragungsfunktion habe ich in Matlab und das zeichnen ist nicht 
das Problem. Nur steht in der Anleitung von Wikpedia, dass man z.B. eine 
Verstärken Kp von 18 wählen soll, was 25 dB entspricht. Ich komm halt 
nicht damit klar, dass man im Motor max. 0,313 einstellen kann ..

von al3ko (Gast)


Lesenswert?

Ich muss ganz ehrlich gestehen, dass ich dir nicht folgen kann und 
ziemlich verwirrt bin. Wie ist der Regler realisiert?

Was mich vor allem verwundert:
Kp ist für gewöhnlich die Verstärkung des Reglers. Die Verstärkung ist 
m.W.n. ein proportionaler Faktor ohne Einheit. Ein ganz einfacher 
P-Regler:
u(t)=Kp*e(t)

Bei dir sind es irgendwas UPM/A.

Zugegeben, ich kenne mich in Motorregelung nicht wirklich aus, aber 
gelten da andere Gesetze?

Und warum ist eure Regelverstärkung auf 0.XXX beschränkt? Ist es nicht 
eher so, dass die Regelverstärkung größer sein kann, aber das Stellglied 
einen maximalen Wert aufweist? Ist es das, wovon du sprichst?

In diesem Fall handelt es sich um den Windup Effekt. Wie versiert bist 
du in der Regelungstechnik? Kannst du nachvollziehen, was ich 
geschrieben habe oder ist das alles Neuland? :)

Gruß

von Christian G. (christian_g83)


Lesenswert?

al3ko schrieb:

> Die Verstärkung ist
> m.W.n. ein proportionaler Faktor ohne Einheit.

Die Regelabweichung multipliziert mit dem Proportionalfaktor ergibt die 
Stellgröße. Die Einheit des Faktors muss also der Einheit der Stellgröße 
dividiert durch die Einheit der Regelabweichung entsprechen.

Christian

von Thomas (Gast)


Lesenswert?

Realisiert ist der Regler intern auf dem Motor (Engel HBI 3790) - den 
kann man über die serielle Schnittstelle parametrieren - es lässt sich 
aber für den P-Anteil nur ein Wert von 0 - 1 einstellen. Und nach einem 
Anruf bei der Firma sagten die mir, dass ein eingesteller Wert von 1 
genau 0,313 A / UPM entspricht. Mir kommt das auch ziemlich komisch vor, 
aber das ist wohl so?!

Naja versiert .. hm ich hatte mal die Grundlagen :) deswegen ists grad 
nicht so einfach hier was auszulegen ... bei diesem Sonderfall

von Paket (Gast)


Lesenswert?

Wenn der P-Anteil so klein ist, dann dreh ihn einmal voll auf und schaue 
ob die Regelstrecke eh nicht schwingt.
Danach kannst du ja mit dem I-Anteil herumspielen.
In deinem Fall ist die praktische Methode wohl schneller und 
zielführender.

von Thomas (Gast)


Lesenswert?

Habe ich bereits probiert, die Regelstrecke führt kein Schwingen aus

von Thomas (Gast)


Lesenswert?

Also ich soll den Reglerentwurf mit dem Wurzelortskurvenverfahren 
durchführen. Dazu habe ich jetzt die Regelstrecke und den Pi-Regler als 
Übertragungsfunktion dargestellt und mit dem sisotool aufgerufen.
1
s = tf ('s');                     % definiert den LaPlace-Operator s
2
Gs=tf(76.22,[1,0.625])            % Regelstrecke PT1-Glied
3
Gr = 0.313 *(( 1 + s) / s  )      % Pi-Regler mit P = 0,313 A / UPM
4
5
sisotool(Gs, Gr)

Ich versteh aber jetzt noch nicht ganz, wie ich den I-Anteil bzw. Tn 
dort variabel gestalte.

Wie geht man den allgemein vor, wenn man die vorhandene PT1-Strecke mit 
einem PI-Regler regeln will (mittels Wurzelortskurvenverfahren?

von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

Zwischenstand:

Ich habe meine Regelstrecke in ein PT2-Glied approximiert.

Zeitkonstanten:

T1 = 1,09 s
T2 = 0,26 s

Anschließend habe ich mittels Wendetangentenverfahren Tg und Tu 
bestimmt:

Tu = 0,12 s
Tg = 1,75 s

Bei einem Sprung von 20,5 A stellt sich eine Drehzahl von 2750 UPM ein, 
folglich ist Ks = 134,15 UPM/A

Über CHR (Ohne Überschwingen, Führung) habe ich nun folgende Parameter 
ermittelt:

Kpr = 0,037 A / UPM
Tn = 2,1 s
Ki = Kpr / Tn = 0,017

Im Anhang befindet sich die Simulation.
X-Achse: Zeit / s
Y-Achse: Drehzahl / UPM

Rosa = Regelstrecke ohne Regler
Rot = Regler mit Regelstrecke
hellblau = Drehzahlsprung auf 500 UPM


Wie kann es sein, dass trozdem ein Überschwingen vorkommt, obwohl CHR 
ohne Überschwingen gewählt wurde?!

von ... (Gast)


Lesenswert?

Christian Gudrian schrieb:
> Die Einheit des Faktors muss also der Einheit der Stellgröße
> dividiert durch die Einheit der Regelabweichung entsprechen.

Dann kommt da auch schnell ein Zahlenfaktor mit hinein.

von Thomas (Gast)


Lesenswert?

... schrieb:
> Christian Gudrian schrieb:
>> Die Einheit des Faktors muss also der Einheit der Stellgröße
>> dividiert durch die Einheit der Regelabweichung entsprechen.
>
> Dann kommt da auch schnell ein Zahlenfaktor mit hinein.

Das müsste eigentlich passen:

Regelgröße: UPM z.B. Vorgabe 500 UPM
Stellgröße: A z.B. 5 A
Regelabweichung: ebenfalls UPM

Und Kpr ergibt sich aus: 0.34 * (Tg [s] / Kps [UPM / A] * Tu [s])

Die Verstärkung der Strecke habe ich aus der Sprungantwort berechnet: 
134.15 UPM/A



Die Faktoren/Einheiten müssten daher doch eigentlich passen ...

von Thomas (Gast)


Lesenswert?

Kpr hat also die Einheit A / UPM . 500 UPM kommen rein -> A kommen raus.


Die Übertragungsfunktion des PT2-Gliedes sollte eigentl auch richtig 
sein:
1
T_1 = 1.09;
2
T_2 = 0.26;
3
4
Gs = (134.15 /((T_1*s+1)*(T_2*s+1)))
5
6
 = 134.15 / (0.2834s² + 1.35s + 1)

von Thomas (Gast)


Lesenswert?

Kann es sein dass der Fehler doch am PT2-Glied liegt?

Meine Zeitkonstanten:
T1 = 1,09s
T2 = 0,26s

Damit lässt sich der Dämpfungsgrad bestimmten: D = 1/2 * T1/T2 = 2,09
Mein Glied ist nur für D = 1 gültig (-> K / (T1*s+1)*(T2*s+1))

Ist das richtig?

Dann müsste ich die allgemeine Formel verwenden:

G(s) = K / (1 + T1*s + T2² *s²)

von Tomy (Gast)


Lesenswert?

Servus zusammen

Kann jemand von euch mir helfen,
Ich habe ein Problem in Hardware dass ich ein Pt1 Glied regeln durch 
Mikrocontroller muss
Das wäre nett von euch wenn ihr mir einen Vorschlag i. Hardware geben
Es wird Pt1 Glied mit dem arduino geregelt

Gruß

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.