This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Anti windup



Hi, I'm using a TMS320 28035 for controlling a DC to DC converter. I'm using Biricha's Digital Power Lybrary and the 3p3z function for closing the loop. The control works good in stationary state, but I have a problem during transitions because a wind up problem in the controller. I have been taking a look and it looks like this function does not take care of this problem. I have been taking a look into the 3p3z controller code, but I don't how to access the result of the controller before saturation in order to control this phenomenon. My question is, is better to use other library, or maybe implementing my own controller? Can I continue using this Biricha's library with a small modification in my code?

I'm totally lost. Thank you very much for your help.

  • From Biricha

    "Yes they are correct in that there is no anti-wind up mechanism implemented with the 3p3z controller.
    I am a bit surprised that it is winding up though . At the expense of using some control theory jargon this is why:

    Wind up occurs when your "actuator" saturates and can not catch up with the command  input. For example the motor hits the end of the rails and can't go any farther but the controller is demanding for more. This really should not happen to a power supply as it indicates that the power delivery capability of the supply is inadequate for the load.

    Before implementing an anti-wind up mechanism, I would actually look into what is causing the saturation, my first port of call would be the size of the inductance "at operating temperature" which almost certainly  will be  a lot smaller than the value stated in the data sheet.

    If an anti wind up mechanism is still necessary then a crude one can be implemented by limiting the size of the error using our 3p3z, or they can use one of TI's library functions that has built in anti-wind up or he will need to write his own."

     

    Did you take one of the Biricha classes?

  • Hi mayka_3663,

    Even if the voltage loop is stable and works well in steady state, the controller tuning might not be optimal. The controller should not saturate within normal operation region. That is, if we step up the load, the controller current should not significantly overshoot.

    This could be the fundamental problem here.

    As for anti windup, the typical 3p3z/2p2z structure has the integrator outputs hidden within. While this controller form is very efficient, it's also really obscure. I had to implement individual feedback controllers in the past to put saturation limits on each branch (P, I, D) before summing their outputs to control the final duty ratio.

    Tomas