Thursday, March 26, 2009


Gearmotors vs Steppers

I'm not a mechanical engineer by any stretch of the imagination, so one thing that I don't fully "get" is the choice of stepper motors for RepRap.

They're pretty much ubiquitous as a choice, so there's got to be lots of reasons they're usually picked over the often-cheaper gearmotors.

The obvious answer is that gearmotors don't include shaft encoding unless you add it yourself, where the stepper motor has this built in as a function of how one drives them. However, with the possibility looming of teaching a RepRap to fabricate gearboxes, I'd think that shaft encoding plus a sixty-cent motor would be possible, and a big reduction in the vitamin requirements. If the only benefit of stepper motors was "native" encoding, it seems there'd already be a number of reprappers scrambling to get that brass ring of a printable gearbox, even if it were large, clunky, and required finicky sensors.

So I figure there's gotta be another reason the stepper motor is better than the gearmotor. Is it a torque/speed thing? Is it power? Lupus? Is it Lupus?

Okay, okay, it's never Lupus...

The above gearbox, incidentially, is now available on Thingiverse and should be fully reprappable. Like I know. My RepRap is still a pile of old printer parts :3

Here are some reasons I can think of for using steppers:

1) They're easy to use. No closed loop control, no calibrating of rotary encoders, and simple software as well. Using servos requires you to have sophisticated overshoot handling, and careful management of acceleration.

2) Servos large enough to run a cnc machine often require "tuning" which can be a challenging process if you don't know what you're doing (and sometimes even if you do)

3) No gear slip. Using gears reduces the accuracy of the drive. That's why many cncs and repraps use steppers to drive directly. If you put a gear in between the stepper and the screw, you introduce some inaccuracy.
Here are two more:

4) DC motors wear out much faster.

5) DC motors emit a lot of radio frequency interference, requiring a suppressor, adding to the cost.
Mmm. This explains a lot.

Steppers might be expensive, but they solve even more problems than I knew about. If the vitamins were a single circuit board and three steppers, a RepRap would be a pretty cheap machine...
To me the big blatant reason is slop i.e backlash. Every time you switch directions you have a little delay while the slop is taken up. This could probably be measured and accounted for but with wear that would be difficult. Since the reprap or any CNC will have a lot of direction change I expect this to cause significant error.
Good point Mike. Whereas backlash compensation is OK for a mill, the delay would lead to blobs when extruding.
What they said regarding sevos vs steppers, but -

Cool geartrain design!

I think the teeth will be too small for my reprap at the moment with a 0.5mm filament, but still, it's good to see more designs out there.

Interesting that you did it in AOI and then Blender. Why the switch?
One option rarely investigated is using a brushless DC motor, the type used by the model aircraft bunch.
Basically they are stepper motors with low resolution, low inductance and very low resistance. This makes for rather special drive requirements. However, they offer high speed, which may compensate for the low resolution when combined with a threaded bar as a drivechain and thereby eliminate the need for belts or chains.
BLDC motors are great. They do have the problem of being low resolution. There's a solution to that: take out the permanent magnets.

Now, you have an AC servo. This means that it has effectively infinite resolution, but it also requires closed loop control, so the resolution is the resolution of the position sensor.

Net effect: You have a servo but without all the down-sides that nophead listed.

Still has all the problems that shader listed. In addition, it requires a control system on the same complexity level as a stepper driver with position feedback.

The gear train is designed to print with paste at 0.5mm thickness, although I haven't had the MakerBot folks confirm it works yet. If you try printing the Rome gear it should be fairly clear if it's going to work overall or not...

I didn't do any of this in AOI. The gearbox is 100% Blender. I don't have anything in particular against AOI, it's just not as sophisticated as Blender, and once you get over the learning curve, Blender is actually a really sweet modeler.

(Also I think there's some weird neurological disorder you have to have to like Blender.)
There seams to be a little misunderstanding about BLDC motors here. In reality there is no difference between a BLDC motor and an AC "Servo" motor. Both are permanent magnet motors. The only difference between them is what sensors they have on them and how they are driven. The BLDC motor just simplifies the commutation by approximating the typical AC sine wave with a square wave. Either a BLDC motor or an AC motor can be very high resolution motors. The problem is in the cost of the feedback device (the encoder) and the controller. With the RC type motors it would not be uncommon for the encoder to cost as much or twice as much as the motor it's self. BLDC and AC motor controllers/Drivers are quite expensive (even to build, compared to a stepper drive) for motion control.
So a properly controlled and driven BLDC or AC servo motor will typically offer much better performance Watt for Watt in comparison to a stepper motor, but the performance does come with a cost.
I'm working on a servo controller based on an FPGA designed to minimize jerk (fourth derivative of position, rate of change of acceleration). It look like it will be a cheap, high performance controller.

I don't know what to use for servos and I'm new to RepRap. Would you like to get involved in the design?
Post a Comment

Links to this post:

Create a Link

<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]