Arduino Stack Exchange is a question and answer site for developers of open-source hardware and software that is compatible with Arduino. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question
1  
Either add limit switches or use stepper-motors instead of a cr-servo. – Gerben Nov 12 '15 at 15:57

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.

share|improve this answer
    
I'd probably consider your suggestion. Thank you for your reply. :) – Jeremy Rigor Nov 13 '15 at 0:45
    
Glad I could help. Good luck. – goddar Nov 13 '15 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!).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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