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 rotary indexing table?

Build the table's inertia — the table itself plus every workpiece, each adding its own inertia and m·r² for sitting off the axis — then take it through the reducer: inertia divided by the ratio squared, torques by the ratio and the efficiency. The index angle and time give the angular profile; the motor check compares the result with a motor.

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: Rotary table — the table reflected to the motor shaftopen — every formula, so anyone can check it

The profile is angular here (rad, rad/s, rad/s²). Through a reducer of ratio i:

n_motor = ω / 2π · i · 60,   α_motor = α_table · i
c = 1 / (η_reducer · η_coupling · i)
T_static = (T_external + T_friction) · c
J_load   = J_table / i²
T_accel  = J_load·α/η + J_trans·α/η_t + J_rotor·α + T_static
T_decel  = T_static − ( J_load·α_d·η + J_trans·α_d·η_t + J_rotor·α_d )

J_table = table itself + every workpiece:  J = m·(d_outer² + d_inner²)/8 + m·r²
                                          (a cylinder about its own axis, plus the parallel-axis term at radius r)

A horizontal table (vertical axis) has no gravity torque. A self-locking worm never lets the table drive the motor; the package still reports the signed deceleration torque so the drive's regeneration can be judged.

Checked against Oriental Motor's index-table example (ten loads at 125 mm on a Ø300 table): inertia and torque within 0.5 %.

Package mech-rotary-table (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

How do I get the inertia of a table with parts on it?

A solid disc is m·D²/8 about its axis; a hollow one m·(D₁²+D₂²)/8. A part at radius r from the table axis adds its own inertia plus m·r². Sum them all.

Does gravity matter?

Not for a horizontal table on a vertical axis. A table on a horizontal axis with an unbalanced load has a torque that varies with angle — put its worst case into the external torque.

Can the table drive the motor back?

Through a spur or planetary reducer, yes — the calculator shows the signed deceleration torque. A self-locking worm never lets it.