Page 1 of 1

Correcting horizontal banding (on other printer) in gcode

Posted: Thu Oct 05, 2017 3:53 pm
by jhaupt
Hello,

I've been commissioning a homebrew large format printer for a couple months now, pulling my hair out with redesigns to fix various mechanical issues as I go. This has nothing to do with the M2, but I thought people might be interested.

The machine in question is large (24" square build surface) and I went with a 4 linear shaft + 4 leadscrew arrangement belted to 2 motors. Learning an alignment/setup process has been painful and hindsight is 20/20, but long story short I have a periodic error in the Z movement which is likely due to eccentricity of the pulleys. Using a digital drop indicator revealed a periodic deviation of -.013mm to .042mm from the nominal Z movements with a period exactly equal to the leadscrew pitch.

This causes a fairly extreme degree of horizontal banding in my test prints and needed to be corrected.

I had already redesigned the Z motion system once, and considering the error is predictable, I wrote a simple Python script to post-process any gcode I run to imprint a negating deviation, being sure not to exceed the Z step resolution (5um in my case). This also required that I clock the leadscrew pulleys to be synchronized.

Anyway, here's a print without correction:

Image

And with:

Image

See here for a couple more photos: http://lightsmithscientific.com/justine … dingFixer/

For me this is a temporary solution, but if anyone has a need I went ahead and put the code on GitHub: https://github.com/jhaupt/ZBandingFixer

~Justine

Re: Correcting horizontal banding (on other printer) in gcod

Posted: Thu Oct 05, 2017 3:53 pm
by jhaupt
Ach, damned image formatting.

Re: Correcting horizontal banding (on other printer) in gcod

Posted: Fri Oct 06, 2017 5:56 pm
by Rich
Amazing results!!

For those interested, here's a better url: http://lightsmithscientific.com/justine ... dingFixer/

Re: Correcting horizontal banding (on other printer) in gcod

Posted: Sat Oct 07, 2017 1:36 am
by Tim
I guess it makes perfect sense, but I would not have expected such dramatic results. Very nicely done!

It's the sort of thing that makes one wonder whether the "ringing" effects (in X and Y) that are a constant bother could be similarly carefully modeled, predicted, and canceled out in the gcode.

Re: Correcting horizontal banding (on other printer) in gcod

Posted: Sat Oct 07, 2017 3:45 am
by jhaupt
Thanks both,

Tim, I've been thinking that for a while and just been waiting for Simplify3D (or someone) to try incorporating it. It should be possible to characterize a machine well enough to do that!