|
| 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. Adjust these values to balance responsiveness against mechanical wear, achieving smooth, precise motion for complex prints or high‑speed runs. |
0 commit comments