Duet Maestro in MakerGear M3
-
Quick question that I didn’t find the answer to.
A full step on my Z is 0.0158mm. So is it best to leave that number as is or better to just round up to 0.016? I didn’t know how the firmware handles decimal places. Same thing for the slicer....utilize multiples of 0.0158 or just use multiples of 0.016?
-
@guycobb2 I'm not sure I follow. Do you mean that a full step of the motor travels 0.0158mm?
Z_steps_per_mm = (motor_steps_per_rev * driver_microstep) / screw_lead
-
Yes. Brain fart.....corrected it.
-
Any info regarding my last question?
-
@guycobb2 From https://forum.duet3d.com/post/7222
The floating point calculations are done in single precision floating point, so 24 bits of precision. The integer calculations used in step generation are done mostly using 32 bits, with 64 bits where necessary.
So it will use all the decimal points you feed it. I'm guessing you're using imperial (1/4" 16 ACME rod?) for a 0.0158mm single step. Do you mean that many people report better Z consistency when they use multiples of the 'full step' distance for layer height? You can do this, though you end up with some strange layer heights; use Prusa's 'optimal layer height for your Z axis' calculator to see: https://blog.prusaprinters.org/calculator/
However, this was more of a problem in the 'old' days, when Z drivers turned off after moving, and when re-enabled moved to the closest full step. Usually now the Z driver is kept enabled, so doesn't lose position, and using multiples of full steps for layer height shouldn't be necessary.
Ian
-
@droftarts not sure exactly what the screw is for the Z. Was just told it was a double threaded rod with 8TPI. I’m not versed on them or how to identify what is what.
My interpretation was always that it was simply easier/more precise for the stepper to hold place on a full step. But that’s entirely based on my limited knowledge of steppers and the implementation of microstepping.
-
@guycobb2
8TPI is 8 Turns Per Inch, so 1/8" lead. 25.4mm / 8 = 3.175mm per revolution.
Assuming x16 microstepping and 1.8º stepper motor (200 steps per revolution), that makes 16x200/3.175 = 1007.874015748031496 steps per mm. I'd round that and setM92 Z1007.874
A single full step is 3.175 / 200 = 0.015875mmBasically, it's going to be difficult to get this to accurately step at full steps, as you are always using lots of decimal points. One reason you might want to is because of inaccurate microstepping (often with older drivers like DRV8825, see https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/ ), though the Trinamic drivers on Duets are MUCH better at this. Another reason is the quality of your stepper motors; they usually have an accuracy of +/-5% at the FULL step, but can be less accurate in the microsteps.
Then there's what the printer and slicer actually do. How do you makes sure that when the Z homes, it homes on a full step? And if the slicer makes the first layer extra big (mine often does a 0.3mm first layer, and the rest at 0.2mm), does that end up at a full step? And mesh levelling? And independent Z motors? You could run the Z in full step (ie no microstepping) but it'll be hellish noisy! And you'd miss out on the advantages of using microstepping for Z.
On the whole, I wouldn't worry about it, unless you notice Z banding issues, then deal with it. Or possibly switch to a metric leadscrew. Hope that helps!
Ian
-
It does help, thanks. I’ve not noticed any Z issues that I thought were from microstepping. I’d just always heard the “magic Z height” for printers to utilize full step increments as being desirable. I’ll just say eff it and keep letting KISSLICER do a brilliant job of using dynamic layer height.
Thanks again everyone. Trying to work out a replacement linear rail solution for the X axis to remove some artifacts and then I think this printer will be quite brilliant.