Backcalculate integral sum into feasible range #116
Backcalculate integral sum into feasible range #116drf5n wants to merge 4 commits intobr3ttb:masterfrom
Conversation
|
In https://controlguru.com/integral-reset-windup-jacketing-logic-and-the-velocity-pi-form/ it discusses this:
Another way to think of it is if you are operating so far from Setpoint that kp*error exceeds the limits, than you shouldn't be banking more integral to wind down in the future. Dynamically limiting the integral sum to the slack between the kP and kD contributions and the Control Output automatically inhibits integration outside the proportional region. See the refs in #76 (comment) |
The PID_v1_bc library is a fork of the https://github.com/br3ttb/Arduino-PID-Library / PID / PID_v1.h library that adds the back-calculation method of integral windup control. See https://github.com/drf5n/Arduino-PID-Library and br3ttb/Arduino-PID-Library#116 and br3ttb/Arduino-PID-Library#76 (comment) for more info.

Remove excess integral windup per
Astrom, K.J. and Rundqwist, L. (1989). "Integrator windup and how to avoid it" (PDF). Proc. 1989 Am. Control Confi.: 1693–1698.
through using code by Will posted in Brett Beauregard's forum at
http://brettbeauregard.com/blog/2011/04/improving-the-beginner%e2%80%99s-pid-reset-windup/#comment-18721