0
\$\begingroup\$

I am trying to implement my own (simplified) PI block for digital controller and would like to include anti-windup function. A basic structure for PID controller with back calculation is given below:

enter image description here

Theory says: Integrator windup can be avoided, by making sure that the integral is kept to a proper value when the actuator saturates, so that the controller is ready to resume action, as soon as the control error changes.

This reference compares anti-windup methods.

But I couldn't find any test cases for testing anti-windup. Are there any test case to test anti-windup and tune its performance? How to force integrator into saturation (in Simulink) and test the behavior when going out of saturation?

\$\endgroup\$
5
  • \$\begingroup\$ Test-case? What do you mean? \$\endgroup\$
    – Andy aka
    Commented Dec 7, 2021 at 9:34
  • \$\begingroup\$ As in unit-testing. For example, for testing PI dynamic behavior I put step function at the input, use my PI block and first-order process in a closed-loop. I do the same closed-loop with Simulink PI block and compare outputs on the same scope. What type of signal should I put for testing anti-windup? \$\endgroup\$
    – mikebuba
    Commented Dec 7, 2021 at 9:40
  • \$\begingroup\$ The same maybe? Why should this PID be so different? \$\endgroup\$ Commented Dec 7, 2021 at 10:14
  • \$\begingroup\$ Test cases will probably depend on use cases. Something I'd expect to find through analysis, not on a shelf or in a toolkit. \$\endgroup\$
    – user16324
    Commented Dec 7, 2021 at 14:48
  • \$\begingroup\$ Large amplitude square wave input is the most obvious test. If there are particularly conservative input rate limits or input LPF, disabling those for the purpose of the test can help ensure saturation. Last resort, again for testing the ARW... increase gain. \$\endgroup\$
    – Pete W
    Commented Dec 7, 2021 at 21:20

0

Browse other questions tagged or ask your own question.