thinkyhead

M494 - FT Motion Trajectory Smoothing

2.1.3 motion Set / get the Fixed Time Motion parameters for Trajectory and Smoothing. FT_MOTION

Description

The M494 command provides control over the Fixed‑Time Motion trajectory generator, and smoothing allowing each axis to have its own timing characteristics.

The T parameter selects between three generator modes: a simple trapezoidal profile (0), a 5th‑order polynomial (1) that makes acceleration continuous, or a more advanced 6th‑order polynomial (2) that includes an optional acceleration overshoot (O), the higher the smoother the derivatives, but taller the acceleration peaks. When T=2, the overshoot value may be set between 1.25 and 1.875, giving the printer an additional degree of freedom to control acceleration curves.

You can set smoothing times for each of the four motion axes (X, Y, Z, and extruder E). These parameters are expressed in seconds and determine how quickly the axis velocity can change, effectively acting as a low‑pass filter on velocity. Particularly useful for the E axis when using linear advance, since it produces very high acceleration peaks.

Effects on XYZ:

  • no smoothing: sharp corners, but noises and ringing
  • smoothing: rounded corners, no noises and ringing

Effects on E:

  • no smoothing: extruder skips when using linear advance
  • smoothing: peaks produced by linear advance are reduced, the extruder doesn’t skip and quality improves.

Usage

M494 [E<seconds>] [O<overshoot>] [T<0|1|2>] [X<seconds>] [Y<seconds>] [Z<seconds>]

Parameters

[E<seconds>]

Set smoothing time for the E axis

    [O<overshoot>]

    Set acceleration overshoot for POLY6 (only used when T=2). Allowed range: 1.25 – 1.875. The higher the smoother the derivatives, but the higher the acceleration peaks. S_CURVE in the classic motion system uses 1.875

      [T<0|1|2>]

      Set trajectory generator type

      • T0:

        TRAPEZOIDAL

      • T1:

        POLY5

      • T2:

        POLY6

      [X<seconds>]

      Set smoothing time for the X axis

        [Y<seconds>]

        Set smoothing time for the Y axis

          [Z<seconds>]

          Set smoothing time for the Z axis

            Examples

            Set the trajectory generator to a 5‑th order polynomial (POLY5) s curve. Equivalent to POLY6 with 1.5 acceleration overshoot but cheaper to compute.

            M494 T1

            Set the smoothing time for XYZ axes to 0.005s while leaving E unchanged.

            M494 X0.005 Y0.005 Z0.005

            Configure the system for a trapezoidal trajectory generator, with a smoothing time of 0.01s on the E axis, to keep accelerations from linear advance contained.

            M494 T0 E0.01

            Use a 6‑th order polynomial (POLY6) with the maximum overshoot of 1.875, and set all axis smoothing times to 0.005s.

            M494 T2 O1.875 X0.005 Y0.005 Z0.005 E0.005

            Only change the E‑axis smoothing time to 0.007s, leaving all other parameters at their defaults.

            M494 E0.007

            Combine a POLY6 generator with an overshoot of 1.30 and individual smoothing times: X=0.005s, Y=0.007s, Z=0.006s, E=0.004s.

            M494 T2 O1.3 X0.005 Y0.007 Z0.006 E0.004