9
\$\begingroup\$

I am not sure I understand what the difference between a stepper motor and a servomotor is. Could someone explain this to me?

Also how do these motors behave when they are paused or turned off, do they have enough resistance force to hold something in position (say 1kg) or do I need to do anything special for that?

Which of these two do you think would be a better choice for an application in which I would like to have slow movement in small steps (i.e. I will need a very small step followed by a pause in that position and then another small step and so on, and I would prefer each steps to change by exactly the same degrees).

Context for this question: I want to create a timelapse rig that will pan and tilt a DSLR camera over a period of time.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ Either will work, however a stepper moves exactly one step every time time you "kick" it, whereas a normal DC motor runs by some amount which will depend on many factors, so you need some form of feedback (EG rotary encoder) to make precise/repeatable movements with one. \$\endgroup\$
    – John U
    Commented Nov 28, 2013 at 11:56
  • \$\begingroup\$ Please translate your force requirement "1kg" into a torque requirement "XX Nm" (Newton x meter). A motor is a rotating device and does not provide any force but a torque instead. \$\endgroup\$
    – Blup1980
    Commented Nov 28, 2013 at 14:24

4 Answers 4

8
\$\begingroup\$

While the other current answer to this question quotes a comprehensive enough answer courtesy WikiPedia, here is a simplified TL;DR:


Stepper motor: Moves in steps, with a fixed number of steps per revolution. Thus, controllable across any number of revolutions, in jumps of the step size.

Could be unidirectional or bidirectional. Each step is exactly the same number of degrees.

Holding torque is (relatively) high, and a reduced holding torque is sustained even with coils de-energized.


Servo motor (specifically, hobby servos): Moves smoothly from a "rest position" to a "target position", works to retain this position till control signal changes. No steps.

Inherently bidirectional, but inherently limited deviation range. Pure analog control is an option. Not necessarily linear control, though.

Holding torque is dependent on the motor being energized, unlike steppers.

Typical hobby servos will go from say -90 degrees to +90 degrees, or -170 degrees to +170 degrees. Multiturn servos will go from x revolutions deviation from rest in one direction, to x revolutions in the opposite direction.


For a pan/tilt controller, a stepper motor matches the description in the question, since smooth panning / tilting is not a requirement. If smoothing of the movement is required, then a high enough gear reduction on the stepper achieves that.

\$\endgroup\$
2
  • \$\begingroup\$ Steppers don't magically retain holding torque without power being applied. You still feel the steps when you spin the axle by hand, but the force required is much smaller than with current flowing through the coils. \$\endgroup\$
    – Mels
    Commented Nov 28, 2013 at 9:50
  • \$\begingroup\$ @Mels I just checked with two different stepper motors, a big one from an old CDROM drive, and a tiny focusing motor used within SLR lenses, and while the unpowered holding torque is smaller than when powered, I don't see it as much smaller. The detents are pretty strong even with no power. I've edited the answer to highlight the reduced torque though. \$\endgroup\$ Commented Nov 28, 2013 at 12:19
14
\$\begingroup\$

There is a lot of noise in the answers to this question that seem to be conflating "servo motor" as a generic term for variety of closed-loop feedback servo systems, and "servo motor" as used basically exclusively within the RC model community.

Note that "servo motor" does NOT specifically refer to the pulse-duration-controlled potentiometer-feedback non-continuous rotation "servo" actuators as used within the RC model and hobbyist community. It has broad usage in a variety of industrial control and CNC applications, the great majority of which would not be recognizable in any way to a person who thinks of a "servo motor" as the little things you put in a RC model or toy robot.


Anyways, fundamentally, a servo motor is the combination of a motor and a feedback mechanism, which is used together with a servo controller that controls power to the motor in order to control it's position. The controller, motor, and feedback system form a servo system.

Now, one thing you may realize here is that this is a very broad definition. This is true. In fact, if you add the feedback and control element to a stepper motor a stepper motor can be (part of) a servo motor! (I actually have a motion-controlled XY stage that uses steppers with optical encoders for feedback, and as such is "servo-controlled" for a project I'm working on).

The RC-servo mechanism that is so commonly conflated with the more generic servo-motor term is indeed a type of servo motor system, but it is a subset of term, not the entirety.

Probably 99% of industrial automation and computer-control uses drive mechanisms that fall under the "servo motor" banner, but they have much less exposure on the internet (it's a specialty field), so the hobby "servo" has come to dominate the common use of the term, and confuse the hell out of people who are just becoming interested in electronics.


With regard to your question, we need you to clarify if you are referring to hobby-style RC servos specifically or the more generic "servo" when asking your question.

Realistically, a properly designed servo-motor system will outperform a stepper motor in every category aside from design ease, but your application may not need sufficient performance to make the additional effort worthwile, and a stepper system may be entirely capable of the task.

Furthermore, you can use a stepper motor as the motor element in a servo system, by adding closed-loop feedback around the motor (generally via an encoder of some sort).
However, steppers are normally used because they can often work well enough without closed-loop feedback, and that reduces the overall system cost by not requiring the additional encoders.

Once you have encoders, you can generally get better torque characteristics by using equivalently priced brushed DC servo-motors in place of stepper motors, with the control loop supplying the required precision that is lost by the use of the brushed servo-motors.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ One advantage of steppers is that they're generally designed to dissipate the heat generated when continuously generating maximum holding torque, while many other kinds of motors are not designed to be given maximum current for extended periods of time. Of course, the fact that stepper motors will gobble maximum current even when there's no externally applied torque may make that seem like less of a win. Another advantage of steppers is they need to generate holding torque and the external torque is released, they're not prone to moving briefly as a result. \$\endgroup\$
    – supercat
    Commented Oct 3, 2014 at 22:26
0
\$\begingroup\$

Google is your friend. From https://www.modmypi.com/blog/whats-the-difference-between-dc-servo-stepper-motors

Servo Motors

Servo motors are generally an assembly of four things: a DC motor, a gearing set, a control circuit and a position-sensor (usually a potentiometer).

The position of servo motors can be controlled more precisely than those of standard DC motors, and they usually have three wires (power, ground & control). Power to servo motors is constantly applied, with the servo control circuit regulating the draw to drive the motor. Servo motors are designed for more specific tasks where position needs to be defined accurately such as controlling the rudder on a boat or moving a robotic arm or robot leg within a certain range.

Servo motors do not rotate freely like a standard DC motor. Instead the angle of rotation is limited to 180 Degrees (or so) back and forth. Servo motors receive a control signal that represents an output position and applies power to the DC motor until the shaft turns to the correct position, determined by the position sensor.

PWM is used for the control signal of servo motors. However, unlike DC motors it’s the duration of the positive pulse that determines the position, rather than speed, of the servo shaft. A neutral pulse value dependant on the servo (usually around 1.5ms) keeps the servo shaft in the centre position. Increasing that pulse value will make the servo turn clockwise, and a shorter pulse will turn the shaft anticlockwise. The servo control pulse is usually repeated every 20 milliseconds, essentially telling the servo where to go, even if that means remaining in the same position.

When a servo is commanded to move, it will move to the position and hold that position, even if external force pushes against it. The servo will resist from moving out of that position, with the maximum amount of resistive force the servo can exert being the torque rating of that servo.

Stepper Motors

A stepper motor is essentially a servo motor that uses a different method of motorisation. Where a servo motor uses a continuous rotation DC motor and integrated controller circuit, stepper motors utilise multiple toothed electromagnets arranged around a central gear to define position.

Stepper motors require an external control circuit or micro controller (e.g. a Raspberry Pi or Arduino) to individually energise each electromagnet and make the motor shaft turn. When electromagnet ‘A’ is powered it attracts the gear’s teeth and aligns them, slightly offset from the next electromagnet ‘B’. When ‘A’ is switch off, and ‘B’ switched on, the gear rotates slightly to align with ‘B’, and so on around the circle, with each electromagnet around the gear energising and de-energising in turn to create rotation. Each rotation from one electromagnet to the next is called a "step", and thus the motor can be turned by precise pre-defined step angles through a full 360 Degree rotation.

Stepper motors are available in two varieties; unipolar or bipolar. Bipolar motors are the strongest type of stepper motor and usually have four or eight leads. They have two sets of electromagnetic coils internally, and stepping is achieved by changing the direction of current within those coils. Unipolar motors, identifiable by having 5,6 or even 8 wires, also have two coils, but each one has a centre tap. Unipolar motors can step without having to reverse the direction of current in the coils, making the electronics simpler. However, because the centre tap is used to energise only half of each coil at a time they typically have less torque than bipolar.

The design of the stepper motor provides a constant holding torque without the need for the motor to be powered and, provided that the motor is used within its limits, positioning errors don't occur, since stepper motors have physically pre-defined stations.

\$\endgroup\$
0
\$\begingroup\$

IF you want to save energy and you are holding torque for a long time , i would suggest buying either of these motors with EM brake (Electro Magnetic Brake) usually NC (normally closed . you apply a voltage for the brake to release and the motor can move freely when you reach your desired position you switch the brake current off , now the mechanical is actuated .

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.