PID Tuner couldn't find a stabilizing controller

43 次查看(过去 30 天)
The PID block in the attached Simulink file stabilizes the plant (the plant is defined in the call back). However, the PID Tuner failed to find a stabilizing controller through the Tune button in the PID block. Why? How can I sepcify the initial controller for the PID tuner?
  1 个评论
Matt Rich
Matt Rich 2022-7-14
The controller in the attached model only appears to stabilize the plant for 20 seconds. If you run the model for 200 seconds, you will see that it does not stabilize the plant.

请先登录,再进行评论。

回答(1 个)

Arkadiy Turevskiy
Arkadiy Turevskiy 2024-1-12
Your sysr system is somewhat tricky - several unstable poles.
PID Tuner tries to come up with a guess/estimate for response time/bandwidth to use, but does not always come up with something that creates a stable design.
In that case I recommend changing the value of response time/bandwidth to see if you can come up with a stable reponse.
I was able to do it in about 2 mins.
Here is what i did:
pidTuner(sysr); % launch pidTuner app
You can also do it from Smulink as you have been doing.
I changed controller type to PIDF (gives you more tuning knobs than a PI).
PID Tuner shows desired response time of 12240, which is obviously very long.
Try to change response time to something more reasonable (guess):
I tried response time of 1 sec, that did not come up with stable design. Tried making it slower - 10 secs, 100 secs- no stable response.
Then tried decreasing the response time. 0.1 secs - still unstable, but at 0.01 secs I got a stable design. It seems that I can keep increasing how fast I want it to be and pidTuner is able to produce a stable design. The question is then what sort of controller effort signals are reasonable - something for you to decide.
HTH

类别

Help CenterFile Exchange 中查找有关 PID Controller Tuning 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by