Borrar filtros
Borrar filtros

Control System Tuner always selects maximum value

24 visualizaciones (últimos 30 días)
Cedric
Cedric el 4 de Jul. de 2024 a las 11:43
Comentada: Sam Chak el 4 de Jul. de 2024 a las 13:07
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

Respuestas (1)

Sam Chak
Sam Chak el 4 de Jul. de 2024 a las 12:26
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 comentarios
Cedric
Cedric el 4 de Jul. de 2024 a las 12:51
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 el 4 de Jul. de 2024 a las 13:07
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

Iniciar sesión para comentar.

Etiquetas

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by