Looking for the light at the end of the Backlash

More
21 Sep 2021 15:45 #221274 by RoberCNC
Hello community, I can't quite get / understand that the Backlash compensation works, I comment on my procedure, to simplify I will do everything on a single axis (X, which is joint.0) since everything is exactly the same for the rest .

To determine the value of the Backlash I make a travel of about 100 mm in the positive direction, followed by, all the movements are made in the negative direction, first -60, to make sure I have taken the backlash out of the equation, then I put a dial indicator and the DRO to 0 , I order X-10 and then X10, and the difference in the reading of the dial indicator gives me the value of the Backlash.

With that value obtained I go to the corresponding joint within the INI file and write "Backlash = Value", so far fine, what I don't understand at all is that I go to the control, I open the HAL Configuration and I have that ini.0.backlash reflects the value, but joint.0.backlash-corr always shows half the value (joint.0.backlash-filt is also always half, I don't know if it has any relationship). Worst of all is that I repeat the measurement procedure with the dial indicator again and it doesn't seem to do much of an effect.

Am I doing it right or am I missing something?

Thank you.

Rober.

Please Log in or Create an account to join the conversation.

More
21 Sep 2021 17:24 - 21 Sep 2021 17:33 #221280 by Aaroncnc
are you using the same measurement units as your machine default?
also take a look at this note from the documentation.
linuxcnc.org/docs/2.6/html/config/ini_config.html

BACKLASH = 0.0000 - Backlash in machine units. Backlash compensation value can be used to make up for small deficiencies in the hardware used to drive an axis. If backlash is added to an axis and you are using steppers the STEPGEN_MAXACCEL must be increased to 1.5 to 2 times the MAX_ACCELERATION for the axis.

then from the motion documentation
linuxcnc.org/docs/html/man/man9/motion.9.html

joint.N.backlash-corr OUT FLOAT (DEBUG)Backlash or screw compensation raw valuejoint.N.backlash-filt OUT FLOAT (DEBUG)Backlash or screw compensation filtered value (respecting motion limits)

Its possible that the machine cant move fast enough with your current limits.
Last edit: 21 Sep 2021 17:33 by Aaroncnc.
The following user(s) said Thank You: RoberCNC

Please Log in or Create an account to join the conversation.

More
21 Sep 2021 17:25 #221281 by Gordon49
Not sure how it works in Hal, but I set up my backlash compensation by using this simple method

1 Warm the machine up by running the axis backwards and forwards several times
2 Set the readout to 0.000 on the axis you want to test
3 Set a dial indicator to any useful reading and make a note of it eg 0.010"
4 Use the MDI or manual control to move the axis a known distance away from the indicator, say 0.500"
5 Use the MDI or manual to move the axis back towards the indicator, -0.500" or the distance chosen
6 The error on the dti is the backlash
7 Zero the indicator and redo the test again - it should read the same error or very close
8 The backlash will probably be a neg number, so a positive backlash number will correct it. If it is a positive result you have over corrected it like I did!

You probably will need to correct the Backlash correction again as I found it needed several tests at different table positions to get a good average reading and correction even on ballscrews.

I used a 123 block on the table and a dti in the spindle to do the readings.

Don't forget to restart linuxcnc after you have corrected the INI file otherwise the change will not come into effect, don't ask how I know!

John
The following user(s) said Thank You: RoberCNC

Please Log in or Create an account to join the conversation.

More
21 Sep 2021 19:01 #221292 by RoberCNC

are you using the same measurement units as your machine default?
also take a look at this note from the documentation.
linuxcnc.org/docs/2.6/html/config/ini_config.html

Yes, everything is in metric.

BACKLASH = 0.0000 - Backlash in machine units. Backlash compensation value can be used to make up for small deficiencies in the hardware used to drive an axis. If backlash is added to an axis and you are using steppers the STEPGEN_MAXACCEL must be increased to 1.5 to 2 times the MAX_ACCELERATION for the axis.

I´m working with servos, so I don't think it's a problem, I'll try it anyway. It is one of the first documentations that I read.

1 Warm the machine up by running the axis backwards and forwards several times
2 Set the readout to 0.000 on the axis you want to test
3 Set a dial indicator to any useful reading and make a note of it eg 0.010"
4 Use the MDI or manual control to move the axis a known distance away from the indicator, say 0.500"
5 Use the MDI or manual to move the axis back towards the indicator, -0.500" or the distance chosen
6 The error on the dti is the backlash
7 Zero the indicator and redo the test again - it should read the same error or very close
8 The backlash will probably be a neg number, so a positive backlash number will correct it. If it is a positive result you have over corrected it like I did! 

You use a very similar method, I get a neg value too.

You probably will need to correct the Backlash correction again as I found it needed several tests at different table positions to get a good average reading and correction even on ballscrews.

What you say about testing in various positions of the table I will try, it makes a lot of sense, I have read that the deviation that they give in the ball screws is in the entire length.
When you say that you will need to correct again, what do you do with the new backlash value, add or subtractto the older one?

I used a 123 block on the table and a dti in the spindle to do the readings.

Dti, dial indicator you mean?

Don't forget to restart linuxcnc after you have corrected the INI file otherwise the change will not come into effect, don't ask how I know! 

I will not ask because I understand you perfectly, it cost me to learn it.

Thank you very much guys, I appreciate your time and help.

Please Log in or Create an account to join the conversation.

More
22 Sep 2021 20:10 #221372 by Gordon49
Sorry about using dti abbreviation yes I do mean a dial test indicator, but any type of indicator will do, I have a Boxford one that reads accurately to 0.0001" and can be interpolated a lot closer than that- wish the machine was as accurate!

As correcting the error on a second or third pass just add or subtract as required, if negative error add, positive error subtract.

As Aaroncnc says it is best to use the machine units - sorry forgot to say this.

One other thing to check is the condition and adjustment of the gibs and try to locate the test point over the centre of the table or any point where there is less chance of any play in the slides.

Hope things are soon sorted.

John
The following user(s) said Thank You: RoberCNC

Please Log in or Create an account to join the conversation.

More
23 Sep 2021 08:14 #221407 by RoberCNC

As Aaroncnc says it is best to use the machine units - sorry forgot to say this.

When you say in machine units, do you mean to explicitly put the units after the value?
eg "Backlash = 0.12 mms" I work in metric units.

One other thing to check is the condition and adjustment of the gibs and try to locate the test point over the centre of the table or any point where there is less chance of any play in the slides.

I have changed the BK blocks to C5 blocks with angular contact bearings recently for precisely that reason.
Thank you very much for the help and clarifications, I will try what you say

Please Log in or Create an account to join the conversation.

Time to create page: 0.070 seconds
Powered by Kunena Forum