Skip to main content Why Integral Action Removes Steady-State Error and Causes Overshoot | IoT Worker

Why Integral Action Removes Steady-State Error and Causes Overshoot

With proportional control alone, many systems get close to the target but remain slightly off.

Temperature stays 1°C below the target while the environment keeps removing heat. Motor speed stays a little low because load torque is always present. Liquid level remains slightly below target because leakage or outflow requires a baseline pump flow.

That long-lasting offset is steady-state error.

Integral action is valuable because it keeps accumulating as long as error persists. It slowly pushes output higher until the system can compensate for the long-term load.

error persists
-> integral accumulates
-> output increases
-> steady-state error shrinks

The same mechanism also creates overshoot. Integral action remembers past error and carries it into the future.

Why Proportional Control Leaves Offset

Proportional output is proportional to current error.

output = Kp * error

As error becomes smaller, proportional output becomes smaller. The closer the system gets to the target, the weaker the controller acts.

If the plant needs continuous output to hold the target, proportional control may settle at a position with some error. That error is what creates the proportional output needed to maintain the plant.

Thermal control is a typical example.

A room keeps losing heat, so the heater must provide continuous power to hold the target temperature. If temperature equals the target exactly, proportional error is zero and proportional output is near zero. The heat compensation is not enough. Temperature must fall slightly, creating error, before proportional action produces power.

Motors under load, pumps maintaining flow, and valves holding pressure can behave similarly. Steady-state error is not a bug in proportional control; it is a consequence of acting only on current error.

Integral Action Fills the Long-Term Gap

Integral action cares about how long error has persisted.

integral_state += error * sampling_period
integral_output = Ki * integral_state

As long as error remains, the integral state keeps changing. Even a small error can eventually push output to the baseline value the plant needs.

That is how integral action removes steady-state error.

In a thermal loop, temperature may remain slightly low near the target. Integral action keeps increasing heater power until heat input and heat loss balance. Once balance is reached, error can approach zero while the integral state still holds the required sustaining output.

Integral action can be viewed as a learned baseline compensation. It does not only react to instant error; it estimates from persistent error how much continuous effort the system is missing.

Too Much Integral Pushes Past the Target

The problem with integral action also comes from accumulation.

When the plant has inertia and delay, error does not disappear immediately. After the controller sends output, temperature, speed, level, or pressure takes time to change at the sensor.

During that time, integral action keeps accumulating.

error has not disappeared
-> integral keeps growing
-> output keeps increasing
-> plant finally responds
-> too much output has accumulated
-> target is overshot

That is a common source of overshoot.

Proportional action mainly looks at the present. Integral action carries the past. The larger and longer the previous error was, the more likely integral output remains large when the plant is already near the target.

Integral action can make a system more accurate, but it can also make it sluggish and prone to overshoot.

Actuator Saturation Makes Integral Problems Worse

Integral action is especially sensitive to actuator saturation.

The actuator is already at maximum output, but error remains. The controller’s integral state keeps accumulating, while the real actuator has no more authority.

actuator is at 100%
-> error still exists
-> integral keeps growing
-> internal output grows
-> real output is still only 100%

When the plant finally approaches the target, the integral state may be very large. Even if error becomes small, integral action still holds output high. The system overshoots and then takes a long time to unwind.

This is integral windup.

It commonly appears when:

  • heaters run at full power
  • motor drives enter current limiting
  • valves are fully open or fully closed
  • pumps run at full speed
  • setpoints exceed actuator capability
  • load changes make the actuator saturate temporarily

Output clamping limits the final command, but it does not automatically stop integral state from growing behind the clamp.

Setpoint Steps Accumulate Integral Quickly

When the setpoint changes abruptly, error can become large instantly.

For example, a temperature target jumps from 30°C to 80°C. The system is far from the target, error is large, and integral action starts accumulating quickly. The actuator usually saturates too.

If the plant responds slowly, integral action can grow for a long time under large error. Near the target, the integral term has not yet fallen, and overshoot is hard to avoid.

Common engineering responses include:

  • ramping the setpoint to avoid instant large error
  • disabling integral action when error is large
  • limiting integral action when output saturates
  • enabling integral only near the target
  • resetting or limiting integral state during setpoint changes

These are not weakening the controller. They prevent transient error during a setpoint move from being mistaken for long-term steady-state error.

One-Way Systems Need Extra Care

Some systems can actively push the plant in only one direction.

A heater can heat but cannot actively cool. A pump may fill a tank while draining depends on gravity. A fan can increase cooling but cannot heat.

If integral action pushes too far in these systems, recovery depends on natural plant behavior.

After a thermal loop overshoots without active cooling, setting heater power to zero does not immediately lower temperature. Stored heat and accumulated integral state both slow recovery.

One-way systems especially need:

  • smaller integral gain
  • integral separation
  • saturation detection
  • setpoint ramps
  • early output reduction
  • direction-dependent gains or strategy

Otherwise the controller accumulates error as if the plant had symmetric authority, while the real device can only wait for physics to recover.

Integral Should Not Always Be Active

A common protection is integral separation.

The core idea is simple: not every error should be integrated.

When error is large, the system is still in a fast transition toward the target. Proportional action, feedforward, output ramps, and actuator capability matter more. If integral action enters too early, it can turn transient error into future overshoot.

When error is small, output is not saturated, and the system is near steady state, integral action is better suited to removing the remaining long-term offset.

Common rules include:

  • do not integrate when error is above a threshold
  • do not integrate when output is saturated and error pushes further into saturation
  • let integral unwind faster when error changes sign
  • enable integral only after setpoint movement settles
  • clamp the integral state

These rules are not complexity for its own sake. They keep integral action focused on what it is good at: long-term small error.

Debug Integral by Recording Internal State

Many integral problems are invisible if only final output is logged.

At minimum, record:

  1. Current error.
  2. Proportional output.
  3. Integral state and integral output.
  4. Raw output before limiting.
  5. Actual output after limiting.
  6. Actuator feedback.
  7. Whether output is saturated.
  8. Setpoint movement.

If the system overshoots while integral state remains large, the issue is often slow unwinding or too much accumulation during saturation, not excessive proportional gain.

If the system has persistent offset but integral state does not move, check whether integration is disabled by conditions, the sampling period is wrong, the output is limited, or the error sign is reversed.

Integral action removes steady-state error because it remembers persistent error. It causes overshoot for the same reason.

The goal is not simply to increase or remove integral action, but to let it remember the right error at the right time and within the right limits.