PID linearization failed? Help!

2 views (last 30 days)
I'm currently using SimPowerSystems to model a DC-DC buck converter which regulates the output voltage to 5V. Using the closed-loop configuration, when I try to auto-tune the PID values, I get a message that says linearization failed.
However, when I try to replace the SimPowerSystems block with a control-to-output buck transfer function obtained using state-space analysis, the PID tuning works successfully. What did I do wrong with the SimPowerSystems block? I personally prefer modelling using SimPowerSystems since using these blocks, I can see the voltage and current waveforms in each component. However, I still can't get the PID tuning to work.
I have attached my simulink model with this question.
Thanks!

Accepted Answer

Arkadiy Turevskiy
Arkadiy Turevskiy on 13 Feb 2014
You did not do anything wrong. PID Tuner needs a linear model to design a PID controller. To get this linear model, when you press the "tune" button, it automatically linearizes a Simulink model using exact linearization method. This method results in zero linearization when a model has discontinuities such as MOSFET blocks and PWM logic that you have in your case.
The workaround is to use simulation input/output data to estimate a transfer function of the system as shown in this example .
Once you get this transfer function you can keep your SimPowerSystems model, but you can specify a custom linearization behavior for it as explained here, using the transfer function you get in the previous step.
The result of this will be that when you simulate the model, you use your SimPowerSystems blocks with all MOSFETS, PWMs, etc, but when you do linear analysis of the model or PID Tuning, the converter subsystem is replaced with a transfer function automatically.
HTH. Arkadiy
  1 Comment
Arfiel Lorenz Herbon
Arfiel Lorenz Herbon on 13 Feb 2014
Wow this is really nice! I will definitely try this soon. Thanks a lot!

Sign in to comment.

More Answers (1)

Arkadiy Turevskiy
Arkadiy Turevskiy on 7 Mar 2014
We just shipped new functionality in 14a to specifically address this scenario. Take a look here: PID Controller Tuning for a Model with Discontinuities .

Community Treasure Hunt

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

Start Hunting!