I have built my first robot and have used modified servo's as motors.
To do this you need to open the servo and make 2 modifications:
Remove what stops the servo from rotating 360°. (Might need some filing)
Replace the potentiometer by two resistors of the same value (2k2 for example) to simulate neutral position.
The motor is controlled using "Servo.h".
The servo will keep on rotating endlessly for a value bigger or smaller than 90 because the potentiometer has been removed.
PS: 90 is the idle position in an ideal world. With the servo's I used, 95 is the "Idle value".
It is a simple and compact solution, no motor drivers needed.
The choice of servo's is enormous, from very small to big and very powerful.
The motor is pulse driven which is maintaining power even at slow speeds.
In the mean time I have discovered that other people had the same idea and that one can also buy these ready to be used. (Apparently called "Continious rotation servo).
If you look at this Adafruit site, they mention you can connect the servo directly to the 5V terminal on the Arduino. I always thought this was a no no.
neksmerj:
If you look at this Adafruit site, they mention you can connect the servo directly to the 5V terminal on the Arduino. I always thought this was a no no.
It is a "no no" but it probably won't destroy anything immediately if you use a low power servo and don't restrict the servo's motion. I'm pretty sure the couple bad USB ports on my PC is from doing this sort of thing too often.
Sharing the 5V line with a servo is a frequent cause of reset problems. It's also hard on the 5V regulator if you're powering the Arduino from a higher Vin.
CR servos are pretty easy to make if you chose the right starting servo. HobbyKing's HXT12K servo seem like they were make to be converted to CR. I honestly think I can convert a HXT12K to CR in less than 2 minutes. I leave the pots attached and use them to zero the servo's motion. You can even convert a HXT12K back to normal without much trouble.
Gliedebeir:
In the mean time I have discovered that other people had the same idea and that one can also buy these ready to be used. (Apparently called "Continious rotation servo).
Yeah - you've re-invented the wheel - but at least you learned from it, so not a loss, I'd say.
This "trick" has been around since at least the mid-1990s or longer...
Besides being called a "continuous rotation servo" (though when you modify a servo like this, it ceases to be a servo), I've also seen them referred to as a "360 degree rotation servo" - which is even more confusing, as such a thing could exist and be a real servo - but not be "continuous rotation". Also, there exist such servos like sail-winch servos (they tend to be larger that standard, too) that can make multiple complete revolutions - but can't rotate continuously. They are meant to move a sail around on an RC sailboat, using a winch drum and line mechanism.
It would have been better if they were called "servo-signal controlled gearmotors" - but most speakers of english (and I suspect all languages) don't understand semantics, and why being exact in language can be important at times.
Finally - learning this, you now know how to modify any servo - including really large-scale (and powerful) servos which likely don't have a pre-modified version available (then again, once you get to a certain point - you stop using servos, and switch over to actual gear motors, drive trains and motor controllers).
cr0sh:
Finally - learning this, you now know how to modify any servo - including really large-scale (and powerful) servos which likely don't have a pre-modified version available
Not all servos lend themselves to being modified to CR. Some micro servos don't have a full set of gears on the output shaft. ServoCity has a list of various servos and describes how hard they are to modify to CR.
cr0sh:
This "trick" has been around since at least the mid-1990s or longer...
You young whippersnapper! Why I used to modify servos to CR back with Tesla and Edison (not at the same time). Okay it wasn't that long ago but I modified my first servo back in the '80s. These sorts of parts where a lot harder to come by back then and cost a lot more than they do now.
One big drawback of hobby servos is they use a pot. These pots wear out. Once they start to wear out the servo starts to jitter as it tries to find it's ill defined target. This jitter increase the speed of wear and the servo will soon be useless.
I have a couple hexapods and replacing worn out servos (usually the pots) is an all to often maintenance task. I keep trying to come up with a good way of adding encoders to servos. So far the methods I've used have been too time consuming to be practical.