Why does a PI controller need an Anti-Windup circuit?

  • Thread starter Thread starter nitishsharmabit
  • Start date Start date
  • Tags Tags
    Controller Pi
AI Thread Summary
A PI controller requires an anti-windup circuit to prevent excessive integration of error during output saturation, which can lead to overshoot when the system finally responds. When controlling a motor, if the output stage is saturated, the integrative part of the controller continues to request power, resulting in a significant negative error once the desired speed is achieved. The anti-windup circuit limits the set acceleration based on detected saturation, ensuring the control loop remains balanced and avoids overshoot. This mechanism is crucial in both digital and analog systems, as it prevents the integral of error from becoming excessively large, which can destabilize the control process. Overall, implementing anti-windup strategies enhances the stability and performance of control systems.
nitishsharmabit
Hello folks,

Can anyone tell me why does a PI controller uses an Anti-Windup circuit?what is the main purpose of using it?
 
Engineering news on Phys.org
nitishsharmabit said:
what is the main purpose of using it?

Say you control the speed of some dc-motor and you accelerate the motor from a halt to set speed = 3000 rpm.
Now, due to the set acceleration and/or the inertia of the load, the power output stage will be saturated. Thus there will be an error in the control loop, which the integrating part of the controller will integrate, requesting more and more power. But the the requested power will be limited by the output stage, and the error will sustain.

When the speed at last reaches 3000 rpm, the integrated value in the controller will have become so high that a lot of negative error is needed to "rebalance" the loop / the integrating part. Thus the speed of the motor will make an unwanted overshoot.

The anti-windup circuit will limit the set acceleration, according to a detected saturation in the output stage, thereby preventing the overshoot. The control loop will be balanced all the way.
 
Last edited:
  • Like
Likes russ_watters
We are taught to think of control loops using linear equations operating on an error term

but as Hesch pointed out , when something in the loop reaches a hardware limit the loop is no longer linear .
eg
An automobile cruise control tries to maintain speed error of zero
but it can apply no more than full throttle to do so
and if the engine is inadequate to maintain speed up a steep hill , the integrator measures and integrates that error
this integral of error , if not limited, might have integrated up to hundreds of percent .during the time it took to climb that hill.
(just think = what if it's a digital controller with floating point? Integral of error could be astronomical ! )
so when you crest the hill speed will climb above desired until integrator returns its integral-of-error term back to zero.

In the days of pneumatic controls we connected a meter to the integrator so that operator could manually adjust integrator to zero before transferring to automatic. That signal was called "Tie-Back" - just in case you ever run across it.old jim
 
  • Like
Likes anorlunda
jim hardy said:
(just think = what if it's a digital controller with floating point? Integral of error could be astronomical ! )
Well, here is how the wind-up can be prevented by digital control.
The desired speed is calculated by an input function with a max. speed = 10000 and a max. acceleration = 1000. So when the control-loop is activated from a halt, the output from the function should be
0, 1000, 2000, . . . , 9000, 10000, 10000, . . .
But say that the output stage ( D/A-converter ) is limited to -512 . . +511, the D/A-converter will be saturated/unlinear already by the first sample, because the PID will multiply the error by 5, giving 5000.

upload_2015-12-6_21-44-2.jpeg

So to correct this error, you back-calculate:
Correction = ( 5000 - 511 ) / 5 - ( feed-back velocity ) = 898 ( always round-up ). Feed-back velocity = 0 from a halt.
This correction is subtracted from the internal set speed in the input function, giving a corrected internal set speed = 102.
Now you recalculate the loop with the new internal set speed, giving a new ( and final ) PID-value = 510, which value is within the limits.
At next sample, the input function will calculate an internal set speed = 102+1000 = 1102, but every time it suggests a value that leads to an exess in the output stage, it will be corrected. Thus the PID-controller will never wind-up, but will balance "on the edge", until internal set speed = 10000 is reached.
 
Last edited:
  • Like
Likes jim hardy and anorlunda
Nice, Hesch

in your digital loop it's the A/D that hits the hardware limit(runs out of bits)
in my analog it's the motor(runs out of torque)
both operate on error between measured and desired speed/velocity

and cruise controls after about 1980 no longer 'windup' on steep hills , like an old Mercury i once.rented

clever solution.

old jim
 
jim hardy said:
in your digital loop it's the A/D that hits the hardware limit
I just picked an easy example ( D/A-converter ), not having to explain something complicated. :smile:
 
Thread 'Weird near-field phenomenon I get in my EM simulation'
I recently made a basic simulation of wire antennas and I am not sure if the near field in my simulation is modeled correctly. One of the things that worry me is the fact that sometimes I see in my simulation "movements" in the near field that seems to be faster than the speed of wave propagation I defined (the speed of light in the simulation). Specifically I see "nodes" of low amplitude in the E field that are quickly "emitted" from the antenna and then slow down as they approach the far...
Hello dear reader, a brief introduction: Some 4 years ago someone started developing health related issues, apparently due to exposure to RF & ELF related frequencies and/or fields (Magnetic). This is currently becoming known as EHS. (Electromagnetic hypersensitivity is a claimed sensitivity to electromagnetic fields, to which adverse symptoms are attributed.) She experiences a deep burning sensation throughout her entire body, leaving her in pain and exhausted after a pulse has occurred...
Back
Top