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 calculate the move time of an axis?

A point-to-point move accelerates, runs at its top speed and decelerates: a trapezoid of velocity over time whose area is the distance. The move time is the acceleration time plus the cruise time plus the deceleration time — and when the distance is too short to reach the top speed, the ramps meet and the profile is a triangle. This calculator does both directions: time from the limits, or the speed and acceleration a required time needs.

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.

Questions people ask

What is a trapezoidal velocity profile?

The velocity rises linearly during acceleration, stays constant at the top speed, and falls linearly during deceleration. Plotted over time it is a trapezoid; its area is the distance travelled.

When does a move become triangular?

When the distance is shorter than the two ramps need to reach the top speed. The axis then accelerates straight into decelerating and peaks below its top speed: v_peak = √(2·s·a·d/(a+d)).

How do I choose the acceleration?

From what the mechanism and the load allow — the mechanism calculators here turn an acceleration into motor torque, and the motor check tells you whether a given motor delivers it.