From 05995e578a96eb20d48dd1f3582ffb45b63b6d31 Mon Sep 17 00:00:00 2001 From: Ian Bassi Date: Mon, 11 May 2026 11:38:06 -0300 Subject: [PATCH] Machine Input Shaping 11202 (#8) --- calibration/input_shaping_calib.md | 136 +++++++----------- calibration/vfa_calib.md | 2 +- images/InputShaping/inputshaping_printer.png | Bin 0 -> 7681 bytes .../motion ability/printer_motion_ability.md | 87 +++++++++-- 4 files changed, 126 insertions(+), 99 deletions(-) create mode 100644 images/InputShaping/inputshaping_printer.png diff --git a/calibration/input_shaping_calib.md b/calibration/input_shaping_calib.md index fba194f..1237526 100644 --- a/calibration/input_shaping_calib.md +++ b/calibration/input_shaping_calib.md @@ -1,6 +1,6 @@ # Input Shaping -During high-speed movements, vibrations can cause a phenomenon called "ringing," where periodic ripples appear on the print surface. Input Shaping provides an effective solution by counteracting these vibrations, improving print quality and reducing wear on components without needing to significantly lower print speeds. +This Calibration guide will help you to calibrate the [Input Shaping](printer_motion_ability#input-shaping) feature in your printer firmware. > [!NOTE] > Some Printers have built-in accelerometers that can be used to **automatically** measure the resonant frequencies of the printer. @@ -9,49 +9,10 @@ During high-speed movements, vibrations can cause a phenomenon called "ringing," > [!TIP] > It's usually recommended to perform Input Shaping calibration once a year or after any mechanical or structural changes such as relocation, changing the support surface, new belts, motors, frame, etc. -> [!IMPORTANT] -> RepRap can only set one frequency for both X and Y axes so you will need to select a frequency that works well for both axes. - -- [Types](#types) - - [Default](#default) - - [Version Table](#version-table) -- [Calibration Steps](#calibration-steps) - - [Fixed-Time Motion](#fixed-time-motion) +- [Calibration](#calibration) - [Credits](#credits) -## Types - -It is usually recommended to use MZV, EI (specially for Delta printers) or ZV as a simple and effective solution. -Not all Input Shaping types are available in all firmware and their performance may vary depending on the firmware implementation and the printer's mechanics. - -### Default - -When "Default" is selected, the firmware's default input shaper will be used. -Every firmware and even its version may have a different default type but usually are: - -- Klipper: MZV -- Marlin: ZV -- RepRap: - - Version >= 3.4: MZV - - Version < 3.4: DAA - - Version < 3.2: DAA (without damping option) - -### Version Table - -| Type | Name | [Klipper](https://www.klipper3d.org/Resonance_Compensation.html#technical-details) | [RepRap](https://docs.duet3d.com/User_manual/Reference/Gcodes#m593-configure-input-shaping) | [Marlin 2](https://marlinfw.org/docs/features/ft_motion.html#more-complexity-zv-input-shaper) | -| --- | --- | --- | --- | --- | -| MZV | Modified Zero Vibration | >=0.9.0 | >=3.4 | - | -| ZV | Zero Vibration | >=0.9.0 | = 3.5 | >2.1.2 | -| ZVD | Zero Vibration Derivative | >=0.9.0 | >=3.4 | - | -| ZVDD | Zero Vibration Double Derivative | - | >=3.4 | - | -| ZVDDD | Zero Vibration Triple Derivative | - | >=3.4 | - | -| EI | Extra Insensitive | >=0.9.0 | - | - | -| 2HUMP_EI / EI2 | Two-Hump Extra Insensitive | >=0.9.0 | >=3.4 | - | -| 3HUMP_EI / EI3 | Three-Hump Extra Insensitive | >=0.9.0 | >=3.4 | - | -| [FT_MOTION](https://marlinfw.org/docs/features/ft_motion.html#fixed-time-motion-by-ulendo) | Fixed-Time Motion | - | - | >2.1.3 | -| DAA | Damped Anti-Resonance | - | < 3.4 | - | - -## Calibration Steps +## Calibration Pre-requisites: @@ -65,7 +26,7 @@ Pre-requisites: > This test **will set the values to high values** limited by your printer's motion ability and the filament's max volumetric speed (avoid materials below 10 mm³/s). 1. Select the Test Model ´Ringing Tower´ (Recommended) or ´Fast Tower´ (Reduced version useful for printers with high ringing). -2. Select the [Input Shaper Type](#types) you want to test. Each firmware has different types available and each type has different performance. +2. Select the [Input Shaper Type](printer_motion_ability#input-shaping-type) you want to test. Each firmware has different types available and each type has different performance. 3. Select a range of frequencies to test. The Default 15hz to 110hz range is usually a good start. 4. Select your damping. Usually, a value between 0.1 and 0.2 is a good start but you can change it to 0 and your printer will use the firmware default value (if available). ![IS_freq_menu](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_freq_menu.png?raw=true) @@ -87,65 +48,66 @@ Pre-requisites: 6. **Restore your 3D Printer settings to avoid keep using high acceleration and jerk values.** 7. **Save the settings** - Into your printer firmware settings save the values you found (Type, frequency/cies and damp) - - Save it into Orca's printer profile settings in Printer settings/ Machine G-code/ Machine start G-code using the following G-code: - - Klipper: - - Skeleton: + - Save it into Orca's printer profile settings: + - Motion ability → Resonance Compensation (**Marlin**/**RepRap**): + 1. [Go to Printer settings → Motion ability → Resonance Compensation](printer_motion_ability#resonance-compensation): + 2. Set your Type, Frequencies and Damping values. + ![inputshaping_printer](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/inputshaping_printer.png?raw=true) + - Machine start G-code: + - Klipper: + - Skeleton: - ```pwsh - SET_INPUT_SHAPER SHAPER_TYPE=TYPE SHAPER_FREQ_X=#Xfrequency DAMPING_RATIO_X=#XDamping SHAPER_FREQ_Y=#Yfrequency DAMPING_RATIO_Y=#YDamping - ``` + ```pwsh + SET_INPUT_SHAPER SHAPER_TYPE=TYPE SHAPER_FREQ_X=#Xfrequency DAMPING_RATIO_X=#XDamping SHAPER_FREQ_Y=#Yfrequency DAMPING_RATIO_Y=#YDamping + ``` - - Example: + - Example: - ```pwsh - SET_INPUT_SHAPER SHAPER_TYPE=MZV SHAPER_FREQ_X=37.25 DAMPING_RATIO_X=0.16 SHAPER_FREQ_Y=37.5 DAMPING_RATIO_Y=0.06 - ``` + ```pwsh + SET_INPUT_SHAPER SHAPER_TYPE=MZV SHAPER_FREQ_X=37.25 DAMPING_RATIO_X=0.16 SHAPER_FREQ_Y=37.5 DAMPING_RATIO_Y=0.06 + ``` - - Marlin: - - Skeleton: + - Marlin: + - Skeleton: - ```gcode - M593 X F#Xfrequency D#XDamping - M593 Y F#Yfrequency D#YDamping - M500 - ``` + ```gcode + M593 X F#Xfrequency D#XDamping + M593 Y F#Yfrequency D#YDamping + M500 + ``` - - Example + - Example - ```gcode - M593 X F37.25 D0.16 - M593 Y F37.5 D0.06 - M500 - ``` + ```gcode + M593 X F37.25 D0.16 + M593 Y F37.5 D0.06 + M500 + ``` - - RepRap: - - Skeleton: for RepRap 3.3 and later + - RepRap: + - Skeleton: for RepRap 3.3 and later - ```gcode - M593 P#Type F#frequency S#Damping - ``` + ```gcode + M593 P#Type F#frequency S#Damping + ``` - - Example RepRap 3.4 and later + - Example RepRap 3.4 and later - ```gcode - M593 P"ZVD" F37.25 S0.16 - ``` + ```gcode + M593 P"ZVD" F37.25 S0.16 + ``` - - Skeleton: for RepRap 3.2 and earlier + - Skeleton: for RepRap 3.2 and earlier - ```gcode - M593 F#frequency - ``` + ```gcode + M593 F#frequency + ``` - - Example Legacy (RepRap 3.2 and earlier) + - Example Legacy (RepRap 3.2 and earlier) - ```gcode - M593 F37.25 - ``` - -### Fixed-Time Motion - -TODO: This calibration test is currently under development. See the [Marlin documentation](https://marlinfw.org/docs/gcode/M493.html) for more information. + ```gcode + M593 F37.25 + ``` ## Credits diff --git a/calibration/vfa_calib.md b/calibration/vfa_calib.md index 000a114..4f1b05a 100644 --- a/calibration/vfa_calib.md +++ b/calibration/vfa_calib.md @@ -21,5 +21,5 @@ The VFA Speed Test in OrcaSlicer helps identify which print speeds trigger MRR a 4. Inspect the tower for MRR artifacts. Look for speeds where the surface becomes visibly smoother or rougher. This allows you to pinpoint problematic speed ranges. In this example, you can see how the Speed is Capping at 162 mm/s. ![vfa_test_print](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/vfa/vfa_test_print.jpg?raw=true) -5. Configure the [Resonance Avoidance Speed Range](printer_motion_ability#resonance-avoidance-speed) in the printer profile to skip speeds that cause visible artifacts. +5. Configure the [Resonance Avoidance Speed Range](printer_motion_ability#resonance-avoidance) in the printer profile to skip speeds that cause visible artifacts. ![vfa_resonance_avoidance](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/vfa/vfa_resonance_avoidance.png?raw=true) diff --git a/images/InputShaping/inputshaping_printer.png b/images/InputShaping/inputshaping_printer.png new file mode 100644 index 0000000000000000000000000000000000000000..daa1e0655a245dd62a03481fcc19269500f4d6fd GIT binary patch literal 7681 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
eC2xWc5tN0 zJ4+)ski-0j3bJtRsM1~GSxg32;)oMeXUYTDL;3oRaGWDmy^C@zx)dcuute=F&#wx2 z+UuT&Cf7d7ooVCXbXHvDac*ghUGC8(e<=WLsbc9Vn|gDS-Tem zU`wwO7Q@AkjL7{f0uE#V)uKrC@!uI#s5T=ASQw=nAWEGP8RS%T?c2`R5A%_baLYen z_`d)mBiiU&ZghV^3=;tDk~?x4u9*Jo*Ne0Rqc`l^Y!{rZU)ub|Lfx7D>!XFMBY2gk zdsDZZTqO*SyZHSY`OfJ1X=yek1fX5dmCaF?iuzLBqG1@q^f_z|QI@1JO)=E9T@Q<- zAO1cLs^8ev>@xjvlG&NH_2;7?6Vt15FQNB2jaWA(9lG9i+IM6(JK4sJ-+CAabIzjL zM#0&uIe`vQu@h&SzW657^krjMItt{=yG2CYo%u>(GJ1r?80VGnm%)%GvPsVqS^i3H z+IR+nz-Ob8@%gqq39>Z*bixe5+tePRv3`|#IR>8l>#J)bbv=IB;^$m0A9p=?QmGIj zvEjF)!7$m#4K-`f@+Si@^)g%);^4}$@CBdUf!rAzEzdR^JVB%37!XCb02J>` z>qAvbgQy|Pf2k1}p>*J@i28kq_U#iA%OEQxsW^Sn{EKr6K=t$U0dn=e`s6AN5y~9_ z3Nv`35hwWU5eny#;{+C>P#41tbZH~c?^1TMyH%DH;}?gx^YgK(Phc300V0u!&qY_@ z?MdIKe^niQG^!bH?JUrLaz9W)#n!$@*BsNYT9jIX(?lc>b~>p*bF7EV3*K(uiH1Ez zwM|oJM8zN{6IhgErSipg(>U7r1%}c~~y9T;4rx{qXxWF`Q6$Q?nFQO6?(fXHtgx~6%j%Y-ic-2Bl0eOW>No6_1 z>FhLaW9;NrGD=H&>UmmK;L|cDS`VF3OO*kde7#3!1)k$l@mKc&_5}E6nqbY~iFu8# z88iOKu@UM*G)nUzsSkYuB@%sQr?14PO!&Oo=ikT2uC{&ZC|%(@v!e)B+I;3pw<{E47xd7wLU;f zS@!e{2#utlaLH&jcsLwYQMN3r75%5bPY$xxLpQUzm_H9c14b`>fBEsNPOi0oBw9-C zFwA>#23z`V9eoq2;rX>Dk(ZZS#QA*{6Ppqkg`JXbTgY*xtP7^iPLC zax^`~C1YUw@^r}er5?s6&6LRe8!kW-8MwdNxtuG`i)QdFTz=T*>0%<}(*$GHtwRF5|YSW1zg8%+zzRM`^w%iaBVNJg-a z(q3zvK3XH<7!T_Y*OXh9?nT7W?Iw@<`h}CW=rzP9YLh$kIkeKItj4OeJLfK@_{Z0n$le#3GyaI> z2ncx!!*W&O;(zR&0v|OvGD<6bp*`F8HKxA``)qbod+WnId6z~=CA*#CYzpQQV9WKc z*^oUx@wjEhNmy9d8p3U*WlF(IMOPtfmmHQOu@8QT0kejwp2dRoEL8 z>hqyfKd<;(-6F&niP#oj?;5$hU!}?n8+o%OFw1OqvZ5T~FenVdQGFr&zr)9yYfDG8 zG*EG8IzJBi|1!|-t19Sv*B*WUUMEv_#v zI4asKTd6H<`}jg?_-eVaIjqxdDz)aDp%p_7&b_tpd}#uO-~($#lP?Wl zYrj;*y-pO!ypTjGT}+nAjiTG3l$C=_QT%$9)66u1!`bb;qX2)$yrPn5U3$lU&}po@o*`DK~tpPM;=j+t?!W#a-Ra=us3$sT zt8?&218%ZS!ulnbr>;lHb9<`z1>|Vd6FUmmnzOka(|nqYDz66smezPr?i_5cH_oi!tb)C8zOMv(b1H z_B!-K(}%E)u6j5uw`bU+n1$y`5D`z6l%?u$4NYi>`n3NDXLZCSz&x=gx4jm3VQtCs z!jHGAr=oXs9puJE7J46UR=#*OGvK6E%>uYC&wYTn?^#gM^lKx#q*ha>vA~Y|>-axb z8jyO%khOpDYN$b{xP5?bgcuLc$m7 zz`)Qw6Ckh2(v#r_1b)~Rc+nleROO#9|8|TXc#!njWMVMSFiDJrhym3)8c6&%`XLxK zi [!TIP] > Check the [VFA Calibration](vfa_calib). +### Input Shaping + +[Mode](option_mode): `Expert`. +[Variables](built_in_placeholders_variables): `input_shaping_emit`, `input_shaping_freq_x`, `input_shaping_freq_y`, `input_shaping_damp_x`, `input_shaping_damp_y`. +During high-speed movements, vibrations can cause a phenomenon called "ringing," where periodic ripples appear on the print surface. Input Shaping provides an effective solution by counteracting these vibrations, improving print quality and reducing wear on components without needing to significantly lower print speeds. + +> [!NOTE] +> Some Printers have built-in accelerometers that can be used to **automatically** measure the resonant frequencies of the printer. +> If your printer has one, consider using it as it can provide more accurate results in less time and usually is autosaved into the printer firmware. + +> [!TIP] +> It's usually recommended to perform [Input Shaping calibration](input_shaping_calib) once a year or after any mechanical or structural changes such as relocation, changing the support surface, new belts, motors, frame, etc. + +> [!IMPORTANT] +> **RepRap** can only set one frequency for both X and Y axes so you will need to select a frequency that works well for both axes. + +![inputshaping_printer](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/inputshaping_printer.png?raw=true) + +> [!IMPORTANT] +> NEW FEATURE: **Input Shaping** +> Available in: [Nightly builds](https://github.com/OrcaSlicer/OrcaSlicer/releases/tag/nightly-builds) or Releases greater than **2.3.2**. + +#### Input Shaping Type + +[Mode](option_mode): `Expert`. +[Variable](built_in_placeholders_variables): `input_shaping_type`. +The Input Shaping type determines the algorithm used to counteract the vibrations. +It is usually recommended to use MZV, EI (specially for Delta printers) or ZV as a simple and effective solution. +Not all Input Shaping types are available in all firmware and their performance may vary depending on the firmware implementation and the printer's mechanics. + +##### Default + +When "Default" is selected, the firmware's default input shaper will be used. +Every firmware and even its version may have a different default type but usually are: + +- Klipper: MZV +- Marlin: ZV +- RepRap: + - Version >= 3.4: MZV + - Version < 3.4: DAA + - Version < 3.2: DAA (without damping option) + +##### Version Table + +| Type | Name | [Klipper](https://www.klipper3d.org/Resonance_Compensation.html#technical-details) | [RepRap](https://docs.duet3d.com/User_manual/Reference/Gcodes#m593-configure-input-shaping) | [Marlin 2](https://marlinfw.org/docs/features/ft_motion.html#more-complexity-zv-input-shaper) | +| --- | --- | --- | --- | --- | +| MZV | Modified Zero Vibration | >=0.9.0 | >=3.4 | - | +| ZV | Zero Vibration | >=0.9.0 | = 3.5 | >2.1.2 | +| ZVD | Zero Vibration Derivative | >=0.9.0 | >=3.4 | - | +| ZVDD | Zero Vibration Double Derivative | - | >=3.4 | - | +| ZVDDD | Zero Vibration Triple Derivative | - | >=3.4 | - | +| EI | Extra Insensitive | >=0.9.0 | - | - | +| 2HUMP_EI / EI2 | Two-Hump Extra Insensitive | >=0.9.0 | >=3.4 | - | +| 3HUMP_EI / EI3 | Three-Hump Extra Insensitive | >=0.9.0 | >=3.4 | - | +| [FT_MOTION](https://marlinfw.org/docs/features/ft_motion.html#fixed-time-motion-by-ulendo) | Fixed-Time Motion | - | - | >2.1.3 | +| DAA | Damped Anti-Resonance | - | < 3.4 | - | + +###### Fixed-Time Motion + +TODO: This calibration test is currently under development. See the [Marlin documentation](https://marlinfw.org/docs/gcode/M493.html) for more information. + ## Speed limitation Safeguard maximum speeds for all axes. @@ -42,7 +107,7 @@ This will cap the speed set by the process if it exceeds these values. [Modes](option_mode): `Simple` [Variables](built_in_placeholders_variables): `machine_max_acceleration_extruding`, `machine_max_acceleration_retracting`. `Advanced` [Variable](built_in_placeholders_variables): `machine_max_acceleration_travel`. -[Variables](built_in_placeholders_variables): `machine_max_acceleration_x`, `machine_max_acceleration_y`, `machine_max_acceleration_z`, `machine_max_acceleration_e`. +[Variables](built_in_placeholders_variables): `machine_max_acceleration_e`, `machine_max_acceleration_z`, `machine_max_acceleration_x`, `machine_max_acceleration_y`. Safeguard maximum accelerations for all axes. This will cap the acceleration set by the process if it exceeds these values. @@ -55,7 +120,7 @@ Safeguard maximum jerks for all axes. ### Maximum Jerk -[Variables](built_in_placeholders_variables): `machine_max_jerk_y`, `machine_max_jerk_x`, `machine_max_jerk_z`, `machine_max_jerk_e`. +[Variables](built_in_placeholders_variables): `machine_max_jerk_z`, `machine_max_jerk_e`, `machine_max_jerk_x`, `machine_max_jerk_y`. Maximum [jerk](speed_settings_jerk_xy) for each axis (M205 X, Y, Z, E, only apply if JD = 0 for Marlin 2 Firmware) ### Maximum Junction Deviation