Hello Guest it is March 29, 2024, 01:20:41 AM

Author Topic: Backlash compensation and jogging  (Read 5828 times)

0 Members and 1 Guest are viewing this topic.

Backlash compensation and jogging
« on: June 21, 2014, 12:55:32 PM »
Does backlash compensation work while jogging or when responding to the MDI command line?
The reason I'm asking this is because is because I've set up the backlash compensation as follows....

Run a program loop to slowly move each axis from 0 to 0.1mm and watch the actual movement of the axes using a dial clock.
note the error and adjust the backlash compensation values until the clock shows exactly 0.1mm travel.

Now I'm trying to clock something up precisely over a hole which I do as follows....
Put the clock in the spindle so it can spin round and touch the inside of the hole all the way round.

Now adjust the position of the X and Y axes using the MPG until the clock stays steady all the way round. My micron clock shows about 4 microns TIR when I do this.

Now I click the DROs to zero.

To check this out, I use the MDI to raise the clock out of the hole and then move to X1mmY1mm then back to X0Y0 before returning the Z to Z0
The result is that it doesn't repeat. If I then repeat the process but move the move to X-1mmY-1mm there's a difference in the other direction.

So something is badly wrong here.

Any ideas?
Re: Backlash compensation and jogging
« Reply #1 on: June 21, 2014, 02:35:24 PM »
Ok, an update on this after a few hours of experimentation.

The initial setup just moving the table back and forth gave backlash figures as follows...
X0.016Y0.034Z0.06 mm

I've now written two programs as follows...

(Check for backlash in clocking position)
(by approaching it from both directions)
G01Z3F100
G01X0.1Y0.1F10
G01X0Y0
G01Z0F100
G01Z3
G01X-0.1Y-0.1F10
G01X0Y0
G01Z0F100

(Check for backlash in clocking position)
(by approaching it from both directions)
(Faster and further for double checking)
G01Z3F100
G01X1Y1F20
G01X0Y0
G01Z0F100
G01Z3
G01X-1Y-1F20
G01X0Y0
G01Z0F100

Running these two programs on a hole clocked to a TIR of <5microns it repeats within 5microns so I think it's fair to say that the original compensation values arrived at by the first method were rubbish.
The new ones that gave the above results are as follows...

X0.006 Y0.010 I've set the Z to 0.02mm as an arbitrary value for the moment.

Frankly I don't believe the figures here either. I've been using this machine with a different controller for years and reckon the backlash is at least twice the figures shown. I'm wondering if the backlash compensation uses twice the value you enter ie a +/- figure is what you enter? It would be good to know.

I've just used the MPG to move first -1mm and then +1mm from the clocked position, and it doesn't repeat, there's an error of 0.01mm
I've also put the figures in using the MDI input and I don't think that repeats either.

So could someone from Mach tell me what the backlash figures mean, and whether the MPG and MDI methods of input use backlash compensation?

If you're just making things from scratch without precision references then it's not going to impact much, the errors aren't huge. However, if you're really trying to make something very accurate then you can't afford to be losing 10-20 microns when you clock something up using a hole as a reference. For the time being, I'm just going to have to use that little program every time I clock up a hole to make sure that it comes back to the centre when approached from either direction.

I'd be curious to know if anyone else has experienced these difficulties.

Offline Hood

*
  •  25,835 25,835
  • Carnoustie, Scotland
    • View Profile
Re: Backlash compensation and jogging
« Reply #2 on: June 21, 2014, 04:38:08 PM »
Rich is probably the guy to ask about Backlash, I have never used it with the Parallel Port so not sure what is what.
BTW just to make sure,  are using the PP or an external controller?

Hood
Re: Backlash compensation and jogging
« Reply #3 on: June 21, 2014, 05:18:22 PM »
Rich is probably the guy to ask about Backlash, I have never used it with the Parallel Port so not sure what is what.
BTW just to make sure,  are using the PP or an external controller?

Hood

Ok, hopefully he'll see this and have an answer. I'm using an Ethernet Smoothstepper and SureServo AC Servos which are one of the few that accept Step and Direction pulses. I mention this only because I want to make the point that there won't be any lost pulses, there's true closed loop angular control using an integral encoder on that system. The only thing I'm correcting for is backlash.

Offline Hood

*
  •  25,835 25,835
  • Carnoustie, Scotland
    • View Profile
Re: Backlash compensation and jogging
« Reply #4 on: June 22, 2014, 08:10:03 AM »
Ok using the SS will almost certainly be different from the PP so I suggest you contact Greg  and ask him which settings should be used for backlash.
Hood
Re: Backlash compensation and jogging
« Reply #5 on: June 22, 2014, 08:11:54 AM »
Ok using the SS will almost certainly be different from the PP so I suggest you contact Greg  and ask him which settings should be used for backlash.
Hood

Ok, will do.

Offline RICH

*
  • *
  •  7,427 7,427
    • View Profile
Re: Backlash compensation and jogging
« Reply #6 on: June 22, 2014, 08:33:27 AM »
I don't use my SS anymore and backlash was not available at the time for the SS.
So check out Greg's web site to see current status as Hood mentioned.

-------------------------------------------------------------------------------------------------------------
For the PP backlash worked quite well and below is just a general rule that I recommend. Backlash is implemented anytime there is a
change in direction irrelavant of what your using ie; MPG, MDI, etc.

Frankly you should get rid of backlash in your machine.
 
50% - for the % of max speed ( in backlash flyout window)
Shuttel Accel .050 to start ( in general config)
Debounce Interval 50 to start  ( in general config)

The last two settings have an affect on how the backlash is implemented.


The Shuttle Wheel Accel is in seconds. How exactly is the" time" applied to the backlash "cycle"? Well I don't really know.
 It's internal to Mach. By observing the difference in how the motor reacts to different settings you will see that it affects the overall time
 it takes for Mach to take up the backlash and at say a value of 5 you will find that over five seconds the handwheel / shaft will turn
 rather slowly. At 0.005 sec its almost instantaneous. In the real slow setting, and say you jog a distance of .1"  you will find there
seems to be almost 3 distinctmotor responses in the cycle,....... a small rotation then deceleration...... then backlash taken up
over a time...and then  accel and move to finish the distance.
So to get of flavor of it you need to start slow, observe, listen to see what is happening over an operating range.
 Work your way up in settings.

RICH
Re: Backlash compensation and jogging
« Reply #7 on: June 22, 2014, 10:54:50 AM »
I don't use my SS anymore and backlash was not available at the time for the SS.
So check out Greg's web site to see current status as Hood mentioned.

-------------------------------------------------------------------------------------------------------------
For the PP backlash worked quite well and below is just a general rule that I recommend. Backlash is implemented anytime there is a
change in direction irrelavant of what your using ie; MPG, MDI, etc.

Frankly you should get rid of backlash in your machine.
 
50% - for the % of max speed ( in backlash flyout window)
Shuttel Accel .050 to start ( in general config)
Debounce Interval 50 to start  ( in general config)

The last two settings have an affect on how the backlash is implemented.


The Shuttle Wheel Accel is in seconds. How exactly is the" time" applied to the backlash "cycle"? Well I don't really know.
 It's internal to Mach. By observing the difference in how the motor reacts to different settings you will see that it affects the overall time
 it takes for Mach to take up the backlash and at say a value of 5 you will find that over five seconds the handwheel / shaft will turn
 rather slowly. At 0.005 sec its almost instantaneous. In the real slow setting, and say you jog a distance of .1"  you will find there
seems to be almost 3 distinctmotor responses in the cycle,....... a small rotation then deceleration...... then backlash taken up
over a time...and then  accel and move to finish the distance.
So to get of flavor of it you need to start slow, observe, listen to see what is happening over an operating range.
 Work your way up in settings.

RICH

Thanks Rich, that goes some way to explaining things, I've asked the ESS forum the same question now.

As for eliminating backlash, that's fundamentally impossible. I have precision ground THK ball leadscrews that cost £800/axis so I've not exactly skimped. Stiction on any moving parts and the elastic nature of all metals means you'll always see lost motion. check out some of the plots you can find on the Renishaw web site with regard to Ball Bar calibrating systems and you will see that your hope of eliminating backlash is futile. This is why modern machines use linear scales and linear motors where possible.
I've designed a CNC control for PCB drill/routing machines and used open loop systems so this is all familiar territory. I just want to get a handle on how Mach3 goes about all this so I can get the best out of what I have.
Next time yo get a chance, try the tests I've outlined about and you'll see how much backlash you have. I think you'll be surprised.
Cheers,
Roger

Offline Hood

*
  •  25,835 25,835
  • Carnoustie, Scotland
    • View Profile
Re: Backlash compensation and jogging
« Reply #8 on: June 22, 2014, 04:52:41 PM »
Can you check your encoder position in your servo drives software realtime?
Hood
Re: Backlash compensation and jogging
« Reply #9 on: June 24, 2014, 04:39:33 AM »
Can you check your encoder position in your servo drives software realtime?
Hood

Yes, I have both the encoder output from the SureServo and linear scales, both of which can't be accessed by Mach3 which is a real shame. I can use my old controller as a DRO though to bring those out if need be.