Welcome! Log In Create A New Profile

Advanced

Microstepping, Z-Axis, and Thread Pitch

Posted by jcabrer 
Microstepping, Z-Axis, and Thread Pitch
July 16, 2011 09:48PM
The average stepper motor out there has 200 steps per revolution, meaning it has 200 distinct clicks when you rotate the shaft 360 degrees. That's 1.8 degrees per step if you are single stepping.

When the stepper driver is microstepping, say 16, it is subdividing that 1.8 degree step by maintaining phase current in such a way that the "teeth" on the motor shaft line up a certain way against the "teeth" on the motor stack.

I'm aware that in my firmware, the Z-Axis is de-energized when not moving. I think this is the default setting for most of us. I also use 16 microsteping on my RAMPS board on all four axes.

My question is this: If I allow the Z-Axis to de-energize when idle, isn't the motor going to move forward or backward to the nearest true step? In other words, won't my Z layer height become somewhat irregular?

I ask this because my Z layer height is in fact irregular.

On a related topic, if my threaded rod is 5/16-18, I assume the 18 means 18 revolutions per inch?

So given that 1 inch = 25.4mm

25.4mm / 18 = 1.411111111111111 mm/revolution

1.411111111111111 / 200 = 0.0070555555555556mm per Single Step. Is that right?

That's a pretty small increment, so why should the Z-Axis be set to anything less than single stepping?

If I turn the Z-axis motors by hand it seems like the step causes a movement much greater than 0.0070555555555556mm.
Re: Microstepping, Z-Axis, and Thread Pitch
July 17, 2011 12:07AM
Yes it will snap back to the nearest detent, but i don't think it has to be de-energized (like you said, in firmware) unless you just want to quiet your machine some, since de-energizing it will stop the motor squeel.

Is your machine a prusa? The Sells mendel gears the steps down (up?) so that each step effects the z axis much less. Even so, it seems like moving, at most, half a step to the nearest detent wouldn't affect the print quality drastically.

What kind of irregularities are you noticing?
Re: Microstepping, Z-Axis, and Thread Pitch
July 17, 2011 09:56AM
My machine is aPrusa. I'm not ruling out the z axis YET, but I used to get very smooth walls, but lately the layers are slightly misaligned. Not like when you drop steps, but like the layer height is varying and causing the edge material to ooze a little more and a little less.
Re: Microstepping, Z-Axis, and Thread Pitch
July 18, 2011 06:54AM
Perhaps you're missing steps occasionally. Have you tried turning the limit on the z-axis lower to see if it would fix it?
Re: Microstepping, Z-Axis, and Thread Pitch
July 18, 2011 01:42PM
Not what my original post is about, but I'll get to that next. The layer irregularities seem to be a mix of things.

1. X and Y Axis backlash. I need to change out the original pulleys for XL type on the motors. It's been on the todo list. I think it was just less noticeable when I was printing with opaque filament. The translucent stuff shows flaws much better. The misalignment is periodic, producing "waves" in the walls. More pronounced on the Y axis walls.

2. Layer thickness was too thin @0.30. Bumped it up to 0.40, and then back down a bit to arrive at 0.36. Looks good there.

3. Extrusion was a bit too high.

Anyway, back to the original post, what I'm actually trying to figure out is a good increment value that is a precise multiple of the single step size for Z. If this can be determined, the z-axis should always land at a full step interval, making it all the much better. Micro-stepping is good for X and Y, because you get smooth results, and quiet operation, but I don't think there is as much a benefit to the Z axis if it is allowed to go idle after the move.
Re: Microstepping, Z-Axis, and Thread Pitch
July 18, 2011 02:21PM
One whole step on Z is only 1.25 / 200 = 6.25 microns, less than 2% of the layer height, so I don't think you have to worry about it landing on a full step interval, no matter how inaccurate the micro stepping is. Even if you move a multiple of 6.25 microns you can't guarantee to be on a step boundary because typical reprap electronics don't use the reset line.

I don't think it is a good idea to turn the motor off between moves though. I expect there is a chance it could miss a step when powered back up unless there are delays between enable and the first step to allow it to sync up before moving off and after the last step, before the enable goes away, to allow the rotor to settle at the stop position and not overshoot or undershoot.

Also if it is disabled there is the possibility that the constant vibration of the X-axis, might rotate the lead screws a little. I keep my z-motor permanently enabled. It keeps the firmware simple and the power wasted is negligible if you have a heated bed.


[www.hydraraptor.blogspot.com]
Re: Microstepping, Z-Axis, and Thread Pitch
July 18, 2011 03:51PM
Thanks Nophead. That's the kind of validation I was looking for.
Re: Microstepping, Z-Axis, and Thread Pitch
July 18, 2011 08:48PM
I would expect that the static friction of the z threaded rods against the x-carriage nuts would keep the axis exactly where it stops between moves. There is no appreciable force being exerted on it to make the z rods rotate and change the height of the print.

It is my understanding that the default for RAMPS is to allow the Z motors to go idle between moves because of the way the z axis is designed. Why waste power holding something still if it isn't going to drift anyway? I guess I need to go dig in the firmware a little to see if that is true...


Germanicus
Re: Microstepping, Z-Axis, and Thread Pitch
July 19, 2011 12:08AM
Nophead is right, on a typical firmware setup machine with just enable/disable for firmware , there is a chance that each enable/disable will put the axis further out of sync with micro stepping. There is suppose to be a memory of where the phase of microstepping is at, but if z wanders too far from vribrations that will do no good...

This is a good comment to relate to those that work on firmware, and may involve pulsing enable/disable on z axis before it wanders off.

[www.allegromicro.com]
Re: Microstepping, Z-Axis, and Thread Pitch
July 19, 2011 05:57AM
Quote
jcabrer
Anyway, back to the original post, what I'm actually trying to figure out is a good increment value that is a precise multiple of the single step size for Z. If this can be determined, the z-axis should always land at a full step interval, making it all the much better. Micro-stepping is good for X and Y, because you get smooth results, and quiet operation, but I don't think there is as much a benefit to the Z axis if it is allowed to go idle after the move.

As you calculated, the z step size even with full steps is very small so I don't think it's necessary to make the layer height a multiple of the z step size. The round-off error wouldn't be noticable. Good point about putting the motor on idle on the Prusa.
Sorry, only registered users may post in this forum.

Click here to login