Про шаги, микрошаги, магические 0.04 и стабильность (точность):
На стандартном шаговике на 200 шагов (1.8 градуса на шаг) и винту Т8-8 перемещение по Z на 1 полный шаг двигателя будет 0.04 мм (8 мм / 200 шагов). При использовании только полного шага эти 0.04 мм будут определять разрешение оси Z.
При этом используя микрошаги (дробление шага) можно увеличить разрешение пропорционально. Например в режиме 1/2 двигатель может занимать (и удерживать) промежуточное положение ротора между полными шагами. Соответственно разрешение будет 0.02. Если мы увеличиваем дробление, растет и разрешение. При 1/16 (самый распространенный режим) разрешение будет 0.0025 мм. При этом чтобы мотору физически совершить полный шаг драйверу надо принять 16 импульсов STEP и пройти 15 промежуточных положений между начальной и конечной точкой.
Теперь плохие новости - прошивке плевать, какой у вас мотор, какое дробление и какое сейчас положение ротора - полный шаг или микрошаг (кроме экзотических вариантов с пином IND на драйвере, который сигнализирует, когда мотор встал в полный шаг). Прошивка знает только параметр steps per unit - сколько импульсов STEP подать на драйвер, чтобы ось переместилась на единицу длины. То есть использование высоты слоя кратной 0.04 мм вообще никак не гарантирует, что у вас всегда будут полные шаги.
Однако, при этом использование этого магического числа позволяет на каждом слое поворачивать мотор на угол, соответствующий полному шагу. Еще раз - не ставить в полный шаг, а только поворачивать на соответствующий угол. То есть если при хоуминге мотор в полный шаг не попал (а он скорее всего не попал), то он туда и не попадет, даже при слое, кратном 0.04. И тем не менее, это позволяет повысить точность позиционирования и повторяемость высоты слоя при использовании дробления шага, поскольку при повороте на угол, кратный углу полного шага, мотор будет вставать в один и тот же микрошаг (промежуточное положение ротора). Не в полный шаг, когда ток идет только на одну обмотку, а просто в один и тот же микрошаг. Это увеличивает точность, поскольку иначе на одном слое ротор будет в одном промежуточном положении, а на следующем слое - уже в другом, а эти промежуточные положения идеально стабильны и равномерно удалены друг относительно друга только в идеальном мире, а не на китайских шаговиках. Угол поворота на 1 микрошаг в режиме 1/4 совсем не обязательно будет 0.45 градусов для каждого из 4 микрошагов, а может быть 0.43/0.47/0.44/0.46 (утрированно), соответственно высота слоя немного, но будет плыть. А вот при повороте на угол, соответствующий полному шагу, ротор будет проходить один и тот же угол с достаточно большой точностью, потому что будет вставать в один и тот же микрошаг.