PI Controller
It is a closed loop algorithm that corrects the error between the measured value and the target in two ways: the proportional term responds in proportion to the instantaneous error, while the integral term sums the accumulated error and drives the steady-state deviation to zero. If the gains are set too high, the system overshoots the target and starts oscillating.
When the proportional term is used on its own the system approaches the target but never settles exactly; as the error gets smaller so does the correction, and a permanent difference remains. The integral term accumulates and corrects this difference over time, closing the deviation.
- High proportional gain: Fast response, but a risk of overshoot and oscillation.
- High integral gain: The steady-state error closes quickly, but the system starts swinging around the target.
- Integral windup: When the motor is up against a limit (at the current limit, for example), if the integral term keeps growing, the output shoots up the moment the limit is left behind. To prevent this the accumulation is bounded.
The practical way to tune is to switch the integral term off, increase the proportional gain until oscillation starts, then pull it back somewhat and bring the integral term in slowly.
In DC motor drivers, PI is generally used in the speed or the current loop. The current loop must run much faster than the speed loop; otherwise the two loops race each other and instability arises.
Context where this term is used: DC Motor Driver Selection Guide