Simulink PID Controller Tuning
显示 更早的评论
Hi,
I am a new user to Simulink. I created a model and added a PID controller. When I tune the controller it says the response should be about 1 second with a 20% overshoot. When I run the model the reality is 1000 seconds with 10,000% overshoot. What could cause this to happen?
I created my own PID controller and modified the coefficients and it seems to be working, but I would definitely like to get the built-in PID controller working since I am spending about 5 hours just to tune my homemade controller.
I have been debugging for about a week now, I am not sure what look for. Any assistance would be greatly appreciated.
Thank you,
Alan
3 个评论
Seth Popinchalk
2011-4-5
That sounds very frustrating. We need more information to narrow down the problem.
What solver are you using? If you are using a fixed step solver, what is the fixed step size? Is your PID discrete or continuous?
When you say you "added a PID controller" are you referring to the PID block?
http://www.mathworks.com/help/toolbox/simulink/slref/pidcontroller.html
Alan
2011-4-10
Arnaud Miege
2011-4-13
This might be due to the linearisation process that is used to tune the PID controller. Do you have many non-linearities in your model? Could you upload your model on a file-sharing site so that we can have a look at it?
采纳的回答
更多回答(1 个)
Seth Popinchalk
2011-4-17
0 个投票
Try setting the Max Step Size to a small number (.1 or .01). It is possible that the model steps are too large to capture the fast dynamics of the step.
类别
在 帮助中心 和 File Exchange 中查找有关 PID Controller Tuning 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!