Learn PLCs free
Platform Comparison21 min read4,075 words

Stepper Motor vs Servo Motor: How to Choose for a PLC-Controlled Axis

Stepper motor vs servo motor compared — open vs closed loop, torque-speed curves, accuracy, cost, and how each connects to a PLC and drive for machine motion.

PPI
PLC Programming IO Editorial Team
Sourced guidance with documented review and correction standards

A stepper motor moves in fixed angular increments without feedback; a servo motor uses an encoder to continuously verify and correct position. For a PLC-controlled machine axis, that single distinction cascades into wiring, programming, drive selection, cost, and long-term reliability — so the choice deserves more than a quick opinion.

Quick answer: Use a stepper motor when the load is light and constant, speed stays below roughly 600–800 RPM, and the application does not require stall detection. Use a servo motor when the load varies, speed exceeds 1,000 RPM, accuracy is critical, or a missed step would cause a crash or scrap.

Stepper motor vs servo motor: open-loop vs closed-loop control architecture with encoder feedback and following error detection Side-by-side diagram comparing stepper open-loop control where the PLC sends pulses and assumes steps are taken, versus servo closed-loop control where an encoder continuously feeds actual position back to the servo amplifier which calculates following error and corrects current in real time. Stepper — Open Loop PLC pulse count STEP/DIR Drive microstep Stepper 200 steps/rev No encoder — no feedback Missed step = silent position error Accuracy: ±0.036° mechanical

Servo — Closed Loop

PLC position cmd EtherCAT Amplifier following error Servo + Enc 23-bit abs enc encoder feedback Accuracy: ±0.001° or better
Stepper open-loop (pulse counts assumed correct, no verification) vs servo closed-loop (encoder feeds actual position back to amplifier, following error corrected in real time).
Factor Stepper Motor Servo Motor
Control loop Open-loop (no feedback) Closed-loop (encoder feedback)
Typical accuracy ±0.05° (1/8 microstep) ±0.001° or better
Torque at speed Falls sharply above ~1,000 RPM Maintains rated torque to rated speed
Stall detection None (steps are silent) Amplifier faults on following error
Wiring to PLC Pulse/Direction or Step/Dir Pulse/Dir, EtherCAT, PROFINET, or CANopen
Drive cost (typical) $30–$200 per axis $250–$2,000+ per axis
Best fit Indexing, low-speed positioning High-speed, varying-load, precise motion

Open-Loop vs Closed-Loop Control: The Core Difference

Every stepper motor is an open-loop device by nature. The drive sends a pulse, the rotor advances one step (typically 1.8° for a 200-step motor), and the system assumes that step was taken. There is no verification. If the load torque exceeds the holding torque, the motor skips a step silently, and the machine carries on in the wrong position. The PLC never knows.

A servo motor paired with a servo amplifier is a closed-loop system. An encoder — typically a 2,500-line or higher resolution optical or magnetic device — reports actual shaft position back to the amplifier at thousands of samples per second. The amplifier continuously calculates following error (commanded position minus actual position) and adjusts phase current to eliminate it. If the load exceeds amplifier capacity, the drive generates a fault that the PLC can act on immediately.

The PLC's role is different in each topology:

  • Stepper axis: The PLC (or a dedicated motion card) generates the pulse train. Position is tracked in software only — the PLC counts pulses out. There is no position feedback in the control loop.
  • Servo axis: The PLC sends a position or velocity command. The servo amplifier closes the position loop internally, or the PLC closes the loop using encoder feedback routed back to a high-speed counter or motion module.

For a deeper treatment of feedback devices, see Encoder vs Resolver: Choosing the Right Feedback Device for Your Motion Axis.

Torque vs Speed Curves: Where Steppers Fall Short

The torque-speed characteristic is the most important curve to understand before specifying either motor type for a machine axis.

Stepper Motor Torque-Speed Curve

A stepper motor produces maximum torque at standstill (holding torque). As pulse frequency increases, available torque drops continuously. The relationship is roughly hyperbolic: doubling the speed roughly halves the available torque. By 1,000 RPM a typical NEMA 23 stepper has lost 60–70% of its rated holding torque, and by 2,000 RPM the torque may be too low to overcome even light friction loads without losing steps.

Key stepper torque zones:

  • 0–300 RPM: Near full torque available; ideal for indexing and precise slow positioning
  • 300–1,000 RPM: Torque falling; viable with proper sizing margin (typically 3:1 safety factor)
  • Above 1,000 RPM: High risk of stall under any meaningful load; generally avoid

The torque drop is caused by the back-EMF of the motor windings. At high step frequencies, winding inductance limits how quickly current can build during each step, so peak magnetic force is never reached. High-voltage drives (48 V and above vs. the common 24 V) improve the high-speed torque profile by forcing current up faster, but the fundamental limitation remains.

Servo Motor Torque-Speed Curve

A properly specified servo motor produces its rated continuous torque across the full operating speed range, up to the rated speed (commonly 2,000–6,000 RPM). Above rated speed, the amplifier enters field-weakening or constant-power operation, and torque falls off. This "flat" torque curve means a servo can accelerate a load hard, run at process speed, and decelerate — all without losing authority.

Servo motors also have a peak torque rating (typically 2–3× continuous) available for short-duration accelerations. The amplifier's current limit enforces this, and thermal management handles the duty cycle.

If your machine requires fast acceleration of a meaningful inertia at speeds above 600 RPM, the stepper torque-speed curve will likely force you into an oversize motor or, ultimately, a servo.

Stepper motor vs servo motor torque-speed curve comparison: stepper torque drops sharply above 600 RPM while servo maintains flat rated torque to 3000 RPM Horizontal bar chart comparing available torque as a percentage of rated value at four speed points for a NEMA 23 stepper versus a servo motor, showing the stepper retaining 100 percent at standstill, 75 percent at 300 RPM, 40 percent at 1000 RPM, and near zero at 2000 RPM, while the servo maintains 100 percent across all speeds up to 3000 RPM. Torque vs Speed — Stepper (NEMA 23) vs Servo % Rated Torque 0 RPM 300 RPM 1,000 RPM 2,000 RPM 100% 50% 100% ~75% ~40% ~5% Servo (flat to rated speed) Stepper (drops rapidly)
Stepper torque collapses above 1,000 RPM as back-EMF prevents full current buildup; servo motor maintains flat rated torque across the full operating speed range.

Positioning Accuracy and Resolution

Stepper Resolution

A standard 200-step motor moves 1.8° per full step. Microstepping divides each full step into smaller increments — 1/8 microstepping gives 1,600 steps per revolution (0.225°), 1/256 microstepping gives 51,200 steps per revolution (0.007°). However, microstepping improves smoothness more than accuracy. The actual position error with microstep drivers is typically ±5% of a full step under load, so at 1/8 microstepping the real repeatability is still bounded by the full-step accuracy of the motor (roughly ±0.036° for a quality motor).

Mechanical compliance in the load coupling and the motor's magnetic detenting both limit realized accuracy. For applications requiring better than ±0.1° repeatability, microstepping alone is not enough.

Servo Resolution

A servo's accuracy depends on encoder resolution and the amplifier's control algorithm. Modern 23-bit absolute encoders provide over 8 million counts per revolution. At a typical 200 mm diameter pinion driving a rack, 8 million counts equates to sub-micron theoretical resolution. Real-world accuracy depends on mechanical stiffness, backlash, and the quality of the servo tune, but ±0.001° shaft accuracy is routinely achieved in production machines.

Absolute encoders also eliminate the need for a homing routine on power-up — the drive reads current position immediately. Incremental encoders require a homing move on each power cycle, but they cost less and perform well for most industrial applications. See Motion Control Basics: How Encoders, Drives, and PLCs Work Together for encoder selection guidance.

Missed Steps, Stall, and Fault Handling

The silent missed step is the most dangerous stepper failure mode in industrial automation. Because the stepper has no feedback, the PLC continues its motion profile as though the step was taken. The physical axis falls behind. On a multi-axis gantry, one axis lagging by even 50 steps can cause a mechanical crash. On an injection molding ejector, a stalled carriage can break tooling.

Common causes of missed steps in industrial deployments:

  • Load torque exceeding rated holding torque (sizing error or unexpected load spike)
  • Resonance at mid-range frequencies (typically 100–300 Hz for a 200-step motor)
  • Drive voltage insufficient for the motor inductance at the commanded speed
  • Sudden load changes with no velocity ramp

Mitigation strategies include conservative torque margins, closed-loop stepper drivers (which add an encoder specifically to detect and correct position error), and careful mechanical design to avoid binding. A closed-loop stepper driver blends stepper simplicity with basic feedback and costs $80–$250 per axis — a middle-ground option worth considering for high-volume machines that can't justify full servo cost.

A servo amplifier by contrast generates a following error fault the moment the axis deviates beyond the configured tolerance (often 0.1–10 mm depending on application). The PLC reads a fault input or a network status word, executes an emergency stop routine, and logs the event. No silent crashes.

PLC Wiring and Drive Interface

This is the section that most comparison articles omit — and it is where the actual engineering decisions live.

Connecting a Stepper to a PLC

The standard stepper drive interface uses two signals: STEP (pulse) and DIR (direction). Each rising edge on the STEP input advances the motor by one microstep. The DIR level sets rotation direction. Some drives add ENABLE and FAULT outputs.

Most PLCs connect to stepper drives one of two ways:

1. High-speed transistor output from a motion module. Dedicated PLC motion modules (Allen-Bradley 2098, Siemens FM 353, Mitsubishi MR-J4 pulse train input) generate pulse trains at 200 kHz or higher. The PLC ladder calls a MOVE or PTI (pulse train input) instruction; the module hardware handles the timing. The PLC program tracks position in engineering units by counting commanded pulses.

2. Pulse output from a standard digital output (slower). Standard PLC digital outputs can generate pulses to perhaps 10–20 kHz (hardware dependent). This limits maximum speed, but is adequate for slow indexing applications. Check the output transistor's maximum switching frequency — relay outputs cannot be used for pulse generation.

Wiring is straightforward: PLC output commons, one discrete output to STEP, one to DIR, and a common reference. Always use shielded cable and tie the shield at the drive end only to minimize EMI pickup on the low-voltage logic lines.

Connecting a Servo to a PLC

Servo drive interfaces have evolved significantly, and the choice of interface determines how the PLC command structure is written.

Pulse/Direction (legacy analog position mode). Older servo drives accept the same STEP/DIR signal as steppers. The PLC generates pulses; the drive closes the position loop internally. This is the simplest migration path from stepper to servo on a budget machine but sacrifices access to the drive's diagnostic and parameter interfaces.

Analog ±10 V velocity/torque command. The PLC outputs an analog voltage (via analog output module) and the drive follows that command as velocity or torque. The PLC typically closes the position loop in software using encoder feedback from the drive. This is common on older machine retrofits and requires careful loop tuning in the PLC program.

EtherCAT. The dominant fieldbus for modern servo motion. The PLC (master) communicates with servo drives (slaves) over a 100 Mbit/s ring at 125–1,000 µs cycle times. Position, velocity, and torque commands go out each cycle; actual position, following error, drive status, and diagnostics come back. IEC 61131-3 PLCopen motion function blocks (MC_MoveAbsolute, MC_MoveVelocity, MC_Home) drive the axes. Beckhoff TwinCAT, Siemens S7-1500 with SINAMICS V90, and Omron NJ/NX controllers all use EtherCAT as their primary servo interface. EtherCAT eliminates discrete wiring between PLC and drive except for 24 V power and safety.

PROFINET. Siemens SINAMICS S120 and other drives support PROFINET IRT (isochronous real-time) for servo motion at 250–500 µs cycle times. The programming model is similar to EtherCAT: PLCopen blocks in the PLC, drive objects on the network. PROFINET is the natural choice for Siemens-heavy plant environments. For a full treatment of PROFINET motion integration, the PROFINET Tutorial: How It Works and How to Configure It covers network topology and drive parameterization.

CANopen / DS402. Still common on smaller drives and robot axes. Lower cost than EtherCAT, adequate for cycle times above 1 ms. DS402 is the standardized drive profile over CANopen — the same PLCopen motion block model applies.

For broader context on how PLCs command drives across fieldbus topologies, see VFD Programming with PLC Control: Complete Guide and Servo Motor Control: PLC Programming Techniques.

When a Stepper Wins on a Simple Indexing Axis

Consider a pick-and-place shuttle that moves a payload of 2 kg across a 300 mm stroke at 150 mm/s, stopping at two fixed positions with ±0.5 mm acceptable error. The drive and PLC output the same number of steps every cycle. There is no varying load, no risk of stall at this speed, and the application can home against a hard stop on startup.

In this case:

  • A stepper + microstepping driver + two limit switches costs under $120 per axis.
  • A servo amplifier + servo motor + encoder cable starts around $450.
  • The stepper meets the specification and the lower cost is real engineering value.
Stepper motor vs servo motor PLC interface options: pulse direction transistor output versus EtherCAT PROFINET CANopen fieldbus wiring Side-by-side comparison of PLC to stepper drive wiring using two discrete transistor outputs for STEP and DIR signals versus PLC to servo amplifier connection over EtherCAT at 125 microsecond cycle time using PLCopen motion function blocks, showing signal types and programming interface for each approach. Stepper — Pulse/Direction PLC Q0.0 → STEP Q0.1 → DIR 0–200 kHz Stepper Drive microstep $30–$200 STEP DIR No encoder feedback Simple: 2 discrete outputs PLC tracks position by count Silent miss-step risk Axis cost: $70–$320

Servo — EtherCAT

PLC MC_MoveAbs PLCopen blk EtherCAT port Servo Amp 125 µs cycle pos/vel/torque $300–$1,500 EtherCAT Encoder feedback — verified pos Following error fault on stall Diagnostics over network Requires servo tuning (1–4 h) Axis cost: $530–$2,400
Stepper pulse/direction interface (2 discrete outputs, PLC counts pulses) vs servo EtherCAT interface (PLCopen function blocks, amplifier closes position loop at 125 µs).

The decision flips when the payload weight varies (different product sizes), when cycle time demands higher acceleration, when the travel extends (thermal effects accumulate positional error), or when a missed step would cause scrap or a safety event.

Homing and Position Memory

Homing is a practical differentiator that matters every time a machine powers up.

Stepper with incremental encoder or no encoder: Position knowledge is lost on power loss. Every power-up requires a homing sequence — typically a controlled move to a hard stop or a limit switch, followed by a position register reset. The home move adds 5–30 seconds to startup time and requires reliable limit switch input to the PLC.

Servo with incremental encoder: Same requirement. The drive retains the last known position in battery-backed RAM on some amplifiers, but unless the motor moved during power-off this is unreliable. A homing routine is required.

Servo with absolute encoder (single-turn or multi-turn): Position is retained without power. The drive reads the absolute position on startup and the PLC can begin motion immediately without a home move. Multi-turn absolute encoders (Heidenhain EnDat, Stegmann Hiperface, Mitsubishi absolute) support ranges of 4,096 or more turns, covering typical machine travel without overflow. This is standard in modern EtherCAT servo systems and is often decisive in high-throughput applications where startup time matters.

Cost Comparison: What You Actually Pay Per Axis

Component-level cost guidance (2026, mid-market industrial components):

Component Stepper Axis Servo Axis (EtherCAT)
Motor $30–$120 (NEMA 23/34) $150–$600 (depending on frame)
Drive/Amplifier $40–$200 $300–$1,500
Encoder/cable Not required $80–$300 (included in some kits)
PLC motion card $0 (use transistor output) or $200–$800 $0 (EtherCAT port on most modern PLCs)
Axis subtotal $70–$320 $530–$2,400

Stepper systems are cheaper per axis, but the cost gap narrows at higher axis counts because modern servo systems amortize the PLC EtherCAT hardware cost across all axes. A 12-axis EtherCAT servo system reuses a single PLC network port and a managed switch ($200–$400) that would otherwise require 12 discrete pulse output channels.

Engineering labor is the hidden cost. A servo loop requires initial tuning — setting bandwidth, gain scheduling, and inertia matching. Budget 1–4 hours per axis for initial commissioning and testing. A stepper axis is typically commissioned in under 30 minutes.

Stepper motor vs servo motor per-axis cost comparison: motor, drive, encoder, and PLC motion card component costs in 2026 Horizontal stacked bar chart showing per-axis cost breakdown for stepper and servo EtherCAT systems, with stepper totalling 70 to 320 US dollars from motor, drive, and optional motion card, versus servo totalling 530 to 2400 US dollars from motor, amplifier, encoder cable, and PLC EtherCAT port amortised across all axes. Per-Axis Cost Breakdown (2026, mid-market industrial) Stepper Axis Motor Drive $40–200 Card opt. $70–$320 total $30–120 Servo Axis (EtherCAT) Motor $150–600 Amplifier $300–1,500 Enc $80–300 $530–$2,400 $0 ~$400 ~$800 ~$1,200 $1,600+ Servo EtherCAT amortises the PLC network port cost across all axes — cost gap narrows at 10+ axes. Budget 1–4 h commissioning per servo axis for tuning; stepper axis under 30 min.
Per-axis cost comparison (2026): stepper axes total $70–$320; servo EtherCAT axes total $530–$2,400 — the gap narrows at higher axis counts as the EtherCAT network port cost is shared.

Typical Applications by Motor Type

Stepper Motor Applications (Industrial)

  • Label applicators and dispensers: Short strokes, repeatable index distance, light constant web tension
  • Syringe and dosing pumps: Precise volume delivery at low speed where stall under pressure is detectable mechanically
  • PCB drilling and routing fixtures: Low-cost multi-axis gantries where thermal drift is acceptable
  • Textile feeders and yarn guides: Constant-tension position holds at low speed
  • Barcode and ticket printers: Paper feed mechanisms with consistent media weight

Servo Motor Applications (Industrial)

  • CNC machine tools: Milling, turning, and grinding axes where cutting forces vary and accuracy is paramount
  • Packaging machinery: Continuous-motion horizontal flow wrappers running at 100–200 packs/min with variable product dimensions
  • Robotic arms and SCARA robots: Multi-axis coordinated motion with varying payload and dynamic load
  • Press brakes and stamping: Velocity and force control with feedback to maintain forming accuracy
  • High-speed pick-and-place: Delta robot axes requiring 20+ G accelerations at cycle rates above 120 picks/min

Choosing Between Stepper and Servo: Decision Checklist

Choose a stepper motor if all of the following are true:

  • Maximum operating speed is below 600 RPM (conservative) or 1,000 RPM (with torque margin)
  • Load is predictable and does not spike unexpectedly
  • A missed step is detectable by another means (end-of-cycle check, optical sensor) before causing damage
  • Cycle rate and production volume are low enough that startup homing time is acceptable
  • Budget per axis is constrained below $300

Choose a servo motor if any of the following are true:

  • Operating speed exceeds 1,000 RPM, or high acceleration is required
  • Load varies cycle-to-cycle (different product sizes, cutting force variation)
  • A missed step or stall would cause machine damage, scrap, or a safety event
  • Positioning accuracy tighter than ±0.1° is required at the shaft
  • Machine must restart without a homing routine after E-stop or power loss
  • The axis will be commanded over EtherCAT or PROFINET as part of a coordinated multi-axis motion system

Tuning a Servo Loop from the PLC Side

When the PLC commands a servo via EtherCAT or PROFINET, the servo amplifier handles the inner velocity and current loops (typically running at 16–62.5 µs). The PLC closes the outer position loop at the network cycle time (usually 250–1,000 µs). Key parameters the automation engineer sets at commissioning:

Inertia ratio: The ratio of load inertia to motor rotor inertia. A ratio above 10:1 causes instability unless the control bandwidth is reduced. Most drive auto-tuning routines measure inertia by injecting a test torque and observing the velocity response. Target inertia ratios of 1:1 to 5:1 for responsive, well-damped motion.

Position loop gain (Kp): Determines how aggressively the amplifier corrects following error. Too high causes oscillation; too low causes sluggish positioning. Most EtherCAT drives expose Kp as an object in the CoE (CANopen over EtherCAT) dictionary, readable and writable from the PLC.

Feed-forward velocity and acceleration: Pre-computed velocity and acceleration feed-forward terms reduce following error during motion without requiring high feedback gain. Providing the drive's velocity feed-forward with the motion profile significantly improves dynamic tracking accuracy.

Following error window: A configurable threshold (in counts or mm) beyond which the drive faults. Set this tight enough to catch real errors (1–5 mm typical for industrial positioning) but not so tight that normal acceleration overshoot triggers nuisance faults.

The PLC's role is to monitor the drive's status word each scan, surface following error faults as machine alarms with axis identification, and execute the configured safe-stop profile on fault detection. This is well within standard PLC motion function block capabilities.

Summary Comparison Table

Characteristic Stepper Motor Servo Motor
Control type Open-loop Closed-loop
Encoder required No (optional for closed-loop stepper) Yes
Max useful speed ~1,000 RPM 2,000–6,000 RPM
Torque at speed Drops sharply Flat to rated speed
Position accuracy ±0.036° (mechanical) ±0.001° or better
Stall detection None Following error fault
Missed-step risk Yes No (corrected by feedback)
Homing on power-up Required (incremental) Optional (absolute encoder)
Drive complexity Low Medium–high (requires tuning)
Axis cost (typical) $70–$320 $530–$2,400
PLC interface Pulse/Direction, transistor output Pulse/Dir, EtherCAT, PROFINET, CANopen
Best application Light-load indexing, low speed High speed, varying load, precision

Frequently Asked Questions

What is the difference between a stepper motor and a servo motor?

A stepper motor divides one shaft revolution into a fixed number of equal steps (200 full steps for a 1.8°/step motor) and advances one step per electrical pulse from the drive — with no position feedback confirming the step was taken. A servo motor uses a closed feedback loop: an encoder on the shaft continuously reports actual position to the servo amplifier, which adjusts motor current in real time to eliminate any error between commanded and actual position. The practical consequences are that stepper motors are simpler and cheaper but can lose position silently under overload, while servo motors are more capable and more expensive but provide verified, corrected positioning at all operating conditions.

Which is better, stepper or servo motor?

Neither is universally better — both are correct choices in the right application. Steppers are better when the load is light, speed is low, cost is a constraint, and a simple pulse-output from the PLC is adequate. Servo motors are better when speed exceeds 1,000 RPM, the load varies, accuracy is critical, or a position error would cause damage or scrap. The majority of industrial motion applications that were once served by steppers have migrated to low-cost servo systems as servo drive prices have fallen, but steppers remain the right tool for simple, slow, light-load indexing axes.

When should you use a stepper motor?

Use a stepper motor on an axis that runs below 600–800 RPM, carries a predictable and modest load, and where the consequences of an occasional missed step are recoverable (the machine homes at the next cycle, or a sensor confirms position at the end of travel). Common industrial examples include paper and film feeders, label dispensers, syringe pumps, and simple shuttle conveyors. Avoid steppers on axes with varying loads, high cycle rates, or where a lost step could cause mechanical damage or product loss.

Can a PLC control a stepper motor?

Yes. A PLC controls a stepper motor by generating a pulse-train output through either a dedicated motion module or a high-speed transistor digital output. Each pulse advances the stepper drive by one microstep; the DIR output sets rotation direction. The PLC program tracks commanded position by counting output pulses. Most mid-range PLCs (Allen-Bradley CompactLogix, Siemens S7-1200/1500, Mitsubishi FX5U, Omron NX1P) can drive one or more stepper axes through their built-in transistor outputs at pulse rates sufficient for most industrial indexing applications. For higher speeds or more axes, a dedicated pulse-output motion module is the correct choice.

#steppermotor vs servo motor#steppermotor#servomotor#motioncontrol#closedloop#plcmotion
Share this article:

Related Articles