Effacer les filtres
Effacer les filtres

Control System Tuner always selects maximum value

24 vues (au cours des 30 derniers jours)
Cedric
Cedric le 4 Juil 2024 à 11:43
Commenté : Sam Chak le 4 Juil 2024 à 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

Réponses (1)

Sam Chak
Sam Chak le 4 Juil 2024 à 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 commentaires
Cedric
Cedric le 4 Juil 2024 à 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 le 4 Juil 2024 à 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

Connectez-vous pour commenter.

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by