Let's say i have a servo motor, and i send it an angle represented as a PWM. How can this system ever overshoot?

Will it overshoot when I try to increase the speed?

The steady state error can of cause be a reality, if something is holding the motor back.

I'm just a little confused of why i should use a PID or any other controller to the system, when i have feed back AND can send it a position


  • 2
    \$\begingroup\$ Are you reading the feedback? You use a control loop for not only removing a steady state error but for improving stability and settling time. Overshoot is a function of both the deceleration rate and inertia. By just setting a position and not using the feedback to close the loop you are just hoping it ends up where you want with no way to be sure. \$\endgroup\$ Commented Sep 30, 2017 at 22:39
  • \$\begingroup\$ Thank you for the answer. That was actually my initial thought; that you are just hoping, with out a control system. \$\endgroup\$ Commented Sep 30, 2017 at 23:02

1 Answer 1


If you are considering a complete servo mechanism which moves to the angle you tell it (eg. an RC hobby servo) then you don't need a PID loop because it already has one built in. In normal operation the servo's internal PID should prevent overshoot.

However, if you are controlling a system which might need varying servo positions to avoid overshoot or maintain stability, then you need an external PID loop. In this situation you could use an open-loop servo mechanism which is just a motor and feedback sensor.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.