フィルターのクリア

for PI feedback controller with un-unity feedback, final values is off

2 ビュー (過去 30 日間)
Abdulaziz Abutunis
Abdulaziz Abutunis 2023 年 10 月 17 日
コメント済み: Sam Chak 2023 年 10 月 19 日
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

採用された回答

Sam Chak
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)
Gcl = 1 ----------------------- s^3 + 1.4 s^2 + s + 0.5 Continuous-time transfer function.
scaledIn = H; % scale the step input to match H
tFinal = 30;
step(scaledIn*Gcl, tFinal)
  2 件のコメント
Abdulaziz Abutunis
Abdulaziz Abutunis 2023 年 10 月 18 日
移動済み: Sam Chak 2023 年 10 月 19 日
Thank yo Sam for your response.
I thought there will be some command used to account for that rather than simply scaliing the input.
Thank you again
Aziz
Sam Chak
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 ExchangeRobust Control Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by