How to tune this Transfer Function using Zieger nichols or Cohen coon

16 次查看(过去 30 天)
because from the this
s=tf('s');
sys=(5809000*s + 28060)/(s^3 + 571300*s + 1266);
step(sys)
i only get this
and the other one
num = [5809000 28060];
den = [1 571300 1266];
Gp = tf(num, den);
p = pole(Gp);
step(Gp, 50)
i get this
how do i tune using the zieger nichols or cohen coon from this?

采纳的回答

Sam Chak
Sam Chak 2022-5-29
There is a typo in the denominator:
s^3
I think that Ziegler-Nichols and Cohen-Coon methods are more suitable if the mathematical model of the plant is unavailable. Nevertheless, you can try some automated tuning algorithm available in FileExchange:
I prefer human tuning (mathematically, or course) because the human operator can make the system to behave as desired. In this case, a compensator is used to make the system converge around 5 sec without signicant overshoot and undershoot.
s = tf('s');
Gp = (5809000*s + 28060)/(s^2 + 571300*s + 1266) % plant
Gc = 0.09835/(s^4 + 2.205*s^3 + 3.511*s^2 + 2.817*s + 0.0135) % compensator
Gsys = feedback(Gc*Gp, 1);
Gsys = minreal(Gsys)
step(Gsys, 15)

更多回答(2 个)

MRR
MRR 2022-5-30
You can try to obtain a FOPTD model (First Order Plus Time Delay). Then you can use several tuning rules, including Ziegler-Nichols, and Cohen-Coon. I link here one of our works related with the implementation of tuning rules by means of interactive tools developed in Matlab.
Hope it helps.

Kunal
Kunal 2023-2-19
s = tf('s'); Gp = (5809000*s + 28060)/(s^2 + 571300*s + 1266) % plant Gc = 0.09835/(s^4 + 2.205*s^3 + 3.511*s^2 + 2.817*s + 0.0135) % compensator Gsys = feedback(Gc*Gp, 1); Gsys = minreal(Gsys) step(Gsys, 15)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

产品


版本

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by