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.
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.
| 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.
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.
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.
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.


