Z Input Shaping
-
Marlin is currently gaining Z Input Shaping with some fantastic results
I believe the results show that Z input shaping can have real world benefits, as will axis-specific input shaping algorithms and frequencies.
Here is just the before and after image from the second link above
-
@oliof we are currently rewriting input shaping for firmware 3.6. I hadn't considered that Z input shaping would ever be necessary, and I suspect that only a small number of especially wobbly machine designs would benefit significantly from it; but it's something we can consider for firmware 3.6.
I believe that Marlin uses jerk (i.e. instantaneous change in the commanded speed) on the Z axis, whereas RRF does not unless the M566 P1 parameter is used. This may mean that Marlin benefits from Z input shaping more than RRF would.
-
@dc42 I hadn't considered Z input shaping before; I agree that the machines that are mostly benefiting from these are ones with cantilevered bed (like the Ultimakers and all their derivatives, and printers like the Voron V0.2) or cantilevered X (like Ormerod and all it's derivatives). It might also be beneficial for deltas?
-
@oliof The picture shows first layer ringing?
I wonder if that ringing was caused from zhop after travel moves or (un-)retractions? And how well does Z-IS work when mesh levelling is active? -
@o_lampe The conditions for generating this ringing pattern:
By the way, this effect was made obvious by having high zjerk, zaccel and zhop, which I can now keep as defaults. I believe this explains the elusive and sporadic holes in some places I had given up on fixing. Also I always printed stuff as close as possible to the back of the machine to avoid bouncing. I think it will be less of an issue now.
Sounds like this particular printer was particularly sensitive to this sort of issue (though the results are still interesting and valid).
-
@gloomyandy As @oliof already mentioned, it would also be interesting for Deltas. Their three motors are perfect for high accel and jerk rates in Z.
Some people build pick&place machines with them. The effect of Z-IS would be a great benefit for placing small SMD parts. -
@dc42 I have a very large CoreXZ printer with an XY plane that is 45 degrees about the X axis from the XZ plane. The printhead moves in the XZ plane with the nozzle normal to the plane. The bed lies in the XY plane and slides along the Y axis.
All this to say that input shaping along the Z axis would be very helpful to me as the printhead is routinely moving at high speeds in that direction. Also, I know the duet wiki gives some good reasons why you normally wouldn't want to independently configure input shaping for each axis, but in my case this would be very helpful as well since the frequency response of my machine in the Y direction is very different than the X direction. My machine is admittedly not the norm, but seeing these features would be a big plus to me.
Also, if anyone has any ideas on workarounds to implement Z axis input shaping with the current firmware, I would love to hear them.
-
@Growlix when X and/or Y is moving the same input shaping is applied to all axes including Z. So you already have Z input shaping.
The more advanced shapers cover a wide frequency range (e.g. 3:1 for EI3) so you may be able to configure a single shaper that covers the major resonances of all three axes.
-
@dc42 Interesting, I didn't realize it was being applied to the Z axis as well. I will experiment with different shaping parameters and see what happens. Thanks!
-
@oliof Deltas would likely want wildly different IS compensation for Z versus XY since Z is the one axis where everything's going the same direction, but assuming per-axis IS settings become a thing in RRF, there might be a case there!
-
Just adding for the record that this would be helpful for printers with large area beds. On my printer which is roughly 1x1x1m, I get a Z resonance that is similar to how a drum vibrates.
My solution now is go slow with Z motions, stiffen it up, etc.... But it would be nice to have a software firmware solution to help address this from the input side.