|
Re: Alternative Method for calculating “I” term in PID
I've no experience with that kind of calculation, but I thought I'd comment based on a rough analysis. Basically, it's an interesting idea. I don't want to think about the transfer function or any other formal controls definition of it this time of night, but I'd be concerned about how this would interact with any noise in your sensors. If you have a noisy sensor with no filtering, your D term would probably fluctuate enough to render the I term ineffective, or randomly effective. This probably isn't a concern in FIRST applications where we're measuring position with encoders, but it might crop up with pots. Also, I'm assuming you're using the absolute value of the reciprocal of the D term, correct? If you're using the straight value, you'd end up with a negative I term after you overshoot, and that could end up being very bad for your system in rare cases.
Just FYI, the standard solution to this is called integral anti-windup. You basically put a cap on the I term so it can only grow so large. You still end up with overshoot, but not so much as to be a problem. The plus of this method as compared to yours is that you'd have a stable, predictable I term.
__________________
The difficult we do today; the impossible we do tomorrow. Miracles by appointment only.
Lone Star Regional Troubleshooter
|