Author Topic: Anti-windup in discrete PI controller  (Read 1649 times)

0 Members and 1 Guest are viewing this topic.

Offline bonzerTopic starter

  • Regular Contributor
  • *
  • Posts: 117
  • Country: it
Anti-windup in discrete PI controller
« on: January 03, 2020, 11:26:39 pm »
Hello everyone! Please help me to understand one thing.

Here's the subject I'm talking about. I also attached an image containing the screen of the page just to have it here.

https://www.mathworks.com/help/physmod/sps/ref/discretepicontroller.html

I know this control scheme is a bit complex but it's a bit urgent so for now I need to get just how K_aw influences the overall response. I mean increasing it would usually make my response with less overshoot? (and therefore more saturated). Is it true?
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: Anti-windup in discrete PI controller
« Reply #1 on: January 03, 2020, 11:47:27 pm »
Don't waste your "urgent" time waiting for answer in internet forum where anybody can say anything. Try to find answers yourself, by learning. Good place to start:
https://www.embedded.com/pid-without-a-phd/
 
The following users thanked this post: bonzer

Offline unitedatoms

  • Frequent Contributor
  • **
  • !
  • Posts: 324
  • Country: us
Re: Anti-windup in discrete PI controller
« Reply #2 on: January 04, 2020, 12:17:43 am »
May be the point of anti wind up is to prevent the integrator to accumulate indefinitely. The loop must eventually saturate (clip) the integrator and also discharge it over time.

The whole PID topic is sudo science in my humble opinion. Don't dwell on minor element of this complex example, because every new example is more and more complex (Kalman filter etc). They (Control theories) are abyss of incomprehensible abstractions black boxed into accidentally successful local solutions. They are fragile and never universal. Any next kind of plant to control erases all prior art and demands new tuning and research. It is best what one can have for things like flight control or nuclear reactors, but the failure is that controls never existed in context of fully unattended run with highly unpredictable inputs.
Interested in all design related projects no matter how simple, or complicated, slow going or fast, failures or successes
 
The following users thanked this post: bonzer

Offline IanB

  • Super Contributor
  • ***
  • Posts: 12539
  • Country: us
Re: Anti-windup in discrete PI controller
« Reply #3 on: January 04, 2020, 12:43:46 am »
I know this control scheme is a bit complex but it's a bit urgent so for now I need to get just how K_aw influences the overall response. I mean increasing it would usually make my response with less overshoot? (and therefore more saturated). Is it true?

Short answer: K_aw has no influence on the response in normal control operation.

Reason: In normal operation u(k) = usat(k), therefore du(k) = 0. If du(k) is zero the control response is unaffected by K_aw.

The du(k) feedback loop is only there to prevent integral windup if the output saturates, when by definition the controller is not controlling anymore.
 
The following users thanked this post: bonzer

Offline bonzerTopic starter

  • Regular Contributor
  • *
  • Posts: 117
  • Country: it
Re: Anti-windup in discrete PI controller
« Reply #4 on: January 04, 2020, 11:23:50 pm »

Short answer: K_aw has no influence on the response in normal control operation.

Thanks for your answer. You helped me to understand better how it works.
I had the same feeling after a lab session where I tried different values but no one changed my response. In my opinion it was due to the fact that I was far from best case stability (for instance maybe 30° of phase margin and not 80°, or even worse) see the screen of simulation I did after with same gain values used in lab.
But you can see another image attached where I impose a good phase margin condition and therefore I have less overshoot and you can see that it actually does an effect. For an appropriate value (k=0.005, time scale is zoomed but for successive instants it's in steady state) it reduces my overshoot and therefore the settling time. However it has no effect on the rise time (and so on the speed) because it depends on the saturation level.
« Last Edit: January 04, 2020, 11:28:57 pm by bonzer »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf