Problem with configuration for X, Y, and Z axis

I have a home-built 420x550 machine that I am having a heck of a time configuring the movement controls. I have proper direction, but getting the $100-$102 settings to match up with the microstep settings has me flummoxed. Here are my machines physicals:
X distance 420mm, Y distance 550mm
Single screw controls each axes.
Y-axis is 800mm Tr8x8 Lead Screw (Acme Thread, 2mm Pitch, 4 Starts, 8mm Lead)
X-axis is 550mm Tr8x8 Lead Screw (Acme Thread, 2mm Pitch, 4 Starts, 8mm Lead)
Z-axis is 300mm Tr8x8 Lead Screw (Acme Thread, 2mm Pitch, 4 Starts, 8mm Lead)

Stepper Motors:
NEMA23
Step Angel 1.8Β°

G-code
$$
$0=10
$1=25
$2=0
$3=2
$4=0
$5=0
$6=0
$10=115
$11=1.000
$12=0.002
$13=0
$20=0
$21=0
$22=0
$23=7
$24=25.000
$25=500.000
$26=250
$27=2.000
$30=10000
$31=0
$32=0
$100=400.000
$101=400.000
$102=400.000
$110=1200.000
$111=1200.000
$112=600.000
$120=200.000
$121=200.000
$122=100.000
$130=400.000
$131=180.000
$132=80.000

Drivers are set to 16 microsteps (off, off, on)

Here is the issue: by my calculations, this should not work, but is the closest I have found to getting the movement distance correct. I am using $100 = (𝑆𝑑𝑒𝑝𝑠 π‘π‘’π‘Ÿπ‘…π‘’π‘£π‘œπ‘™π‘’π‘‘π‘–π‘œπ‘› x π‘€π‘–π‘π‘Ÿπ‘œπ‘ π‘‘π‘’π‘π‘ ) /Mπ‘–π‘™π‘™π‘–π‘šπ‘’π‘‘π‘’π‘Ÿπ‘  π‘π‘’π‘Ÿ π‘…π‘’π‘£π‘œπ‘™π‘’π‘‘π‘–π‘œπ‘›
which should come out to (200 x 16) / 2 = 1600. When I put that into $100 my machine flys way past the mark. I dont get what I am doing wrong here.

Sometimes it’s easier to work backwards. Put in some numbers that will equal a certain distance. You can then figure out what the equation might be at that point.

Example $100=1000 measure the distance and see how far it went. You can then extrapolate what the correct numbers might be or understand where you might have made an error in your setup.

1 Like

Here’s the dimensional analysis.

200 steps / 1 rotation
16 microsteps / 1 step
1 rotation / 8 mm

200 / 1 * 16 / 1 the steps cancel out so we get 3200 microsteps per rotation.

3200 microsteps / 1 rotation
1 rotation / 8 mm

The rotations cancel out and 3200 / 8 = 400 microsteps / mm

So, I don’t know what calculations you did that say it shouldn’t work, but that would explain why 400 is the value that worked for you.

Now, using acme screws means you’ll have backlash (β€œslop”) so it’s not going to be exact, and if you use small end mills (relative to the amount of backlash you have), you will break them as they grab, especially if you do climb milling. I suggest limiting yourself to conventional milling. As far as I know, there is no backlash compensation in grbl, so you are going to see artifacts from the backlash.

Feedback: I would not use 4-start acme screws. I don’t even use them when I design 3d-printers, let alone CNC! 1-start is what I would use for a CNC, if I weren’t using ball screws to virtually eliminated backlash. If you replaced the 4-start with 1-start, you would use 1600 microsteps/mm instead of 400. In practice, 1-start typically have lower backlash, and you can get split nuts that let you reduce backlash. But it’s always a tradeoff between backlash and sticking.

However, I’d strongly suggest using ball screws if you want precision, especially in X and Y. It probably doesn’t matter as much for you in Z because the weight of the spindle will tend to take out some of the impact of the backlash, so that the stiffness or lack thereof in the machine will probably dominate imprecision in Z. I see 550 and 800mm 1605 ball screw assemblies on Amazon for about $50 each. 1605 is 5mm step/rotation, so for those the dimensional analysis gives you:

3200 microsteps / 1 rotation
1 rotation / 5 mm

3200/5 = 640 microsteps/mm

Looks like you can get 300mm ball screws inexpensively in both 1605 and 1204 if you wanted to do Z as well. 1204 is 4mm per rotation, so that would be 3200/4 = 800 microsteps/mm.

None of that is to imply an obligation. It’s more letting you know that acme screws are imprecise, and if you decide to upgrade at some point, you have the math you need. :smiling_face:

1 Like

So you are using the same acme thread for all axes. The setting is a ratio. ( What you want divided by what you are getting) multiplied by the setting value in $100. I clamped a digital caliper to my X axis and got the result of jogging 1inch and used that to find the exact calibration. Do this a few times until you get the accuracy you can live with.

I used the openbuilds acme rod and anti backlash nuts with an x controller set as directed in the instructions way back when. my settings are X and Y (198), and Z is (48.695).

Always learning. I guess I just assumed that the screws I got were the best since they were the same type sold on a CNC store.

I did notice some β€œslop” in a test laser cut and attributed it to something being loose, but now I know.

Is this what I am looking for?

Yes, generally.

Be aware that you really don’t want to take the ball nut off the screw. They are very hard to put back together.

Obviously you’d have to work out how to fixture it.

1 Like

New screws are inbound; fortunately, I can return the other ones to Amazon.

1 Like