One of the most confusing closed-loop symptoms is a small error near the target that never disappears.
A valve command changes slightly, but flow does not change. A motor receives a small output, but the shaft does not move. A servo is almost at target, but remains stuck. A stage has a tiny position error, and the controller keeps correcting, but the mechanics do not respond.
The controller is computing. The output variable is changing. The device is not moving.
This is often not a PID intelligence problem. The actuator or mechanism has a dead zone, static friction, backlash, hysteresis, or a minimum effective output.
small error
-> small control output
-> no physical motion
-> error remains
-> output accumulates or grows
-> threshold is finally crossed
-> motion starts suddenly
-> target is overshot
Closed-loop control often assumes that a small output change creates a small plant change. Dead zones and static friction break that assumption.
A Dead Zone Makes Small Outputs Ineffective
A dead zone means input changes within a range do not produce visible output changes.
For example, a valve command from 0% to 5% may not actually open the valve. A motor PWM from 0% to 8% may not overcome static friction. A servo or gear train may consume small angle commands in mechanical slack.
Inside the dead zone, the controller believes it has applied correction, while the physical plant has not changed.
control output: 1%, 2%, 3%, 4%
actual motion: 0, 0, 0, 0
control output: 5%
actual motion: starts suddenly
This creates two closed-loop problems.
First, small errors cannot be corrected continuously. The controller outputs a small command, but the system does not move.
Second, after error accumulates enough, the actuator suddenly starts moving, and the motion may exceed the correction needed.
Near the target, convergence becomes stick, accumulate, jump, and stick again instead of smooth settling.
Static Friction Makes Starting Harder Than Moving
Static friction differs from dynamic friction.
A stationary mechanism often requires more force to start moving than to keep moving. Once it moves, less force may be needed to continue.
This creates a typical crawling behavior:
output gradually increases
-> mechanism does not move
-> output crosses start threshold
-> mechanism moves suddenly
-> friction drops after motion starts
-> it may move too far
Low-speed motor control, lead-screw stages, valves, pumps, brakes, grippers, and mechanisms with seals can all show this behavior.
If the controller does not know static friction exists, it interprets “not moving” as “output is insufficient” and keeps increasing output. Once static friction is overcome, the accumulated output may be too large.
That is why small errors get stuck while larger accumulated corrections suddenly break loose.
Backlash Makes the Same Command Direction-Dependent
Backlash means the state depends on direction of motion.
The same valve command may produce a different actual opening depending on whether it was approached from the opening direction or the closing direction. The same gear angle may mean slightly different real positions depending on whether motion came from forward or reverse.
approach target from left: command 50%, actual position slightly right
approach target from right: command 50%, actual position slightly left
Backlash creates direction-dependent residual error.
The controller only sees a small difference between target and measurement. It does not know whether the error comes from mechanical slack, elastic deformation, seal hysteresis, or valve backlash. It keeps using continuous PID correction and may knock back and forth across the slack.
This is hard to solve with one fixed PID gain set because the plant itself is not single-valued and linear.
Integral Action Accumulates Inside the Dead Zone
Dead zones become more obvious when combined with integral action.
When small error exists, proportional output may be too small to move the actuator. Integral action sees persistent error and keeps accumulating.
small error
-> output below dead-zone threshold
-> actuator does not move
-> integral accumulates
-> output crosses threshold
-> actuator moves suddenly
Integral action is meant to remove long-term error. In a dead zone, it can become a way to store effort. Once enough effort is stored, the actuator starts moving and may overshoot.
Near the target, this looks like:
- small error remains
- output slowly increases
- actuator suddenly moves
- error changes sign
- output accumulates in the opposite direction
- the system crawls or jitters
Simply reducing integral gain does not always solve it. Too little integral leaves dead-zone error unresolved. Too much integral stores too much effort before motion starts.
Noise Can Turn Dead Zones into Jitter
Sensor noise, quantization, and dead zones interact badly near the target.
If measurement jumps by one count around the target, the error direction keeps changing. The actuator does not move under small output, but the controller output changes sign repeatedly.
With higher gain, output may frequently cross the dead-zone threshold, causing small back-and-forth actuator movements.
measurement noise
-> error direction changes often
-> output crosses dead-zone edge
-> actuator jitters
Dead-zone problems often appear together with filtering, hysteresis, resolution, and sampling period. Looking only at PID gains makes the target-region behavior difficult to explain.
Minimum Output Is Not Just Adding a Bias
One common mitigation is a minimum effective output.
For example, if the motor needs to move forward, output at least 10% PWM. If it needs to move backward, output at least -10% PWM. This helps cross static friction and dead zones.
But minimum output cannot be added blindly.
If error is very small, the minimum output may overcorrect. In position control, valve control, and low-speed control, the minimum output itself may already be larger than the needed correction.
A better design usually considers:
- error threshold
- output direction
- whether the actuator is already moving
- speed or position feedback
- output duration
- acceptable error band near the target
Minimum output solves “cannot start moving,” but it can create “moves too much.” Both must be handled together.
Hysteresis and Error Bands Reduce Chattering
If a system cannot physically settle continuously within a tiny range, the control target should not pretend that it can.
Hysteresis and acceptable error bands reduce repeated motion near the target.
For temperature, low-speed motors, level, pressure, or valve position, a band can be defined:
error inside allowed band: do not correct further
error above upper boundary: correct downward
error below lower boundary: correct upward
This is not giving up accuracy. It acknowledges finite sensor resolution, actuator minimum movement, mechanical slack, and noise.
If the band is too wide, control is not accurate enough. If it is too narrow, the system keeps acting inside dead zones and noise. The band should be chosen with sensor resolution, minimum actuator movement, mechanical backlash, and business requirements in mind.
Dead-Zone Compensation Should Be Measured First
Do not write dead-zone compensation from guesswork.
Test the actuator in open loop:
- Increase positive output from zero and record when motion starts.
- Increase negative output from zero and record when reverse motion starts.
- Repeat under different loads, temperatures, and supply voltages.
- Compare start threshold with the output needed to maintain motion.
- Measure actual position difference when the same command is approached from different directions.
- Log command, actual speed, actual position, current, and other feedback.
Only then decide whether to use minimum output, dead-zone compensation, hysteresis, segmented control, integral separation, or a mechanical or actuator change.
If small commands produce no motion in open loop, small errors not disappearing in closed loop are not an algorithm surprise.
Treat “No Motion” as a Real State
Many control logs record target, measurement, and controller output, but not whether the actuator actually moved.
When debugging dead zones and static friction, record at least:
- Raw controller output.
- Output after dead-zone compensation.
- Actuator feedback such as speed, position, current, valve position, or flow.
- Output direction changes.
- Whether error is inside the allowed band.
- Integral state.
- Whether the output crossed the minimum-motion threshold.
- Load, supply voltage, temperature, and mechanical state.
“The controller has output” and “the device moved” must be separate observations.
Dead zones and static friction turn the loop from continuous control into thresholded control. At small errors, output may have no physical effect. After crossing the threshold, the motion may be too large.
Include dead zones, static friction, backlash, minimum output, and acceptable error bands in the model, and target-region crawling, residual error, and jitter become diagnosable.