PID controller initialization does not seem to work

19 次查看(过去 30 天)
Dear community,
apparently my PID controller block does not work the way I want it to. I use it to regulate a mass flow depending on the error between a given and a computed temperature. After the controller output disturbance feed forward is added. However: I want the output to begin with a massflow of mdot = 5. If I set the parameter "Integrator" in the initialization tab to 5, it starts at minus three something, as if I had added nothing.
The documentation says:
Simulink uses the integrator initial condition to initialize the integrator at the start of a simulation or at a specified trigger event (see External reset). The integrator initial condition and the filter initial condition determine the initial output of the PID controller block.
No filter value is added since I do not have a D-part currently.
What am I missing?
Thanks in advance,
Felix
  1 个评论
Paresh yeole
Paresh yeole 2020-7-7
if you want the feedback of the output to start from 5. Then you should put delay in the feedback path and then initialise it with initial condition equal to 5.

请先登录,再进行评论。

回答(1 个)

Aman Vyas
Aman Vyas 2020-7-10
Hi,
PID controller parameters are tunable either manually or automatically. Some initial default values are already set for all these parameters.
Try setting default value and then analyze the output, that would mark the initial condition of the output. After that provide the necessary delay as required in the feedback loop to get the output starting from 5 seconds.
You can also look at reset – external trigger reset which resets integrator and filter to their initial conditions. For more info, you can refer to the documentation link.
Hope it helps!

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by