for PI feedback controller with un-unity feedback, final values is off
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Abdulaziz Abutunis
am 17 Okt. 2023
Kommentiert: Sam Chak
am 19 Okt. 2023
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 Kommentare
Akzeptierte Antwort
Sam Chak
am 18 Okt. 2023
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 Kommentare
Sam Chak
am 19 Okt. 2023
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.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Software Development Tools finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!