|
| 1 | +--- |
| 2 | +tag: m0494 |
| 3 | +title: FT Motion Trajectory Smoothing |
| 4 | +brief: Set / get the Fixed Time Motion parameters for Trajectory and Smoothing. |
| 5 | +author: thinkyhead |
| 6 | + |
| 7 | +group: motion |
| 8 | +requires: FT_MOTION |
| 9 | +since: 2.1.3 |
| 10 | +eeprom: true |
| 11 | + |
| 12 | +codes: [ M494 ] |
| 13 | +related: [ M493 ] |
| 14 | + |
| 15 | +parameters: |
| 16 | + |
| 17 | +- tag: T |
| 18 | + optional: true |
| 19 | + description: Set trajectory generator type |
| 20 | + values: |
| 21 | + - tag: 0 |
| 22 | + description: TRAPEZOIDAL |
| 23 | + - tag: 1 |
| 24 | + description: POLY5 |
| 25 | + - tag: 2 |
| 26 | + description: POLY6 |
| 27 | + |
| 28 | +- tag: O |
| 29 | + optional: true |
| 30 | + description: | |
| 31 | + Set acceleration overshoot for POLY6 (only used when `T=2`). |
| 32 | + Allowed range: 1.25 – 1.875. |
| 33 | + values: |
| 34 | + - type: float |
| 35 | + tag: overshoot |
| 36 | + |
| 37 | +- tag: X |
| 38 | + optional: true |
| 39 | + description: Set smoothing time for the X axis |
| 40 | + values: |
| 41 | + - type: float |
| 42 | + tag: seconds |
| 43 | + |
| 44 | +- tag: Y |
| 45 | + optional: true |
| 46 | + description: Set smoothing time for the Y axis |
| 47 | + values: |
| 48 | + - type: float |
| 49 | + tag: seconds |
| 50 | + |
| 51 | +- tag: Z |
| 52 | + optional: true |
| 53 | + description: Set smoothing time for the Z axis |
| 54 | + values: |
| 55 | + - type: float |
| 56 | + tag: seconds |
| 57 | + |
| 58 | +- tag: E |
| 59 | + optional: true |
| 60 | + description: Set smoothing time for the E axis |
| 61 | + values: |
| 62 | + - type: float |
| 63 | + tag: seconds |
| 64 | + |
| 65 | +examples: |
| 66 | + - pre: | |
| 67 | + Set the trajectory generator to a 5‑th order polynomial (POLY5) and enable an |
| 68 | + acceleration overshoot of 1.50 for the subsequent POLY6 commands. |
| 69 | + code: M494 T1 O1.5 |
| 70 | +
|
| 71 | + - pre: | |
| 72 | + Set the smoothing time for XYZ axes to 0.25s while leaving E unchanged. |
| 73 | + code: M494 X0.25 Y0.25 Z0.25 |
| 74 | +
|
| 75 | + - pre: | |
| 76 | + Configure the system for a trapezoidal trajectory generator, with a |
| 77 | + smoothing time of 0.10s on the X axis and 0.12s on the Y axis. |
| 78 | + code: M494 T0 X0.10 Y0.12 |
| 79 | +
|
| 80 | + - pre: | |
| 81 | + Use a 6‑th order polynomial (POLY6) with the maximum overshoot of 1.875, |
| 82 | + and set all axis smoothing times to 0.20s. |
| 83 | + code: M494 T2 O1.875 X0.20 Y0.20 Z0.20 E0.20 |
| 84 | +
|
| 85 | + - pre: | |
| 86 | + Only change the E‑axis smoothing time to 0.15s, leaving all other |
| 87 | + parameters at their defaults. |
| 88 | + code: M494 E0.15 |
| 89 | +
|
| 90 | + - pre: | |
| 91 | + Combine a POLY6 generator with an overshoot of 1.30 and individual |
| 92 | + smoothing times: X=0.05s, Y=0.07s, Z=0.06s, E=0.04s. |
| 93 | + code: M494 T2 O1.3 X0.05 Y0.07 Z0.06 E0.04 |
| 94 | +--- |
| 95 | + |
| 96 | +The `M494` command provides control over the Fixed‑Time Motion trajectory generator, allowing each axis to have its own timing characteristics. |
| 97 | + |
| 98 | +The `T` parameter selects between three generator modes: a simple trapezoidal profile (0), a 5th‑order polynomial (1) that smooths acceleration and deceleration, or a more advanced 6th‑order polynomial (2) that includes an optional acceleration overshoot (`O`) to compensate for system inertia. When `T=2`, the overshoot value may be set between 1.25 and 1.875, giving the printer an additional degree of freedom to maintain speed while preventing jerk. |
| 99 | + |
| 100 | +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 acceleration commands. By adjusting these values the operator can balance responsiveness against mechanical wear, achieving smooth, precise motion for complex prints or high‑speed runs. The command’s optional nature means that any subset of parameters may be specified, with unspecified values left at the firmware defaults. |
0 commit comments