Beta. These calculators are in beta. We work to make them right — every formula is written out under “Show the math” and the results are checked against published catalogue examples — but we take no responsibility for mistakes or for decisions made on them. Check the math, and check your supplier's data, before you order anything. Found a problem with a calculation? Write to [email protected] — say which calculator and what you entered.

How do I size a motor for a ball screw axis?

Reflect the load to the motor shaft. The lead turns table speed into motor speed and table force into shaft torque; the moved mass becomes an inertia through (lead/2π)², the screw adds its own, and a gearbox divides everything by the ratio squared. The torque the motor needs is the sum of the constant terms — friction, gravity on an incline, an external force, nut preload — and the inertial term during acceleration. Then compare peak and RMS torque, speed and inertia ratio with the motor's data.

What you need

The math: Move time on a trapezoidal profileopen — every formula, so anyone can check it

A point-to-point move accelerates at a, runs at the top speed vmax, and decelerates at d. The area under the velocity–time profile is the distance s.

s_accel = v_max² / (2·a)         distance the acceleration uses
s_decel = v_max² / (2·d)         distance the deceleration uses

if s_accel + s_decel ≤ s   (trapezoid — the top speed is reached)
    t_accel  = v_max / a
    t_cruise = (s − s_accel − s_decel) / v_max
    t_decel  = v_max / d
else                        (triangle — the acceleration runs straight into the deceleration)
    v_peak   = √( 2·s·a·d / (a + d) )
    t_accel  = v_peak / a,   t_cruise = 0,   t_decel = v_peak / d

t_total = t_accel + t_cruise + t_decel

The inverse — the time is given, what speed and acceleration does it need? — splits the time into acceleration, cruise and deceleration by two fractions and reads the peak speed off the area:

t_accel = f_accel·t_total,   t_decel = f_decel·t_total,   t_cruise = the rest
v_peak  = s / (t_accel/2 + t_cruise + t_decel/2)
a = v_peak / t_accel,   d = v_peak / t_decel

Worked example. 100 mm at 0.5 m/s with 3.5 m/s²: accelerating and decelerating need 35.7 mm each, so the move is a trapezoid — 0.143 s accelerating, 0.057 s cruise, 0.143 s decelerating, 0.343 s in all. Halve the distance and it turns triangular, peaking at 0.418 m/s in 0.239 s.

On the cyclogram this whole move — all three phases — is the bar's ramp-up (the stroke out); the body is the stay at the end position, and the ramp-down is the move back. A bar is travel over time, not speed.

Package motion-time (calcpkg/1, open format) — pure functions with tests; the browser version is held against it number for number.

The math: Ball screw — the load reflected to the motor shaftopen — every formula, so anyone can check it

The motor only knows shaft speed and torque. A screw of lead p behind a gearbox of ratio i moves the table K = p / i per motor turn:

n_motor = v / K · 60                            [rpm]
α_motor = a / K · 2π                            [rad/s²]

c = p / (2π · η_screw · η_trans · i)              N at the table → N·m at the motor
T_gravity  = (m − m_cw)·g·sin α · c
T_friction = μ·m·g·cos α · c
T_external = F_ext · c
T_preload  = μ₀·F₀·p / 2π / (i·η_trans)           nut preload drag
T_static   = T_gravity + T_friction + T_external + T_preload

J_load  = (m + m_cw)·(p/2π)² / i²                a mass on a drum of radius p/2π
J_mech  = J_screw / i²
J_total = J_load + J_mech + J_trans + J_rotor

T_accel = J_load·α/η + J_mech·α/η + J_trans·α/η_t + J_rotor·α + T_static
T_decel = T_static − ( (J_load + J_mech)·α_d·η + J_trans·α_d·η_t + J_rotor·α_d )
T_peak  = max |T| over the three phases

Load-side inertia is driven through the efficiency chain while accelerating (divided by η) and drives the motor while decelerating (multiplied by η) — the conservative sizing-sheet rule; catalogue procedures that put no η on the inertial term give a slightly lower acceleration torque. The result per phase (duration, torque, speed) is what the motor check turns into an RMS.

Checked against Oriental Motor's published ball-screw selection examples (vertical table with preload; horizontal stepper table): agreement within 0.5 %.

Package mech-ball-screw (calcpkg/1, open format) — pure functions with tests; the browser version is held against it number for number.

The math: Motor check — can this motor make this move?open — every formula, so anyone can check it
T_rms = √( Σ T_i²·t_i / (Σ t_i + t_dwell) )        heating torque over the cycle
duty  = Σ t_i / (Σ t_i + t_dwell)
ratio = J_load_reflected / J_rotor

servo    T_peak ≤ T_peak,motor      T_rms ≤ T_rated      n ≤ n_rated (up to n_max: warning, torque derates)
         inertia ratio ≤ 10 fine, 10–30 warns, > 30 fails (gear it down by i ≈ √(ratio/10))

stepper  f = n/60 · 360/step angle                 full steps per second
         T_peak · safety factor (2) ≤ pull-out torque at f (linear interpolation of the curve)
         an unramped move must start with f ≤ f_self-start
         inertia ratio ≤ 5 direct, ≤ 10 geared (warn);  duty > 50 % warns;  n > 1000 rpm: consider closed loop

dc       n_motor = n·i,   T_motor = T / (i·η)
         T_available = T_stall · (1 − n_motor/n0)      the straight torque–speed line
         T_motor · 1.3 ≤ T_available,   n_motor < n0,   T_rms,motor ≤ ½·T_stall (thermal)
         short of torque → i ≈ n0 / (2·n) puts the motor at its maximum-power point

Checked against Oriental Motor's AZM66AC selection example: required torque with the safety factor and the inertia ratio reproduced within 1 %.

Package motor-move-check (calcpkg/1, open format) — pure functions with tests; the browser version is held against it number for number.

Questions people ask

What is the inertia ratio and why does it matter?

The load inertia reflected to the motor shaft divided by the rotor inertia. Servo loops are tuned comfortably up to about 10; above 30 they become hard to stabilise. Steppers want 5 (direct) to 10 (geared). A gearbox divides the reflected inertia by the ratio squared.

Why is the acceleration torque divided by the efficiency?

The motor drives the load-side inertia through the screw and the gearbox, so their losses add to the torque it must supply. During deceleration the load drives the motor and the losses help — the torque is multiplied by η. Catalogue procedures that omit η on the inertial term give a slightly lower acceleration torque.

Do I need the nut preload?

Only for a preloaded nut. The drag is μ₀·F₀·lead/2π with μ₀ typically 0.1–0.3 and F₀ about a third of the axial load; it adds to the constant torque.