Full Rotation Servos

Instead of building an encoder assembly to regulate motor speed for robot wheels, then writing software for it, could I just use a full rotation servo, which has all that built in?

Thanks! baum

Where's the feedback mechanism in a continuous rotation "servo" to regulate the speed?

cites “continuos 360° rotation”

Doesn't cite "feedback mechanism to maintain speed"

One can "control" the rotation speed of a continous rotation servo, but to "regulate" the speed, an actual speed feedback mechanism is required, which a continous rotation servo does not have.

But isn't the idea of a continuos servo that you can get a constant speed? (similar to how a regular servo will retain its set angle)

Well, yes, you can have fast clockwise, or fast anticlockwise. Or stopped. Those would be both pretty constant

baum: But isn't the idea of a continuos servo that you can get a constant speed? (similar to how a regular servo will retain its set angle)

It's the difference between having 'open loop' control Vs 'closed loop' control. The continous rotation servo can only be used in open loop control because you have no feedback to the actual speed.

So I would need something like this http://www.sparkfun.com/products/9209

or the thing built into the rover 5, plus lots of code to regulate speed?

So I would need something like this http://www.sparkfun.com/products/9209 or the thing built into the rover 5, plus lots of code to regulate speed?

Probably

OK. And how would I drive the motors? They have a stall current of 2.5A, so would a 2A h-bridge hold out?

baum

As long as you can ensure you don’t stall the motor, it could stand up to the abuse.

But say the robot crashes into a wall by accident, motors will stall, right?

baum: But say the robot crashes into a wall by accident, motors will stall, right?

If the kind of 2A h-bridge you are thinking of using is an L298-based device, look to see if it can support bridged mode; in this mode, the two h-bridges in the L298 are "bridged" together, to double the current capability of the bridge. Provided it is well heat-sinked, you can get almost 4 amps from the L298.

Note, though, you would now need two of the devices, one for each motor, which might eat into your budget. One thing that's nice, though, is that by adding current sensing resistors (to whatever h-bridge you use), you can monitor the current as a voltage level via an analog input, and once it rises over a certain amount, you can shut off current to that motor (or attempt to reverse it).

I am using L298s, but they are on a shield, so can't really use two of them. But the sense resistor sounds interesting. How would I hook that up?

baum

I am using L298s, but they are on a shield, so can't really use two of them. But the sense resistor sounds interesting. How would I hook that up?

Reviewing the L298 datasheet will provide you with some info.

But I'm using a shield; the sense pins aren't broken out. How else can I do it?

baum

But I'm using a shield; the sense pins aren't broken out. How else can I do it?

Looking at the data sheet schematics the sense resistors are .5 ohm resistors which appear to be user supplied external to the L298. If you are going to use only one of th h-brideges in the chip, or are going to attempt to parallel the two h-bridges in the chip, you should be able to put the sense resistor between the chip ground pin and the - of the power supply, then read the voltage drop across the resistor.

But the shield uses a tiny smd IC, how am I supposed to do what you say?

http://www.sparkfun.com/products/9815

One of the benefits of having encoders on your drive is that you can detect stalls without needing to sense the current as you should know what power is being fed to the motors and the speed they are turning. You should have a general idea of the relationship between the two values under normal conditions. When the values are way out of line with each other you can assume the motor is stalled.