Saturday 30 January 2021

Tests of magic numbers, part 1

 There's some talk about "magic numbers" in 3D printing, the idea being that the Z stepper motors are more precise when aligned with full steps (or somewhat with half steps). Others say that it doesn't matter with modern precise printers[1], and that since the stepper motor starts at some random state, using magic numbers won't help. With my Prusa i3 mk3s, I certainly have a modern and precise printer, so let's find out!

First, the magic number. Prusa i3 mk3s steps/revolution at a step angle of 1.8 is 200. By marking the Z threaded rod and moving the Z axis, I found that one revolution is 8mm. 8mm/200 means the magic number is 0.04mm - confirmed by this thread. One should thus always use layer heights that are a multiple of 0.02mm (because a half magic number is still OK, with the motor evenly balanced between two magnets).

Now to deal with the random initial state. The initial state could be reset by briefly disabling the stepper motors. That would offset the Z level by at most 0.01mm, less than I adjust the Z level by, and thus not a concern for bed levelling. So if I try with and without magic number layer height and with and without aligning, I should be able to determine if it really makes a difference.

This is the required GCode in the 'Before layer change G-code' section:

; Briefly disable Z motors before start to align magnets. 
{if layer_num == 0}
M18 Z
G4 P10
M17 Z
{endif}

First I tried with just plain DasFilament PLA and my current nozzle, because that's what was in there.

Here's a shaman with 0.2mm layers and alignment, two detailed areas zoomed in:



Details in larger:




The same shaman with 0.19mm layers and no alignment:

Details in larger:


There are some differences to be seen, but you have to look carefully. My current nozzle has been used for a while, including with UniCoFil filament and sparkly filament. Maybe it's a bit worn. and maybe the DasFilament filament doesn't match the settings as perfectly as Prusament does. 

So next I'll switch to a fresh 0.4mm nozzle and freshly unpacked Prusament and do a test piece with 0.2mm and 0.1975mm - one microstep away from a full step, presumably the worst case. Then I'll try with 0.1175mm unaligned and 0.12 aligned, probably the finest a 0.4mm nozzle can realistically do. Then I'll switch to my slightly used 0.25mm nozzle and go extreme: 0.04mm (yes, that's 40 microns) and 0.0425mm layers.

[1] Some of the posts in that thread get the numbers quite wrong, which is why I went to manually confirm the mm/revolution.

No comments:

Post a Comment