Marlin Input Shaping on Prusa?
(I've also posted this on RepRap forum - https://reprap.org/forum/read.php?415,891975)
I have an old, well used, second hand Prusa MK2. I have modded it quite a bit and changed firmware to marlin 2.0.9.3.
However, the printer frame is not rigid and the whole machine vibrates when printing with high acceleration. I find that accel of ~1000 and jerk of 10 (or even lower) works fine, while anything higher results in too much vibrations. Even if I don't care about print quality (surface finish), I wouldn't use much higher acceleration, because I feel that the machine would shake itself apart after long use.
The new version of Marlin (2.1.2) has introduced Input Shaping, so I'm wondering:
1) Can it be used on a Prusa with its 8-bit board at all? If it can, are there some restrictions? Has anyone tried it?
2) Is it worth it? That is, does it make sense to use Input Shaping, not to achieve very high speed and accel (which an old MK2 can never dream of in any case), but for protecting the hardware at only slightly increased acceleration (e.g. 2000-3000)? Would it also reduce noise?
RE: Marlin Input Shaping on Prusa?
I have finally tested this myself, and the conclusion is the following:
Input Shaping can be used on 8-bit board, BUT only for a single axis (e.g. Y) and it still slows down when printing detailed shapes (e.g. circle with many segments). Therefore it's pointless (except maybe for large simple shapes to print, more to remove ringing on accel 1500-2000 then to achieve higher accel).
To have Input Shaping on 8-bit board, it seems that the only option is external computing power and Klipper.
RE: Marlin Input Shaping on Prusa?
Update: I was wrong, apparently Input Shaping can be used on 8-bit boards if there is enough free RAM, which can be achieved by disabling some other features. More info in the discussion on RepRap forum - https://reprap.org/forum/read.php?415,891975
RE: Marlin Input Shaping on Prusa?
I've found some time to test this again, and the conclusion is: Input Shaping does work on a Prusa MK2 (8-bit board)!
For anyone who is interested, here is what I've done:
First I've made the printer frame stiffer, which helps increase resonate frequencies which is better (improved print quality by itself and it's better for Input Shaping).
In Marlin 2.1.2 I've turned on the following in Configuration_adv.h:
#define INPUT_SHAPING_X
#define INPUT_SHAPING_Y
#define SHAPING_MENU
and I've changed this to my measured frequencies (in my case the same on X & Y):
#define SHAPING_FREQ_X 35
#define SHAPING_FREQ_Y 35
Also, since 'Rambo' board on MK2 has low RAM, some things have to be tweaked to reduce RAM usage if there is not enough left (there should be some unused RAM, in my case: used 6953 from 8192 bytes). Just in case, I've lowered max feedrate (speed) for X & Y to 120, in Configuration.h:
#define DEFAULT_MAX_FEEDRATE { 120, 120, 12, 120 }
this should reduce RAM usage when Input Shaping is enabled, but I don't see a difference - maybe it could be set a bit higher without problems (I haven't tested that).
Note: I tried using SHAPING_MIN_FREQ in order to have Input Shaping turned OFF by default (by setting frequencies to 0), but then I decided to leave it ON and manually disable it from LCD menu if needed. If you do use SHAPING_MIN_FREQ, set it as high as possible (at the lowest measured frequency, or very close), because if setting frequencies lower, the RAM usage will grow.
Before Input Shaping I was using acceleration of 800mm/s^2 for a decent print quality (although not perfect, there was a tiny bit of ghosting/ringing even at that low accel). Now with Input Shaping I can use acceleration of 3000mm/s^2 with the same print quality, and it can handle 5000 if I don't mind a little lower (but still acceptable) print quality. Even with lower top speed (under 100mm/s), increased acceleration means significantly faster print, as the print head would never reach even moderate speeds in short moves when using low accel.
The old 8-bit board can't process very fast speeds at high resolution, with or without Input Shaping. This problem can be mitigated by making the sliced model simpler, using lower resolution in the slicer, or using Arc Welder to convert many small segments of a curve into a single command. But I haven't tested this yet.
Before, when printing at accel of 1200 or higher, the printer would be louder, especially when moving Y axis (bed). At higher accelerations, beside lower print quality, it sounded as if the printer is damaging itself (at least making bearings and rods wear faster). Now, with Input Shaping, even at 3000 accel, the printer is silent (no rattle of Y axis) and it feels smooth.
So, Input Shaping improves print quality at increased accelerations and (probably) reduces wear on the hardware as well. Actually, it can partially compensate for a 'bad' hardware such as unoptimized design for high speed (bedslinger) and well-used components (e.g. bearings that have seen better days).