Control System Tuner always selects maximum value

조회 수: 13 (최근 30일)
Cedric
Cedric 2024년 7월 4일
댓글: Sam Chak 2024년 7월 4일
Hey,
I am new to the Matlab Control System Toolbox and want to try out the Control System Tuner but I am facing a weird problem.
This is my control loop:
And I want to tune the PI controller to achieve a stable response. So I have specified the following Step Tracking Goal:
However, the Control System Tuner just gives me the maximum possible gain:
Does someone of you has an idea if I have to adjust the settings somehow or what else could be the reason for this behaviour?
Thanks

답변 (1개)

Sam Chak
Sam Chak 2024년 7월 4일
The algorithm in Control System Tuner will find the best combination of PI gains that produces the smallest steady-state error.
In your case, by selecting the maximum allowable gain for , the smallest steady-state error is achieved.
However, if a Proportional Controller is placed at the feedback path, and set , the desired response is achieved PERFECTLY!
Gp = tf(1, [1 -1])
Gp = 1 ----- s - 1 Continuous-time transfer function.
Gc = pid(1000);
Gcl = feedback(Gc*Gp, 1)
Gcl = 1000 ------- s + 999 Continuous-time transfer function.
sse = abs(dcgain(Gcl) - 1)
sse = 0.0010
Alternative solution:
  댓글 수: 2
Cedric
Cedric 2024년 7월 4일
Thank you for your response.
I am not searching for the solution to this specific control loop but more asking how i can make the CST to find the solution that fits best to the desired response . From my point of view this would be .
Sam Chak
Sam Chak 2024년 7월 4일
Inside the Control System Tuner, there are rules that prevent it from using an unstable zero to cancel out an unstable pole.
Gp = tf(1, [1 -1])
Gp = 1 ----- s - 1 Continuous-time transfer function.
Gc = pid(1, -1)
Gc = 1 Kp + Ki * --- s with Kp = 1, Ki = -1 Continuous-time PI controller in parallel form.
Gcl = feedback(Gc*Gp, 1)
Gcl = s - 1 ------- s^2 - 1 Continuous-time transfer function.
ToF = isstable(Gcl) % 0 means False
ToF = logical
0
step(Gcl, 40), grid on

댓글을 달려면 로그인하십시오.

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by