Servo or stepper

I'm trying to build my own little robot, but I don't understand if a servo motor or a stepper motor would be best for me. It has to be able to rotate 360 degrees, but some servos seem to do that.
What about power consumption? What about strength of the motor (for a given weight)? And what about precision? Are those things drastically different for servo and stepper?
For me, I think the most important thing is precision. Which type of motor should I choose then?

Thanks for any pointers! I'm really confused... :-/

Most "servos" that can rotate 360 degrees are no longer servos; they're modified R/C servos that have lost the ability to have their position set. In effect, they're just geared DC motors with a moderately convenient single wire speed (ish) and direction control.

If precision is important, and I mean "very important", then steppers may not be the way to go. That being said, I use steppers for precise applications, and it's not that they're not up to the task, but the learning curve is steeper (i.e. how does microstepping affect precision? The impact of velocity curves on precision? etc.)

Generally speaking - servos are easier from a precision standpoint. However, if you need continuous rotation, you're likely not talking hobby servos any more (for precision at least), and are now talking more industrial servos.

Ultimately, a servo is just a DC motor with built-in feedback and error correction circuitry. You tell it to go to X position, and starts moving, taking feedback about its position, and determining where it is in relation to where its expected to be (the error), and then moving until the error disappears.

In hobby servos, a potentiometer is used for the feedback mechanism, meaning you're generally limited to the rotating capability of the pot. This makes them inexpensive. Industrial servos will more often use encoders, which are more expensive to add and design circuitry/software for. But, these industrial servos can be used in place of steppers for highly precise positioning when having to move hundreds or even thousands of rotations.

However, if you can handle understanding how velocity impacts the capabilities of a stepper, and how load, voltage, and current all play together to impact or enhance a steppers performance, you can get to "high precision" (if not "perfect precision") very inexpensively using steppers. Much less than with industrial servos. I wouldn't waste my time on continuous-rotation modified hobby servos, as they provide no precision capability due to the lack of feedback mechanism. Some hobby servos can move more than 360', but not necessarily continuously, due to having pots on their output shafts than can make more than one revolution.

!c

I'm trying to build my own little robot...[snip]...Which type of motor should I choose then?

First off, you need to decide (and tell us, possibly) what type of robot and what size you are imagining - desktop rover? mobile arm? fixed base trainer arm? floor rover?

How big are you imagining things to be? What do you intend to use for a platform? What is your intentions for this robot?

Something else to keep in mind for a small robot: Unless you want a lot of headache (and a great learning experience), use as a base something that is already built. An old toy R/C (radio controlled) vehicle is one of the best platforms to use for a small rover bot; if you can find an old toy R/C tank or similar vehicle, that would be best for learning with. Look in thrift stores, garage/yard/tag sales, swap meets, boot sales - those sorts of places (heck, maybe a neighbor kid has a broken one you can have?)...

Such toys use simple, small, low-voltage DC gearmotors that can be easily controlled with relays or transistors (that are easily interfaced with the Arduino); sometimes, you can even traceback and hack the R/C interface board and use the on-board transistor control electronics in place (instead of homebrewing your own). You would still need to provide your own sensors (distance, bump, etc) and mount them to your chassis; you would also probably want to add wheel encoders to the gearbox outputs to track how far you have moved and such.

You would also do well to purchase this book, Gordon McComb's "The Robot Builder's Bonanza: 99 Inexpensive Robotics Projects":

The cover pictured at the above link is from the 1st edition; I implore you to pick up all 3 editions if you can afford it (and if you can find them all) - they are all different (1st and 2nd share the most, but 3rd is fairly radically different). I personally like the 1st edition (warts and all - some schematics are wrong or inefficient) most; mainly because it is still a TAB book (BTW, check out the various old TAB books on robotics from the 1980s - there are tons!).

Good luck, hope this helps!

:slight_smile:

Thanks a lot, that's some good answers! Me and some friends are building a small robot arm, but we might start by reviewing some literature...