PID Controller Windup Mechanism and Saturation Correction Assistance

Thread Starter

Adanovinivici

Joined Sep 5, 2014
57
Hello All,

I have been searching forums as well as the internet to find some information about the windup mechanism and saturation correction values of a PID controller and how its related to the proportional, integration, and derivative portions of the controller. Here is an example of some reference material I used:
http://www.mathworks.com/help/supportpkg/texasinstrumentsc2000/ug/c2000pidcontroller.html?searchHighlight=antiwindup
http://innovativecontrols.com/blog/basics-tuning-pid-loops

Could someone please help me understand what the purpose of windup and saturation correction is and how it relates to taking the integral, derivative, and proportion of error? I think "windup" is related something is accumulating over time that needs to be cancelled out. Some posts mentioned changing frequencies and low pass filters, but I'm not sure. If someone could give me some insight on this term, I would appreciate it. In addition, saturation correction is also something I'm having trouble understanding what it actually is. What scenario would require the use of saturation correction? Any references that would further my understanding would also be appreciated?

Much Appreciated,
Adanovinivici
 

crutschow

Joined Mar 14, 2008
24,130
Read this.
Basically integrator windup is the integrator in a PID loop saturating due to a large change in the loop set-point or during system startup.
When this happens the loop loses proper control and large transient overshoot in settling to the system operating point can occur.

If you are actually trying to do a specific control loop, you might consider using Fuzzy Logic for control, which I discuss here. It does not suffer from the problem of integrator windup.
 

Thread Starter

Adanovinivici

Joined Sep 5, 2014
57
Read this.
Basically integrator windup is the integrator in a PID loop saturating due to a large change in the loop set-point or during system startup.
When this happens the loop loses proper control and large transient overshoot in settling to the system operating point can occur.

If you are actually trying to do a specific control loop, you might consider using Fuzzy Logic for control, which I discuss here. It does not suffer from the problem of integrator windup.
I see. That makes sense. I took a look at your fuzzy logic discussion and it was pretty insightful. Thank you for the reference.
 

atferrari

Joined Jan 6, 2004
3,653
I implemented an analog PID controller just to gain insight. Read about it here.

To cope with the windup problem I designed the integrator to be in reset at startup, being enabled only when the controlled variable (Vsens) is within a "window" riding the Setpoint (Vref). In other words, no matter what setpoint (Vref) you select, the window moves with it.

The key component is a window comparator with both, center value / span, adjustable. Works like a charm.
 
Top