AxxAxx / AxxSolder

STM32 Based soldering station for JBC cartridges, 9-24 VDC and USB-PD power
GNU General Public License v3.0
513 stars 48 forks source link

Implement a clamping anti-windup method #46

Closed AxxAxx closed 5 months ago

AxxAxx commented 5 months ago

The current anti-windup limits the I-part but does not stop integration. A better anti-windup scheme would be like the "clamping" method used in the simulink PID block: https://se.mathworks.com/help/simulink/slref/pidcontroller.html

clamping Integration stops when the sum of the block components exceeds the output limits and the integrator output and block input have the same sign. Integration resumes when the sum of the block components exceeds the output limits and the integrator output and block input have opposite sign. Clamping is sometimes referred to as conditional integration.