Z axis not retracting full distance

I have an MPCNC with a Dewalt 660 router attached that i am using to cut parts out of 12mm plywood. My MPCNC is one of the older designs. I finished the build in Jan 2016 for perspective. All non-printed parts were purchased from V1 Engineering shop and i have not not done a thing to the core mechanics of the machine since I built it other than keeping things tightened up. Also, it uses threaded rod for the z-axis. I have not converted it to use a leadscrew (yet).

This issue i am having is that after a 10mm plunge (which is measuring spot on), it doesn’t retract the full 10mm. So, after repeated passes where i plunge a bit deeper on each pass, the total depth of my cut ends up a lot deeper than expected after the job completes. X and Y movement has repeatable accuracy. Working great there.

I did a test where i set the router bit height to the top of the work surface. Then, using the smart controller, I retract 10mm and then plunge 10mm. I repeated that 30 times. At the end, i had cut into the surface 5mm. So my retracts are only retracting about 9.83mm after a 10mm plunge. On some pocket operations i am running this really adds up and my pockets can be almost double the depth i am expecting.

Given i am using the threaded rod design still, i can confirm the steps/mm for the z-axis is set to 4535.44 in the Marlin configuration. This appears to be about as accurate as i would expect when plunging…it just doesn’t retract the same distance as accurately.

Any thoughts on where to look first? Mechanical issue or possible software issue?

My knowledge of the MPCNC does not date back to threaded rods, but if you were posting about a new model, I’ll have you check two things:

  • Check the grub screws on the connection between the threaded rod and the stepper. If these screws are loose, they might slip on the way up (where more torque is required), and not on the way down.

  • Try reducing your max Z feedrate. The faster a stepper spins, the less torque is generated. More torque is required to lift the router, so steps will be lost going up.

If this is a recent problem (i.e. it worked okay before), I’d lube everything and check to make sure nothing is binding or rubbing.

If the feedrate turns out to be the issue, you might be able to mitigate the problem by running the stepper driver at a lower micro-step setting, or running your steppers at a higher voltage.

How fast are you moving? The threaded rod version was very limited on Z speed. I think it was like 8mm/s or something close to that.

1 Like

I think even slower, like 3-4mm/s. Older firmware also had an issue where it would not respect the global max speed on Z, so you had to make sure the gcode wasn’t going over the limit.

In the Marlin configuration.h i have the max set to 7.5.

#define DEFAULT_MAX_FEEDRATE { 120, 120, 7.5, 25 }

In the smart controller → Configuration → Advanced Settings…it shows Vmax Z = 8. I assume its rounding up for the display if thats reading the same value.

I use Fusion360 to generate gcode, and i use 200mm/min for the plunge rate, so should be good there too. I have this issue with or without running a gcode file. Manually turning the knob on the smart controller to move the z 10mm up and down is how i have been reproducing this issue.

For threaded rod, 7.5 seems too fast to me for a max feedrate. V1 suggests a max feedrate of 8mm/s for a 4-start lead screw. I’m not sure of the movement ratio between a 4-start lead screw and the threaded rod, but I’d think a max feedrate of 2.5 would be more appropriate for threaded rod.

I’m not sure what version of Marlin you are running, but in the later versions the max feedrate can be set both by g-code ( M203) and from the display. If you can easily set the max feedrate, I suggest you dial the number down and repeat your test. Pass or fail, the test will tell you something significant.

As for Fusion 360, if you are using the free version, I’m not sure it will honor your plunge rate. For the free version, they removed rapids and have Z move at the same rate as X and Y. Don did a rewrite of the postprocessor that has settings to mitigate the issue.

As mentioned above, if it turns out to be a feedrate issue, and if the slower speed is an issue, there are a couple of other things you can try to address the problem.

Thanks for the suggestions. I will reduce the feed rate and repeat my test at different speeds and see if it improves. I’m also going to try adding some lube to the threaded rod. I probably did that when i built it but definitely not since then. Its probably dry.

This is the first project i have cut that required pockets, so im not sure if i have always had this problem or not. Although, even full depth contours tend to cut a bit deeper into my spoil board than i remember, so i think its something that has worsened over time.

Lost-z-step questions, where the Z cuts deeper over time, frequently appear on this forum. The issue is almost always one of the two I’ve listed…mechanical issue where the linkage gets more stress in the up direction, or the feedrate too high…or some combination. That is, if you have a mechanical issue like your threaded rod is dry and difficult to turn, then a feedrate issue will show up at lower speeds.

If you eliminate these two problems as possibilities, there are some uncommon reasons that can be explored.

Success! I took apart the z-axis, cleaned and lubed the threaded rod, and happy to report the accuracy is back (thanks @robertbu)! I did my 10mm retract/plunge test 30 times and it was spot on at the end. I did this test while keeping the max feedrate i had already (7.5).

Before I lubed the threaded rod, i did try lowering the speed down to 2 then 1, and was still getting inaccurate retracts. However, based on your guys comments, i am going to drop that down to about 2.5 going forward even after lube did the trick…seems like the proper thing to do.

1 Like