← antimony labs

A DC motor's speed obeys a clean first-order plant: , or after some algebra, . The PI controller earns its keep when a load torque suddenly hits — like a cordless drill biting into wood. P alone can hold a speed; only the integrator can recover the speed after a disturbance.

Hold the RPM under load

peak deviation
recovery time
control effort RMS
SSE after load
what to try
  • Set Ki = 0. The motor returns to some speed under load — but not the commanded one. Watch the residual error.
  • Bring Ki up. The trace climbs back to the setpoint after each load step. The integrator is doing exactly what its name says — accumulating until the error is gone.
  • Ki too high → overshoot during recovery, then oscillation. The PI sweet spot is small-Ki with a Kp that's bigger than the integrator wants it to be.