Interesting Accuracy Issues

Talk about all things CNC
Post Reply
Stephmon
Posts: 20
Joined: Sun Oct 05, 2014 6:13 am

Interesting Accuracy Issues

Post by Stephmon » Mon Oct 20, 2014 5:35 am

Today, I attached a 1" dial micrometer to my Shapeoko 2 and did some testing and calibrating. I noticed some interesting behavior...

Z-Axis: I ran some tests at the 'default' 320.000 steps and found that it was a little 'long". After some ciphering, I arrived at 316.800, which was precise over much of the travel, but I got the following (very repeatable) pattern, when moving in 0.1" steps, near the bottom of the rod.
0.100
0.200
0.300
[...]
0.700
0.804
0.906
1.004
How is this even possible? Could the thread spacing/accuracy change, at that point along the rod? I might never have problems with 0.006" accuracy in Z (doing primarily 2-1/2 D), but now I won't rest, until I've checked over the whole length of the travel.

X/Y Axis: As if that wasn't odd enough, I also noticed strange behavior from the X and Y axes. Again, sending 0.1" movements...
0.100
0.200
0.302
0.400
0.500
0.502
and so on, repeating exactly that pattern. It is hard to say for sure, but it almost seems like the motor doesn't 'want' to stop at 0.300 (for instance), but instead coasts a bit and "snaps to a grid" that is at 0.302.

Thoughts?

Aside from those odd behaviors, I'm very pleased. The repeat-ability and accuracy were excellent, otherwise.

AlBorland
Posts: 75
Joined: Mon Jun 23, 2014 5:26 pm
Location: Austria

Re: Interesting Accuracy Issues

Post by AlBorland » Mon Oct 20, 2014 10:15 am

Stepper motors have discrete steps (200 steps per revolution for the motors sold by inventables). With ~36mm travel per motor revolution and 200 steps/rev, the step size is 0.18mm (0.007").

With e.g. 8x microstepping, the theoretical resolution is around 0.02mm (0.001"), but only while the motor is powered. If the power is switched off, the motor will snap to the nearest full-step, and snap back to it's previous position when power is re-applied.

Your measurements on X/Y can be explained by that, but not the ones on Z.
Shapeoko2, 4xNEMA23, tinyg, Kress 1050, various Z axis modifications

Stephmon
Posts: 20
Joined: Sun Oct 05, 2014 6:13 am

Re: Interesting Accuracy Issues

Post by Stephmon » Mon Oct 20, 2014 2:28 pm

Thank you Al,
So I'm clear, when you say "power is switched off", do you mean at the end of each move (without turning off the mains)? I am not removing power from the Arduino/GShield, when I notice this X/Y effect. I'm just sending gcode commands and checking the position at the end of each move.

ThatOtherGuy435
Posts: 108
Joined: Sat Feb 16, 2013 2:08 pm

Re: Interesting Accuracy Issues

Post by ThatOtherGuy435 » Mon Oct 20, 2014 3:36 pm

When power is no longer applied to the steppers.

Microstepping is achieved by partially energizing more than one coil to hold the rotor partially between the steps, so if you take away that energizing power, it will slip back to the nearest full step.

In GRBL 0.8, $7 'Step idle delay' ($1 for 0.9) controlled how many milliseconds GRBL would continue to apply power to the motor after the last commanded move. Most people put this at 255, which means if the Arduino is powered, it will apply power to the motors. By default, I think both set it to 25ms, so if you haven't changed the defaults you may be seeing that.

Any of the 'preconfigured' options with regards to Shapeoko (Inventables, the Shapeoko Defaults 0.9c hex file, etc) generally have step idle delay set to 255.
ShapeOko1 #??? - 1000mm Dual-drive Y, Double X, S2 gantry motor plates, ACME Z-Axis.

Stephmon
Posts: 20
Joined: Sun Oct 05, 2014 6:13 am

Re: Interesting Accuracy Issues

Post by Stephmon » Mon Nov 10, 2014 7:01 am

I've had a chance to look into the Z-axis accuracy in more detail, and I'm convinced... The thread pitch of the stock Z-axis screw is inconsistent. It will provide accuracy to 0.001" over 1.5"-1.7" and then the thread pitch will increase, or decrease over a few 1/10ths and the accuracy will be off by ~0.004. Unfortunately, it is worst in the area where my Z would spend most of its time. I suppose I could try flipping the rod 180, but If i'm going to disassemble it, I would probably consider the Acme rod.

Has anyone looked at the Acme rod, in this detail? It would be nice to know, if the consistency I'm hoping for is expected there...

With thanks to ThatOtherGuy435, My Step Idle Delay is now set to 255 (it was the default, in the 0.9g Hex file I flashed to my Arduino the other night) and it appears the 'odd' behavior I was seeing was indeed the microstepping turning off, after the default delay.

And yes, I have actually started cutting stuff (I'm not spending all my time calibrating and 'kicking the tires'). I've got a nice spindle holder for my Bosch Colt 1.0HP (rev. 1) and a limit switch mount for the Z-axis out of HDPE. Next, rev 2 of the spindle mount (a few tweaks that the 'prototype' revealed to me) and a dust shoe. Then, it's time to get serious about guitar parts.

WillAdams
Posts: 8489
Joined: Mon Apr 09, 2012 6:11 pm
Location: Pennsylvania --- south of the Turnpike, East of US-15
Contact:

Re: Interesting Accuracy Issues

Post by WillAdams » Mon Nov 10, 2014 11:41 am

Stephmon wrote:Has anyone looked at the Acme rod, in this detail? It would be nice to know, if the consistency I'm hoping for is expected there...
Came across a bit on that which is on the wiki: http://www.shapeoko.com/wiki/index.php/ACME_Z-axis
Please note that Acme rod is available in several different grades intended for differing usages:

rolled acme stock --- 0.009" per foot accuracy, 2G thread intended for power transmission
milled or ground --- 0.003" per foot accuracy, 2C (centralizing) thread intended for precision positioning
Shapeoko 3XL #0006 w/Makita RT0701 Router w/0.125″ and ¼″ Elaire precision collets
Nomad 883 Pro #596 (bamboo)

Post Reply