for PI feedback controller with un-unity feedback, final values is off
2 ビュー (過去 30 日間)
古いコメントを表示
I have a second-order transfer function, and I am using integral control, but the final value will not settle at the input level (step).
My attempt is below
--------------------------------------------------
s = tf('s');
G = tf(1, [1, 1.4, 1]);
>> ki=1; % I-gain
Dc=ki/s; % I-control with integral gain ki
step(feedback(Dc*G,0.5,-1)); % the 0.5 is what I have in the feedback path and G*Dc is the gain in the forward path.
------------------------------------------------------------
The output will not settle at 1. Any suggestions
0 件のコメント
採用された回答
Sam Chak
2023 年 10 月 18 日
You can fix the issue by scaling the step input to match the gain in the feedback path (H) in order to eliminate the steady-state error.
s = tf('s');
Gp = tf(1, [1, 1.4, 1]);
ki = 1;
Gc = ki/s;
H = 0.5;
Gcl = feedback(Gc*Gp, H)
scaledIn = H; % scale the step input to match H
tFinal = 30;
step(scaledIn*Gcl, tFinal)
2 件のコメント
Sam Chak
2023 年 10 月 19 日
You are welcome, @Abdulaziz Abutunis. Don't forget to 'click-accept' the answer, and feel free to post new questions related to transfer function design problems.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Robust Control Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!