Another backlash compensation thread

Yes i have read the others, wanted to get advice real time :slight_smile:
This is backlash compensation measurement for new v2 rails
I am starting with with the Y axis.

This is my setup.

  1. should i be jogging in 0.1mm, 1mm or 10mm increments?
  2. how may jogs back and forward should I consider a test?
  3. i am fairly certain the weight of the meter holder and the 2x3 bricks are not moving, can i assume the arms on this grizzly mount are good enough not to introduce error / should i be doing this a different way?
    (yes i know to ignore the last digit in noise)

When / how should i declare success in measurement.

Backlash should be independent of the jog distance. I think it would be interesting for you to see with your setup if that’s true here as well.

I measured differently using 0.005mm steps and counting the steps until movement occurs.

Personally I repeated until I got repeatable results.

You could set up a macro for all of the motions with delays between them and then put your hand on the base. If the answer to your question is “yes” then you should get identical results when you do that.

G91
G4 S3 ; setup delay
G1 F1800

G1 Y-1
G1 Y1 ; end +, zero indicator here
G4 S3 ; adjust delay as needed

G1 Y1
G1 Y-1
G4 S3 ; end -, measure backlash here

–edit–
for anyone thinking of doing this at home please make sure you only do this using latest firmware if you plan to save these settings in firmware as this issue was only just fixed

ISSUE: Calibration Data invalid if calibration performed after changing XYZ esteps with M92 (can result in machine damage) · Issue #128 · Snapmaker/Snapmaker2-Controller (github.com)
—edit—

Thanks, in the end i did it by hand.

Jogged the bed/head by +20 and then -20 - plugged the numbers into Teaching Tech 3D Printer Calibration (teachingtechyt.github.io) XYZ steps calculator

Then repeated the test to see if it was much closer to exactly 20mm.
But more importantly to see that if the +/- movements returned to the same value on the meter multiple times once set - i.e. no drifting on the dial measurement, i have a thesis that this is more important the the exact measurement of 20.00

I ended up with M92 X164.19 Y160.66 Z403.43 FWIW

Is this enough to make a material difference ¯(°_o)/¯ i make no claims.

and for anyone interested:

*measuring z axis

Potential issues with this method:

  • keeping base of the dial mount stable and in a fixed position- thats what the wet bounty is for, helps stop sliding, and the weight from the 123 blocks stops issues of mass/leverage (i found both of these were needed to get results that didn’t drift.
  • issues of the steel rods - needs to be careful they don’t move and flex. pretty certain i managed to account for this.

To verify your results, you should try 10mm, 15mm, 25mm, and 30mm, if you can. If you can go up to 40mm (probably can’t), that would be best. I have a feeling that the difference is going to be constant at all distances, as it appears that you are actually performing a repeatability test, and not a backlash test, correct?

I am doing both - adjusting M92 and then testing new value for repeatability and consistency.

My meter doesn’t go above 26mm, which with preloading doesn’t give much room.
However no reason not to do 5, 10,15 mm tests too (i already did 10, looked good), will get around to that. (yes i realize that steps that small may not reveal much if i had a meter that could do 10mm to 100mm i would certainly use it :slight_smile:

Hey sorry if I wasn’t clear but backlash compensation is done with M425.

I wouldn’t recommend changing the axis steps per mm with such a tiny movement of only 20mm, that will introduce huge error. When calibrating e-steps it’s done with 100mm, and you want the biggest distance possible.

What you’re doing is not backlash compensation and my previous response does not apply to what you’re doing here.

If you do both backlash compensation and axis steps calibration you should do backlash first, although if careful regarding measurement directions it is not critical.

1 Like

not sure it was you, multiple videos and articles out there talk about using M92 to do it
 i suspect it was those that mixed me up
 interestingly it appeared to do something
 i can revert the settings and use M425 tomorrow

I’m on my phone and don’t want to type up a long example, but in short M92 makes any given commanded motion bigger or smaller. That can mask backlash but also will make dimensional accuracy less predictable.

Backlash only applies when the axis changes direction. Making every motion bigger will help when the axis changes direction and introduce new error when the axis does not.

M425 is handled by the firmware by inserting extra steps when the axis changes direction to take up slack. Which is the correct fix.

If after correcting for backlash you’re still having dimensional accuracy issues in the modules then M92 is the correct place to tweak. But those measurements ideally would be taken at a large length to minimize measurement errors, like the whole length of module travel.

1 Like

Thanks for the detail. I reset M92 so i can do backlash first. I am doing the test you outline in Is there a better way to calibrate? - #20 by brent113 just using the dial meter instead.

When I do +/- 0.1 mm step on the Z i am basically getting same lower and upper number on the dial meter for each cycle of up and down - seems perfect.

When I do 0.01 custom movements (as you describe in your good / old post) i am getting results i don’t understand.

Up takes 2 click before there is movement. A subsequent down then takes 4 clicks.

I get the same result in reverse after i do the above. aka 2 clicks of the button moves it down, but 4 clicks is required to get it to move up.

Is my backlash 0.02 or 0.04?

With 4 clicks of 0.01mm it moves 0.01mm? Then your backlash is 0.03mm.

That’s within 0.01mm of the factory spec so I might be wary and just call it 0.02mm. Weird things happen when the backlash compensation is too much. Really weird.

Based on the M92 values you posted earlier I’m thinking you’re still going to have some M92 tweaks, backlash of 0.02mm won’t explain much of that.

You’ll have to come up with a way of measuring a long line. Maybe tape a sharpie on the head and draw as long off a line as you can and measure with a tape. The extra length should more than make up for the decreased measurement precision.

1 Like

Setting this and only travelling in one direction (up) 2 clicks travels 0.02mm each time (1 click does nothing, i think that’s what we expect).

There is a minimum motion to the machine, on mine it won’t move less than 0.015mm. I think it’s stiction because it catches up later as you noticed.

2 x 0.01mm commands resulting in a total movement of 0.02mm sounds perfect.

thanks, yes there are other oddities, like if i move up and then up and the up - its perfect

if then pause for say a minute and then do it, it takes 4 to get started - very odd
 but i am going to ignore that oddness as that doesn’t really happen in printing (nor does going up and down)

i think its bed time now, will do y/x tomorrow - i like your idea of the pen - i can mount it in the same contraption i am using for the meter


1 Like

I’m half-planning on getting a full-length scale for these kinds of measurements. Here’s an example, sold by Shars (not an affiliate link). Backlash is one aspect of the accuracy of the lead screw assembly; others are the average pitch of the lead screw, the instantaneous deviation from pitch, difference between flanks, etc. This approach deserves a data acquisition to go with it.

Most backlash arises from the lead nut not mating closely with the threads on the lead screw. This is most often because the pitch diameters of the screw and nut are different; other inaccuracies can contribute. The upshot is that PD error will cause a basic backlash figure, but the exact backlash may vary over the length of the screw. If you want to fully characterize your backlash, it’ll be part of fully characterizing your lead screw assembly.

Personally, I don’t trust your measurement setup. There aren’t any clamps.

2 Likes

Interesting, thanks for the link.

Me neither :wink: i did a lot to avoid any chance of movement on 6 dof. In the final measurement I made use of the magnetic base clamp not on glass. The biggest thing to ensure is that the meter is truly perpendicular to the axis measured - then (almost) all of the force is in the sliding rod and so long as you don’t hit the stop point there is only the force of the friction of the rod in its tube and the spring.

It is only when it is slightly off axis I saw any evidence of force translated into the rig or meter (caused by slight pressure of force obliquely against the side wall of the tube the push rod in). In the end I am more concerned about flex in the plastic joints / metal rods than clamping of the base with additional clamps.

If i do a retest clamps are not too hard to add, have a bunch around.