We have this project that uses a Continuous Rotation Servo and we have a slight problem controlling it. We're planning to attach a Rack Gear to the Servo to slide a stainless steel to the right, and vice versa.

The Question: Is it possible to stop the continuous rotation servo when the stainless steel hits a bump or it already made its proper position accurately?

This idea is like the Power Windows of cars.

  • 1
    Either add limit switches or use stepper-motors instead of a cr-servo.
    – Gerben
    Nov 12, 2015 at 15:57

2 Answers 2


You can track the servo rotation with an encoder and after reaching a specific position, you can send different instructions to execute other actions.

Other alternative is maybe you can place a limit switch at the position where you want it to stop.

  • I'd probably consider your suggestion. Thank you for your reply. :) Nov 13, 2015 at 0:45
  • Glad I could help. Good luck.
    – goddar
    Nov 13, 2015 at 1:19

The way that power windows detect fully open or closed is typically by measuring the motor current: When a motor is stalled it's current increases because there is no longer any back-emf as there is when the magnetic fields are rotating. You can measure this current and then stop when you see it increase over the running current.

This is especially useful in the context of the window example as limit switches would have to be set EXACTLY at the closed position which is hard to do and if they fail or get out of alignment can lead to burned out motors if the limit switch is set beyond the physical travel limit. Furthermore, an obstruction will result in a burned out motor even if the limit switch is correctly set as the window could never reach its limit position. In these two cases, a timeout would need to be included as a backup (A timeout is not a bad idea in any case!).

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.