How to give my PI controller initial value?

As my system initialize at 1800 RPM. I want to give inital value to my PI controller to remove the swing curve as you can see in my scope result. So that I can reduce the simulation time.
But I don't know how to do it.

Answers (1)

Jon
Jon on 5 Jan 2021
If you want the inital output of your PI controller to be 1800 when the error signal is zero then set the initial value of the integrator to 1800/I where I is the integrator gain

4 Comments

Jon thank you for helping me.
I tried as you said but I don't know find any difference in the result. I don't know where I'm doing the mistake. Do we have to apply integer gain as a constant value or variable.
you ca see what I did so far.
Hi Adeel,
It looks like you are on the right track, but I think I need to see your model to understand better what is going on. Could you please attach your .slx file or if that is really huge a simple example model that recreates the problem you are having. Thanks
Hi Jon,
Could you explain with equations how you choose the inital condition as 1800/K_i ?
Best regards;
For basic PI control the controller output, u is given by u = K_p*e + K_i*E, where e = (y_setpoint - y) and E is the state representing the integrated error. Assume you start your controller with y=y_sestpoint so the error e is zero. Then in order for u = 1800, we have 1800 = K_p*0 + K_i*E. Solving this for E, the initial state of the integrated error, gives E = 1800/K_i

Sign in to comment.

Categories

Find more on Simulink in Help Center and File Exchange

Asked:

on 5 Jan 2021

Commented:

Jon
on 6 Sep 2023

Community Treasure Hunt

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

Start Hunting!