Forum: Digitale Signalverarbeitung / DSP / Machine Learning WOK mit Schwierigkeiten


von Jörn A. (joern_)


Angehängte Dateien:

Lesenswert?

Hy

habe jetzt nach langem Testen endlich meine Strecke in Matlab 
hinbekommen

Transfer function:
  -240 s^3 - 136 s^2 - 22.5 s - 0.5
--------------------------------------
240 s^4 + 376 s^3 + 159 s^2 + 24 s + 1

Kp=1
Ki=0.61
Kd=0.04
(durch testen)

Der Regler funktioniert soweit ganz gut, aber kann man ihn nicht am 
besten mit Wurzelortskurven auslegen?

Leider ergibt die WOK zum System leider keine zur Literatur passenden 
Zusammenhang, da so lange der Regler kausal sein soll, ein Zweig in der 
positiven Halbebene liegt wenn V>0, was ja nicht sein darf!

1. Kann ich trotzdem per WOK auslegen?
2. Gibts es noch andere Verfahren?

von Detlef _. (detlef_a)


Lesenswert?

WOK hat überhaupt nix mit kausalem oder nicht kausalem Regler zu tun. 
Für Deine transfer function ist aller wunderbar stabil für alle k's. WOK 
macht Dir P-Regler, du willst PID!? WOK ist ols school, gibt deutlich 
besseres Zeug, z.B. Zustandsregler. Gutes tutorial zur WOK bei deutschem 
Wikipedia.

Cheers
Detlef

von Jörn A. (joern_)


Lesenswert?

also mit Zustandsregeler meinst du wahrscheinlich 
Zustandsvektorrückführung mit I Anteil und Beobachter-ZVR und ähnliches.

Leider ist meine Übertragungsfunktion leider je nach Betriebsart 
verschieden, und die Pole wandern. So macht es kein Sinn Pole zu kürzen, 
die nicht immer da sind. oder geht das auch. weil wenn ich eine Matrix 
in Regelungsnormalform von meine DGL mache, berechne ich den Regler ja 
nur für die eine "Strecke" und weis nicht wie er sich verhält wenn sich 
die Strecke varaiert..

a= 0.2 bis 0.6

min

    1            1                        1
( -----   --------------  (1-a) ) - ( --------)
  5s+1       9s^2+6s+1                       s+1

max

   1             1                       1
(-----   --------------  (1-a) ) - ( --------)
15s+1       64s^2+16s+1                  s+1



Mit einer WOK kann ich auch einen PID auslegen, z.B. SiSo Tool mit 
Matlab kann ich auch NS&Pole im Regler einfügen und so die WOK ändern.

Mein Problem ist nur, das beim PI& PID jeweils ein Pol bei 0 liegt. von 
diesem Pol geht in der WOK ein Zweig gegen +unendlich, was nicht der 
stabile Bereich ist. zudem gibt es kein dominaten Pol, was ja eigentlich 
wichtig ist!

von Detlef _. (detlef_a)


Lesenswert?

Hilfreich wäre es, die Übertragungsfkt. in Abhängigkeit vom Parameter a 
zu kennen. Ich weiß nicht, was das SiSo tool von Matlab macht, aber ne 
WOK hat meiner Kenntnis nach nur eine Parameter, und das ist das Kp des 
Proportionalreglers. Mit 'Zustandsregler' meine ich 'Zustandsregler', 
dieser Begriff bezeichnet EINEN bestimmten Reglertyp. Bitte genauere 
infos, Deine Einlassungen sind mir weitestgehend unverständlich.

Cheers
Detlef

von Jörn A. (joern_)


Lesenswert?

also

        1             1                             1
F(s)= (-----   -------------------  (1-a) ) - ( --------)
      A*s+1       B^2*s^2+2*B*s+1                  s+1

5<A<15
3<B<8
0.2<a<0.6

von Jörn A. (joern_)


Lesenswert?

nochmal zum Zustandsregler:

also du meinst:

x=A*x+b*u
y=c*x

u=k*x

oder?

von Detlef _. (detlef_a)


Lesenswert?

ja, so ist es, das ist nen Zustandsregler. Dein F(s) ist ja etwas 
heftiger. Hast Du mal für den kompletten Parameterraum die Lage der Pole 
und Nullen ausgerechnet? Will ich mich wohl gerne mehr zu äußern, 
braucht aber etwas Zeit.

Cheers
Detlef

von Jörn A. (joern_)


Lesenswert?

also die Pole sind ja direkt abzulesen, wenn man alles auf einen Nenner 
bringt...

P1= -1
P2= -1/A
P3,4= -1/B

die Nullstellen:

(1-a)*(s+1)-(A*s+1)(B^2*s^2+2*B*s+1) ergeben

s^3*(-A*B^2)+s^2*(-2*A*B-B^2)+s*(1-a-A-2B)-a

auch alle abhängig von A,B und a

von daher verschiebt sich immer die Matrix A in der Regelungsnormalform.

wenn ich dann nach Ackermann oder so weitermachen will geht das nicht 
oder...

von Detlef _. (detlef_a)


Angehängte Dateien:

Lesenswert?

hier liegen die Nullstellen des offenen Kreises für den gesamten 
Parameterraum. Schönes Bild, sieht aus wie ne Röntgenaufnahme der 
Rippen.

Cheers
Detlef

clear

nn=20;
A=linspace(5,15,nn);
B=linspace(3,8,nn);
a=linspace(0.2,0.6,nn);

pa=zeros(3,nn^3);
n=1;
for(kA=1:length(A))
for(kB=1:length(B))
for(ka=1:length(a))
pp=[(-A(kA)*B(kB)^2) (-2*A(kA)*B(kB)-B(kB)^2) (1-a(ka)-A(kA)-2*B(kB)) 
-a(ka)];
n=n+1;
pa(:,n)=roots(pp);
end;end;end
plot(pa,'b.');
grid
return

von Detlef _. (detlef_a)


Angehängte Dateien:

Lesenswert?

Hier die WOK für den ganzen Parameterraum und nen paar k's eines 
Proportionalreglers. Das ganze Ding wird also durchaus instabil, selbst 
für k's kleiner als 1. Als nächstes liegt die Entscheidung an, was man 
von dem Regler eigentlich will, der 'funktioniert soweit ganz gut', was 
willst Du mehr? Möglicherweise habe ich mich angesichts der 
fortgeschrittenen Zeit verrechnet.

Gute Nacht
Detlef

clear

nn=10;
A=linspace(5,15,nn);
B=linspace(3,8,nn);
a=linspace(0.2,0.6,nn);

k=linspace(0,1,20);

pa=zeros(4,length(k)*nn^3);
n=1;
for(kA=1:length(A))
for(kB=1:length(B))
for(ka=1:length(a))
for(kk=1:length(k))
   % 1 + s + A*s + 2*B*s + A*Power(s,2) + 2*B*Power(s,2) + 
2*A*B*Power(s,2) +
   %Power(B,2)*Power(s,2) + 2*A*B*Power(s,3) + Power(B,2)*Power(s,3) +
   %A*Power(B,2)*Power(s,3) + A*Power(B,2)*Power(s,4)
ppz=k(kk)*[0         ,     (-A(kA)*B(kB)^2)       , 
(-2*A(kA)*B(kB)-B(kB)^2)      ,       (1-a(ka)-A(kA)-2*B(kB)) , -a(ka)];
ppn=      [A(kA)*B(kB)^2   A(kA)*B(kB)^2+B(kB)^2+2*A(kA)*B(kB) 
B(kB)^2+2*A(kA)*B(kB)+2*B(kB)+A(kA) 2*B(kB)+A(kA)+1          1    ];
n=n+1;
pa(:,n)=roots(ppz + ppn);
end;end;end;end
plot(pa,'b.');
grid
return

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.