Z axis woes

Ordered everything from this site (save for 3D parts), using latest firmware for all thread running Marlin and repetier host.


Everything worked just fine - I have had nearly a year filled with hundreds of successful projects.


Two weeks ago the zaxis failed to raise the proper distance. Took apart the axis, cleaned everything, put some lube on the rod and back together… No binding at all moving manually.


I attempt to raise/lower zaxis in repetier by 10mm and it only moves 1mm. I checked steppers, drivers, and wiring… Try to move 10mm, same thing. Brand new stepper plugged directly into brand new arduino+ramps with brand new driver and the same issue happens.


I M92 Z5000, M500, G1 Z10 and G1 Z-10 - it moves about 10mm.


Any thoughts on what happened here?

I should add that I am 1/32 on each axis - the calculated value on Z of 4535.44 works great.

The z-axis needs to have a feed rate specified for each line. So each line of code should have a “F” command.

The code you listed above isn’t right. Try using repatier manually and make sure the z axis feedrate is no faster than 8.3mm/s.

About a year ago we made some discoveries about this stuff and have a page about it. Z axis issues.

Even just moving using repetier host controls or pronterface controls resulted in the same thing…

Nonetheless, I changed my zaxis to 1/4 stepping and M92 Z566.93 - moves up and down by 10mm when requested. Tried other steppings too - it works as it should now. I guess a gremlin caught the best of me.

I would love to know what happened during my last milling - I changed nothing at all and it seems as though the steps we’re 1/10th what they should’ve been even though M501 displayed the proper value. Oh well, it is working again now.

Thanks for the reply though!

Repetier has feed rate speeds as well you should look through maybe it got changed and started the whole issue.

Your G92 Z5000 sets the current location to 5000…
M500 saves to the eeprom… You only do that after you change an eeprom setting. So not sure why that’s there…

The G1 moves after that might be relative. In which case 10mm makes sense. It would move ten up and then ten down (G90/G91). If your in absolute, then it should have tried to move 5000+10…

It will be pretty hard to determine the original cause if you’ve fixed it. My first wild guess would be that you had a wiring issue, and it wasn’t really moving except when it sped up enough to jump across the gap to the second winding. It’s a wild guess though.

I really think it might be a Gcode issue. Does every single line of you gcode end in an “F” command, if not that is 100% the issue?




Didn’t use G92, I used M92 to set the step and saved to eeprom with M500.

I have now run two jobs successfully and the trouble hasn’t happened again.

@Ryan, I took a look at repetier and the feed speeds match up with stock firmware.

Oh well, I am glad it works now though! Another note, 1/32 stepping on Z with my imperial screw is much, much more accurate and precise than running at 1/4 stepping. Not sure there is an actual benefit gained in torque with reduced stepping to justify the resolution lost (I remember reading a paper on it a while back called the myth of microstepping or something).

Thanks again for the replies guys!

Oh, M != G… Facepalm!

I was never very good with details. Glad you’re happy.