Incorrect Z microstepping
-
Ok so if you move to Z0 and touch the bed, and then job the bed up 10mm and measure it with a ruler, is it actually 10mm?
-
@phaedrux So the Z axis is set at 30.8mm my calipers read out about 120mm (not exact, just around about there) and if I move it up it moves the same amount upwards. Maybe it's because I have 4 z motors? 30*4=120. It's definitely more than 30.8mm, I can tell you that.
-
Wait, it's a 4 start lead screw, could that be the issue?
-
@surgikill This is almost certainly it. For lead screw calculations we actually use the 'lead' (movement of the nut per complete turn) rather than the 'pitch' (peak-to-peak measurement of the threads). For single start screws these values are the same so it's easy to miss the distinction.
So a 2mm pitch 4-start screw will have a 8mm lead (2mm pitch * 4 starts).
so the calc becomes something like
(200steps/rev * 16) / 8mm/rev = 400 steps/mm
-
@nhof Thanks man. That's what I thought but using the prusa calculator there's no input for start. I had to go looking for the calculation. Seems to be printing much better now, at least it's not moving 4x what it should.
-
Microstepping is not the problem. Try reducing Z acceleration. Also try increasing Z motor current if you can do that without the motors overheating.
-
I just spotted a big problem with your config.g. The M584 command must come before the M350 and M906 commands.
-
@dc42 It's a 4 start leadscrew so I needed to divide the microstepping by 4, so instead of 1600 it's 400. Did a test print last night and it came out fine, minus the z artifacts and lack of cooling. Why does the M584 need to come before M350 and M906? Looks like those are just microstepping and motor idle currents.
I was also reading in some other documentation that I need to configure microstepping and steps/mm for each z-motor. Is this true? It seems to work fine now but I can't find anything in the official documentation about it.
-
If you look up M584 in the GCode wiki, it says clearly that it must come before certain other GCode commands. That's so that the firmware knows which drivers to apply those settings to.
You don't need to set the steps/mm or microstepping separately for the multiple Z motors.
-
@dc42 Is there any way I or somebody else could add this to the documentation?
-
@surgikill You can register and modify the dokuzi wiki . Should not need any special permissions. I have done this several times.
-
@dc42 I just looked up M584 in the g-code wiki and didn't see anything about the order. Can you point me to where you found it? I want to read up on it.
-
@surgikill It's actually listed under the
M350
andM92
commands rather than theM584
-
From https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping :
Order dependenceM584 must come earlier in config.g than any M350amd M906 commands. If it creates new axes, it must also be earlier than any M92, M201, M203, M208, M350, M566, M574 , M667 and M669 commands.
-
@aidar Is there anything I can't run M584 before? I'm just going to stick it at the top of the list.
-
Top is ok.