Simulink PID Controller Tuning
Show older comments
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 Comments
Seth Popinchalk
on 5 Apr 2011
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
on 10 Apr 2011
Arnaud Miege
on 13 Apr 2011
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?
Accepted Answer
More Answers (1)
Seth Popinchalk
on 17 Apr 2011
0 votes
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.
Categories
Find more on PID Controller Tuning in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!