The Servo That Overshot Every Move
We sized a servo for a ball screw axis: 200 mm travel, 5 kg load, move in 0.5 seconds. The static torque (to hold the load against friction) was fine. But the axis overshot every move. The servo was undersized for the acceleration torque. The move profile demanded 0.4 seconds to reach 0.5 m/s. The required acceleration torque was 2.5 N·m, but the servo’s rated torque was 1.2 N·m. The servo couldn’t accelerate fast enough, so it overshot trying to catch up. We doubled the servo (2.4 N·m rated). The axis moved in 0.5 seconds without overshoot. The problem wasn’t tuning — it was that we’d sized for the holding torque, not the acceleration torque.
Servo motor sizing for linear axes is the calculation that separates a working axis from one that overshoots, stalls, or faults. The motor must handle three torques simultaneously: acceleration, friction, and external forces. This article walks through the numbers I run for every servo axis.
The Torque Equation
The motor torque must supply three components at every point in the move:
Tₘₒₜₒᵣ = Tₐₑₗ + Tբᵣᵢₜ + Tₑₓₜ
- Tₐₑₗ = Jₜₒₜₐₗ × α (accelerating the load and the rotor)
- Tբᵣᵢₜ = friction torque (constant, from the guide and seal drag)
- Tₑₓₜ = external torque (cutting forces, gravity on a vertical axis, process loads)
The motor must produce the peak torque (at acceleration) without overloading, and the RMS torque (over the cycle) must stay within the motor’s continuous rating.
Step 1: Calculate the Load Inertia Reflected to the Motor
The motor sees the load through the ball screw. The load inertia reflects through the screw’s lead.
Jₗₒₐ = m × (L / 2π)²
Where m is the moving mass (kg), and L is the screw lead (m/rev).
Example: m = 5 kg, screw lead L = 0.01 m/rev (10 mm/rev). Jₗₒₐ = 5 × (0.01 / 6.28)² = 5 × 2.53 × 10⁻⁶ = 12.7 × 10⁻⁶ kg·m².
Add the screw’s own inertia. For a Ø20 mm steel screw 500 mm long: Jₛᵣₑw ≈ 1.5 × 10⁻⁴ kg·m². The screw inertia dominates! The load (5 kg) reflects to only 0.013 × 10⁻³, but the screw itself is 0.15 × 10⁻³. The total Jₜₒₜₐₗ ≈ 0.16 × 10⁻³ kg·m² (including the motor rotor Jₘ, which is typically 0.05 × 10⁻³ for a 400 W servo).
Inertia ratio: Jₗₒₐ / Jₘ = 0.16 / 0.05 ≈ 3. Modern servos tolerate ratios up to 10:1 or even 30:1, but a ratio under 5 gives the best tuning. If the ratio is over 10, add a gearbox (which divides the reflected inertia by the square of the ratio).
Step 2: Calculate the Required Acceleration
The move profile defines the acceleration. A typical move: accelerate to a cruise speed, run, then decelerate.
For a 200 mm move in 0.5 seconds with a triangular profile (no cruise):
- Peak velocity v = 2 × distance / time = 2 × 0.2 / 0.5 = 0.8 m/s
- Acceleration time = half the move = 0.25 s
- Acceleration a = v / t = 0.8 / 0.25 = 3.2 m/s²
Convert to motor RPM: screw lead is 10 mm/rev, so v = 0.8 m/s = 800 mm/s. Motor RPM = 800 / 10 = 80 rev/s = 4,800 RPM. That’s high for a standard servo (typical max 3,000–5,000 RPM). The screw lead might be too fine, or the move too fast. If we use a 20 mm lead screw, RPM = 40 × 60 = 2,400 RPM — comfortable.
Step 3: Calculate the Acceleration Torque
Tₐₑₗ = Jₜₒₜₐₗ × α
Convert linear acceleration α to motor angular acceleration: α = a × (2π / L) = 3.2 × (6.28 / 0.01) = 2,010 rad/s² (for 10 mm lead). With Jₜₒₜₐₗ = 0.16 × 10⁻³ kg·m²: Tₐₑₗ = 0.16 × 10⁻³ × 2,010 = 0.32 N·m.
With a 20 mm lead (L = 0.02 m), α = 3.2 × (6.28 / 0.02) = 1,005 rad/s². Tₐₑₗ = 0.16 × 10⁻³ × 1,005 = 0.16 N·m. The coarser lead reduces the acceleration torque (because the motor spins slower for the same linear speed).
Step 4: Friction and External Torque
Friction Torque
The ball screw and linear guide have friction. A typical ball screw has a friction coefficient of about 0.003–0.01. The friction force Fբ = μ × N (N is the normal load, about the weight). For a 5 kg load (49 N), Fբ = 0.005 × 49 = 0.25 N. Convert to torque: Tբ = Fբ × L / (2π × η) = 0.25 × 0.01 / (6.28 × 0.9) = 0.0004 N·m. Negligible. The ball screw is efficient; friction isn’t the main torque consumer.
External Torque (Cutting Force, Gravity)
If the axis pushes against a load (drilling, pressing), the external force Fₑₓₜ creates torque: Tₑₓₜ = Fₑₓₜ × L / (2π × η). For a 100 N pressing force with a 10 mm lead: Tₑₓₜ = 100 × 0.01 / (6.28 × 0.9) = 0.18 N·m.
For a vertical axis (Z axis), gravity pulls the load down. The external force is the weight: Fₑₓₜ = m × g = 5 × 9.81 = 49 N. Tₑₓₜ = 49 × 0.01 / (6.28 × 0.9) = 0.087 N·m. The motor must hold this torque even at rest (or use a brake).
| Torque Component | Value (Example) | Source |
|---|---|---|
| Acceleration Tₐₑₗ | 0.16–0.32 N·m | Inertia × acceleration |
| Friction Tբ | 0.0004 N·m | Ball screw efficiency |
| External Tₑₓₜ (pressing) | 0.18 N·m | Cutting/pressing force |
| External Tₑₓₜ (gravity) | 0.09 N·m | Vertical load weight |
| Peak (Tₐₑₗ + Tₑₓₜ) | 0.34–0.50 N·m | At max acceleration + process load |
Step 5: RMS Torque (Continuous Rating)
The peak torque (at acceleration) must be below the motor’s peak torque rating (typically 2–3× rated). But the RMS torque over the cycle must be below the motor’s continuous rated torque.
For a cycle that accelerates (0.32 N·m for 0.25 s), cruises (0.18 N·m for 0.1 s), and decelerates (0.32 N·m for 0.25 s):
Tᵣₘₛ = √[(T₁²t₁ + T₂²t₂ + T₃²t₃) / (t₁ + t₂ + t₃)]
Tᵣₘₛ = √[(0.32² × 0.25 + 0.18² × 0.1 + 0.32² × 0.25) / 0.6] = √[(0.0256 + 0.0032 + 0.0256) / 0.6] = √[0.0544 / 0.6] = √0.091 = 0.30 N·m.
The motor’s continuous rating must exceed 0.30 N·m. A 400 W servo is rated at about 1.27 N·m continuous — plenty. A 100 W servo (0.32 N·m) would be marginal. We pick the 400 W.
Step 6: Speed Check
The peak motor RPM must be below the motor’s rated speed. For the 10 mm lead at 0.8 m/s: 4,800 RPM. A 3,000 RPM motor can’t do this. Either:
- Use a coarser lead (20 mm → 2,400 RPM, but acceleration torque halves).
- Use a higher-speed motor (3,000 RPM rated, but peak at 5,000 RPM).
- Use a gearbox (reduces the speed requirement but adds backlash and inertia division).
The servo sizing workflow: 1) Reflect the load inertia through the screw lead. 2) Add the screw and rotor inertia. 3) Calculate the move profile (peak velocity, acceleration). 4) Tₐₑₗ = J × α. 5) Add friction and external torque. 6) Peak torque must be below motor peak. 7) RMS torque must be below motor continuous. 8) Peak RPM must be below motor rated speed. If any fails, step up the motor or change the lead.
Common Sizing Mistakes
1. Sizing for Holding Torque Only
The static torque (to hold the load) is small. The acceleration torque is 3–10× larger. If you size for the holding torque, the motor overshoots. Always calculate the acceleration torque.
2. Forgetting the Screw Inertia
The reflected load inertia is small. The screw itself is often the largest inertia component. If you forget it, you undersize the acceleration torque.
3. Ignoring the RMS
The peak torque is fine (under the motor’s peak rating), but the motor overheats because the RMS torque is too high. The motor’s continuous rating matters more than the peak for high-duty cycles.
4. No Margin
The calculated torque is 0.30 N·m. You pick a motor rated at 0.32 N·m. That’s no margin. Pick a motor with 30–50% margin (0.4–0.5 N·m continuous). Voltage fluctuations, friction increase, and load variation all eat the margin.
A Servo Sizing Checklist
- What is the moving mass? (kg)
- What is the screw lead? (m/rev)
- What is the move profile? (distance, time, peak velocity)
- Reflect the load inertia: Jₗ = m(L/2π)²
- Add screw and rotor inertia. Total Jₜₒₜₐₗ.
- Calculate acceleration α (rad/s²).
- Tₐₑₗ = Jₜₒₜₐₗ × α.
- Add friction and external torque (gravity, pressing force).
- Peak torque = Tₐₑₗ + Tₑₓₜ. (Must be under motor peak.)
- RMS torque over the cycle. (Must be under motor continuous.)
- Peak RPM. (Must be under motor rated speed.)
- Inertia ratio Jₗ/Jₘ. (Under 5 for good tuning.)
- 30–50% margin on torque and speed.
- For vertical axis: does the motor hold gravity at rest? (Or add a brake?)
The Bottom Line
Servo motor torque calculation for linear axes isn’t picking a motor that “feels” big enough. It’s reflecting the load inertia through the screw lead, calculating the acceleration torque from the move profile, adding friction and external forces, and checking both peak and RMS. The axis that overshot wasn’t poorly tuned — it was undersized for acceleration. Run the numbers: Tₐₑₗ = Jα, Tₑₓₜ from the process, RMS over the cycle. Pick a motor with margin. The axis that moves in the exact time, every time, isn’t tuned perfectly — it’s sized correctly.