MarlinFirmware / MarlinDocumentation

Marlin Firmware Documentation Project
https://marlinfw.org
GNU General Public License v3.0
366 stars 763 forks source link

Update M593.md for CoreXY #479

Closed V1EngineeringInc closed 1 year ago

V1EngineeringInc commented 1 year ago

Add a note for CoreXY printers. Is this information correct? I remember reading something about this in the GitHub thread.

thinkyhead commented 1 year ago

Well, you can isolate the A/B components and measure them separately by rotating the model, but I'm not sure it will be useful with the current shaper implementation. I'm sure if we know the most dominant frequency we can apply it to the whole system, both A and B, to get some cancellation, but beyond that … I think it is safe to say CoreXY is complicated.

Input Shaping for CoreXY is complicated in Marlin because the steppers are pre-set and move according to their CoreXY translations, so when A and B move alone or in tandem it's not always indicative of X / Y motion. It's a bit like trying to unscramble an egg. If we imagine that most ringing is at the level of the belts, then it should be removed by standard ZV input shaping as measured at 45° rotation. As a single shared belt I'd expect the A and B to have a single frequency.

So we may well ask, can core kinematics be done at an even lower level without loss of fidelity? In other words, if we want to step X in a particular direction, we set DIR for A and B then STEP, and then to step Y in some direction, we again set DIR for A and B and then STEP again. While it would be technically possible to refactor core kinematics in this way, and maybe it would be a useful variant, it might harm performance a little, since we need to add a minimal delay before any change of DIR signal. But, it would allow for Input Shaping timings to match up at the X/Y level instead of A/B.

Some help in that area may be coming to us in the near future from ulendo.io so stay tuned…. Meanwhile, my advice for CoreXY is to try the 45° model, and experiment, and YMMV.