Tuning PID - I tune the PID the first time and adjust a few things, but when I want to adjust the PID later it says "The plant model in the PID loop linearizes to zero, and therefore cannot be used in PID controller design."

14 views (last 30 days)
I am working on creating a simulation of a wind turbine. To control the pitch of the blades I am trying to use a joint with actuation on "torque" and sensing on "position". I then make a closed loop with a pid in it to make sure that the pitch is staying where it's supposed to be. The problem happens when I go in to tune the PID once and then when I try to tune it again later it wont let me. and it says this:
"The plant model in the PID loop linearizes to zero, and therefore cannot be used in PID controller design. This problem occurs when one or more blocks in the PID loop have zero gain or the feedback loop is not physically closed. Click "Continue" to launch the PID Tuner and obtain a new plant model in the "Obtain plant model" dialog. Click "Cancel" to abort PID design and return to the block dialog. For more information, see the Simulink Control Design documentation. "
Please Help. I've been stuck on this for awhile. If you know of a better way or if the way im trying to pitch the blades is wrong please let me know. I cant seem to find any references in 2nd generation modeling. I have tested the method with another simpler example and it worked.

Answers (1)

Arkadiy Turevskiy
Arkadiy Turevskiy on 4 Aug 2015
Hi, Here is the doc section that provides recommendations on how to proceed.
PID Tuner works like this: it linearizes a Simulink model around an operating point and uses the resulting linear model to compute PID gains. By default, PID Tuner linearizes the model at the initial condition (simulation time = 0). Models with SimMechanics and other physical modeling tools sometimes do not linearize well at the initial condition. This can happen because the parts have not started moving yet and when linearization tool tries to "disturb" model states a little to compute linear system, it ends up with zero. An approach that often works in this case is to linearize a model at a different operating point, as explained here .
If this still does not solve the problem, another approach to try is this one .
HTH.

Tags

Community Treasure Hunt

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

Start Hunting!