Return Position with Continuous Rotation Servo

Hey, I'm a new Arduino user with a few questions. I'll limit post to just one though. I have a Leonardo with a continuous rotation servo attached.

What I'm trying to do with this servo it move it one direction a certain distance, and then return it to the same position. I realize this would be an easy task with a normal servo but I need it to travel more than one full rotation.

The problem that I'm having is that when returning to the original position it overshoots and goes back further than where it started. I figured that if I drove it in one direction for example, 5 seconds, and then back the other direction for 5 seconds it would return to its original position...but it doesn't.

Is there any way to mitigate/eliminate this effect? What is the reason for this?

In all honesty I'm thinking about ditching this servo and going for a stepper motor anyways...this thing doesn't travel as slowly or quickly as I would like anyways.

Any help, suggestions or guidance would be greatly appreciated. Thanks!

bjornert:
Hey, I'm a new Arduino user with a few questions. I'll limit post to just one though. I have a Leonardo with a continuous rotation servo attached.

http://www.sparkfun.com/datasheets/Robotics/servo-360_e.pdf

What I'm trying to do with this servo it move it one direction a certain distance, and then return it to the same position. I realize this would be an easy task with a normal servo but I need it to travel more than one full rotation.

The problem that I'm having is that when returning to the original position it overshoots and goes back further than where it started.

Is there any way to mitigate/eliminate this effect? What is the reason for this?

No effective mitigation available. The reason? Because there is no feedback position being used when the servo was converted to continuous rotation operation, it's internal pot has been disconnected mechanically from the gear train.

You simply own an ex-servo, the servo part died and was replaced with a bi-direction variable speed geared motor drive that uses a servo interface to command if it should be at a stop position or moving in one or the other direction at some variable speed. It no longer knows about 'positions' because it's internal pot has been disconnected from it's gear train, and unless you bolt on some form of feedback assembly to be read back by your arduino you will not be able to do what you have asked about.
Lefty

In all honesty I'm thinking about ditching this servo and going for a stepper motor anyways...this thing doesn't travel as slowly or quickly as I would like anyways.

Any help, suggestions or guidance would be greatly appreciated. Thanks!

Thanks!

Out of curiosity, is there any position data from a stepper motor? Can you 'count' the number of steps?

bjornert:
Thanks!

Out of curiosity, is there any position data from a stepper motor? Can you 'count' the number of steps?

No, not unless you buy one that has an optional encoder bolted to it,, which is the best control situation all in all. One can keep track of steps and direction control in software without positive feedback sensing, but sometimes because of mechanical loads a stepper can 'slip' a count or jam, so that's not a error proof method.

Lefty

Thanks for the help!

I realize this would be an easy task with a normal servo but I need it to travel more than one full rotation.

Sail winch servos can turn three or more full revolutions.