01-15-2018 06:19 PM
Hello guys,
Now I use PID function in FPGA to control the feedback value of my system. I only need PI, so I set D to 0. Now there is problem that after running a long time using PID, the system will be out of control. I think the reason might be the integration works from the start and keeps integrating errors, and if there is a shift for the feedback value, the integration still use the integrated value from past to now to do the control and it might get messed up? Then I try a way: reset the control output every certain time. This will prevent the integration accumulate too much, but it will cause a sudden change to the feedback value.
So now I really don't know how to deal with this.
Thanks
Solved! Go to Solution.
01-16-2018 10:25 AM
Hi zyb1003,
It sounds to me like your system isn't tuned correctly and that it is going unstable under certain input conditions. Rather than resetting the integration value, I would recommend reevaluating your tuning parameters. A few methods of evaluating the tuning parameters are addressed in the tuning section of this whitepaper:
PID Theory Explained
http://www.ni.com/white-paper/3782/en/#toc3
01-19-2018 10:18 AM
Hello, thanks for the reply!
I tried many groups of parameters but still does not work. I checked the system feedback value without the controller, and I find that the value does not stay that stable, so is it possible that the reason is the system changes too fast that the controller cannot follow it?
01-22-2018 09:21 AM
Hi zyb1003,
It seems to me that the feedback should be changing if your system is changing. How quickly is the system changing? And how quickly is the control loop running? This will help us determine if the controller should be able to handle the system speed.