Continuous rotation servos vs. DC gear motors

Hi

I have been planning a self balancing two-wheeled robot, but haven't yet decided on which kind of motors to use.

It seems that most robots use DC motors with gears and a motor controller. However I don't see why. Continuous rotation servos seem to be much easier to interface with, but are there drawbacks I'm not aware of?

Continuous rotation servos need only one output pin for interface, no need for external motor controller. Servos are quite cheap and apparently normal servos are pretty easy to convert to continuous rotation.

What are the negative sides of servos? And what about stepper motors? How do they compare to these two?

but are there drawbacks I'm not aware of?

Well, difficult speed control is one of them.

Torque and speed are two factors that generally favor motors and gearboxes over servos.

Stepper motors are useful for precise positioning. They can be stepped in either direction. Drawbacks include constant (high) current requirements, a stepper motor controller is required, and speed (stepper motors are generally not all that fast).

But if a servo is modded to continuous rotation, isn't the rotation speed comparable to the angle value given to servo. For example 90 degrees is zero speed, 100 degrees slow forward and 180 degrees maximum forward speed? Of course external forces affect the speed the same happens with gearmotors.

Also isn't servo mechanically basically the same as gearmotors? It just has the control electronics already built in.

You'll probably find that "90 degrees" (and that can be different for each servo, depending on how it was modded) may be stopped, but you may also find you're going full whack by "100 degrees".

Yes, a servo is a geared DC motor, but the electronics are not designed for speed control, they're designed for positional control.
If fine speed control is what you're after, take out the electronics, and put in you're own H-bridge.

Also isn't servo mechanically basically the same as gearmotors?

They are the same in that a servo contains gears. The purpose of the gears in a servo is generally to slow the rotation of the output shaft, thereby increasing it's torque.

The motor in a "DC motor with gears" package is generally much larger, requires more current, and turns much faster. In many cases, the gears act as a differential, allowing both (rear) wheels to be driven by one motor, with no slippage as the robot turns.

These motors are not particularly quick to react to changes in current or voltage, which is how the speed is controlled. Not a particularly desirable feature in a self balancing robot, I wouldn't think.

These motors are not particularly quick to react to changes in current or voltage, which is how the speed is controlled. Not a particularly desirable feature in a self balancing robot, I wouldn't think.

I guess you are now referring to servos?

Also I started thinking that aren't servos controlled by PID-controller or something similar to that. I that case even servos modded to continuous rotation should always slowly accelerate to full speed (if they are given an angle) since the error between given angle and the measured angle never reduces. But I guess that doesn't happen in practise since people are still using them.

Anyways you got me convinced that continuous rotation servos are bad :). At least in this case. In battery powered robots the continuous current draw of stepper motors is not very convenient so I guess gearmotors are the way to go.

I'm probably going to build a quite small, maybe around 30 cm tall robot with tires big enough so it can drive also outside on gravel etc. I have no idea how powerful motors I need. What kind of current amounts are we talking about?

Also I started thinking that aren't servos controlled by PID-controller or something similar to that. I that case even servos modded to continuous rotation should always slowly accelerate to full speed

Standard RC servos are actually controlled by something closer to a window comparator circuit, not by PID (those servos would be pretty expensive if they had PID built in!); they work (in the end) by comparing a reference voltage (derived from the PWM signal sent to the servo) to the voltage across a potentiometer (acting as a variable voltage divider), when within a range (dead zone?), they stop (the size of the dead zone helps determine the accuracy of the servo).

So, modding such a servo for continuouse rotation, by removing the potentiometer (and maybe a physical stop tab on a gear) does nothing to change the top speed of the servo; it just keeps trying to find a reference voltage higher or lower (depending on direction of rotation) that it will never find, continually rotating.

Now - if you didn't mind giving up the PWM RC interface (which is easy to work with), you could bypass that portion of the circuit and hook directly into the on-board h-bridge, or build your own h-bridge, to control the motor directly on the servo. That way, you could get the benefits of the servo gearbox and standard mounting methods for wheels and such that have grown up among small robot hobbyists, while still being able to have complete control over rotation speed (at the expense of an easier control interface - 4 wires instead of only 3).

:slight_smile:

Now - if you didn't mind giving up the PWM RC interface (which is easy to work with), you could bypass that portion of the circuit and hook directly into the on-board h-bridge, or build your own h-bridge, to control the motor directly on the servo. That way, you could get the benefits of the servo gearbox and standard mounting methods for wheels and such that have grown up among small robot hobbyists, while still being able to have complete control over rotation speed (at the expense of an easier control interface - 4 wires instead of only 3).

Now this sounds interesting. I was thinking of using cheap servos like this http://www.dealextreme.com/details.dx/sku.12832 modded to continuous rotation. On the other hand these servos have max speed of 60 degrees per 0.17 s so it takes about a second to make 360 degrees. With 8 cm diameter wheels max speed of the robot would be 25 cm/s which is quite lousy. I guess it's about the same with all servos so gearmotors it is...

Any suggestions of good and cheap gearmotors with as little backslash as possible? I'll probably make my own controller with L293 or something similar.

Edit: Pololu - 150:1 Micro Metal Gearmotor HP 6V

At 200 rpm these would give max speed of 83 cm/s or 3 km/h using tires with 8 cm diameter. These also have stall torque of 3.2 kg-cm so two of these would be capable of lifting a 1.6 kg robot from 4 cm apart.

So in the beginning I'm going to make just a self balancing robot but after that I'd like to make it able to move around also outside. That's why I want the motors to be able to lift the robot over small stones etc.

I dont want to bring you down, but:
Servos is not going to make you happy. Torque is almost zero even at 6V, and regulating the voltage will probably kill the rest?
If you are going for rc stuff, buy lowrpm rc-motors and esc:s. Then you have both speed regulation and lots of power. Reads data as a servo, so its a perfect switch. Just more money.

Torque is almost zero even at 6V, and regulating the voltage will probably kill the rest?

Some what bizar statement. Torque specs for servos (like below) are given on their spec sheets usually at 4.8v and 6v. I'll add some to the continous rotation servo info, as I'm using one right now. They make very good variable speed gear motors. Mine is connected to an ssc-32 servo controller. I have its pot adjusted for zero rotation at the 1500. I can adjust its rotation speed in both directions from zero to full speed using the control range of 1400-1500-1600. As to the balancing bot, it may be a somewhat challaging project to build one from scratch. I think there are kits available that would be good to look at to see what equipment they use. larger tires will help the responsiveness of the drive motors. You can start out making your bot such that the center of gravity of the body is just slightly above the center line of the drive axles. This would allow for using slower controls until you get them sorted out.

A regular servo is a type of gearmotor with some position feedback and electronics to maintain a set position.

There are two ways to modify a servo for continuous rotation. In the first method, you simply remove all the electronics, which leaves you with a pure gearmotor, as controllable (and as difficult to control; requiring power transistors of some sort) as any other gearmotor. In the second method, you remove only the feedback section of the electronics (actually, the connection between the mechanics and the feedback electronics), which leaves you with a motor that can be controlled as to on/off and direction with a simple digital signal (and to some extent, speed controllable as well, but this is somewhat ad-hoc and unpredictable.)

In either case, a servo is relatively common and inexpensive compared to an ordinary gearmotor (largely because the servo is a common "consumer" item, while the gearmotor tends to come from a company that doesn't want to sell to individuals.) If you build a project based on a "futaba XYX1234" servo, you can be relatively sure that other people will be able to duplicate the project (or that you'll be able to duplicate it yourself, a couple years later.) (This is in contrast with "surplus" gearmotors; the kind most likely to be available at a reasonable price to the average hobbyist.) Also, servos are available in a wide range of size and power ratings, ranging from 5g or smaller super-micro servos to 100g+ 1/4 scale servos with impressive torque.

The solarbotics.com motor offerings are sort of typical. Servo motors range in price form $6 to $13, while gearmotors range from about $7 ("toy") to $20 ("sealed metal")

Some what bizar statement. Torque specs for servos (like below) are given on their spec sheets usually at 4.8v and 6v.

Correct. Torque specs is if you use an 10 mm long arm or a wheel with 20 mm dia. Recalc for your wheel dia.
The MG995 is definitly a better choice if you go with servos. Metal gears and higher torque. I have bought some of them for steering in 1:8 buggy.
Latley I bought a MG9805, a 25kg servo. Paid 38 dollars including freight from himodel.com. But it eats a lot of amps and is HUGE.