Backlash Compensation with Polar Coordinates
- CtodLinuxcnc
- Offline
- New Member
Less
More
- Posts: 17
- Thank you received: 2
09 Apr 2023 22:39 - 09 Apr 2023 22:40 #268724
by CtodLinuxcnc
Backlash Compensation with Polar Coordinates was created by CtodLinuxcnc
Hello,
I'm working out a design for a 5 axis and am debating the use of a worm gear reducer to get a holding torque I need or a belt drive and pulley system. A big question I have is how LinuxCNC would handle backlash compensation on the A or B axis. It sounds like the compensation is only for linear applications and it isn't possible to map a compensation to something like the A and B rotary axis (where the error would increase as you approach the outer diameter of the rotating fixture).
Is that wrong? Can error be mapped in polar coordinates?
Thanks!
I'm working out a design for a 5 axis and am debating the use of a worm gear reducer to get a holding torque I need or a belt drive and pulley system. A big question I have is how LinuxCNC would handle backlash compensation on the A or B axis. It sounds like the compensation is only for linear applications and it isn't possible to map a compensation to something like the A and B rotary axis (where the error would increase as you approach the outer diameter of the rotating fixture).
Is that wrong? Can error be mapped in polar coordinates?
Thanks!
Last edit: 09 Apr 2023 22:40 by CtodLinuxcnc. Reason: typo
Please Log in or Create an account to join the conversation.
- spumco
- Offline
- Platinum Member
Less
More
- Posts: 1829
- Thank you received: 739
09 Apr 2023 23:25 #268727
by spumco
Replied by spumco on topic Backlash Compensation with Polar Coordinates
I don't know the answer to your question, although the LCNC INI file explanation indicates backlash is in machine units... so maybe backlash is in degrees for a rotary axis? If so it should automatically compensates the further out you get from the CoR.
I'm chiming in because backlash is a killer on a rotary (4th or 5th) axis. I struggled with an old worm-drive 4th (pre-LCNC conversion), and found that the problem isn't just positional accuracy. You can do some reasonably accurate positioning if you only turn the same way (or go past and back up to the position).
The real problem is when the machining operation pushes against the rotational axis in alternating directions. Like drilling off-center on both sides of the centerline. Or holding a prismatic part in a 4th axis vise and side milling above the CoR. Backlash comp will not help you because you haven't moved the rotary axis.
Result:
Just assume that any 'standard' worm drive will have backlash; if you adjust out the backlash, it'll wear itself in and come back pretty soon.
If you cant afford a harmonic or cycloidal drive off ebay, the only other (mostly) backlash-free drive I'm aware of is the belt system you mentioned. But those require a holding brake. Either the servos are dithering (even slightly), or you tune out the dither with some deadband and now you effectively have some backlash. Dithering results in poor surface finish, and backlash has all the above problems.
Frankly, any back-driveable system should have a brake. My harmonic-based 4th is very stiff when the servo is on but I can still measure a couple 'thou of movement it if I'm heavy drilling way off axis. And that's at 50:1 servo-to-part leverage - the servo still needs a couple encoder counts to react to the back-driving forces. Maybe with a really high resolution encoder and super-stiff servo you won't notice anything.
Realstically you can only get about a 10 or 15:1 ratio with a double-reduction belt and the servo & belt connection will have more compliance than a cycloidal or harmonic.
So... if you settle on a worm drive or belt plan on a brake of some sort however you wind up managing backlash. And the brake should be connected to the final rotational component, not the motor or intermediate components.
I'm chiming in because backlash is a killer on a rotary (4th or 5th) axis. I struggled with an old worm-drive 4th (pre-LCNC conversion), and found that the problem isn't just positional accuracy. You can do some reasonably accurate positioning if you only turn the same way (or go past and back up to the position).
The real problem is when the machining operation pushes against the rotational axis in alternating directions. Like drilling off-center on both sides of the centerline. Or holding a prismatic part in a 4th axis vise and side milling above the CoR. Backlash comp will not help you because you haven't moved the rotary axis.
Result:
- Rotary axis will move (rotate) away from the machining forces the amount of the backlash
- Holes on opposite sides of the CoR not parallel to the Z-axis (or at least one wont be)
- Tapered surfaces when side-milling
- Poor surface finish
- Off-center tapping can be horrible - maybe even snap a tap - with enough backlash.
Just assume that any 'standard' worm drive will have backlash; if you adjust out the backlash, it'll wear itself in and come back pretty soon.
If you cant afford a harmonic or cycloidal drive off ebay, the only other (mostly) backlash-free drive I'm aware of is the belt system you mentioned. But those require a holding brake. Either the servos are dithering (even slightly), or you tune out the dither with some deadband and now you effectively have some backlash. Dithering results in poor surface finish, and backlash has all the above problems.
Frankly, any back-driveable system should have a brake. My harmonic-based 4th is very stiff when the servo is on but I can still measure a couple 'thou of movement it if I'm heavy drilling way off axis. And that's at 50:1 servo-to-part leverage - the servo still needs a couple encoder counts to react to the back-driving forces. Maybe with a really high resolution encoder and super-stiff servo you won't notice anything.
Realstically you can only get about a 10 or 15:1 ratio with a double-reduction belt and the servo & belt connection will have more compliance than a cycloidal or harmonic.
So... if you settle on a worm drive or belt plan on a brake of some sort however you wind up managing backlash. And the brake should be connected to the final rotational component, not the motor or intermediate components.
Please Log in or Create an account to join the conversation.
- CtodLinuxcnc
- Offline
- New Member
Less
More
- Posts: 17
- Thank you received: 2
09 Apr 2023 23:42 #268731
by CtodLinuxcnc
Replied by CtodLinuxcnc on topic Backlash Compensation with Polar Coordinates
Oh man…firstly I think you are right, since it’s step based compensation it’s automatically technically polar, so thanks on that.
Secondly, I didn’t consider the backlash induced during the actual machining, everything you said makes a lot of sense so thanks a bunch for your response. I’m trying my best to get a fifth axis going at low cost but there’s all the problems you mentioned. Maybe I can figure out some way to get a ball screw to drive the a and b axis…. I was briefly hopeful on backlash compensation via software but that’s now clear it won’t work.
Do you know if Linux CNC makes it easy to incorporate a braking system?
Secondly, I didn’t consider the backlash induced during the actual machining, everything you said makes a lot of sense so thanks a bunch for your response. I’m trying my best to get a fifth axis going at low cost but there’s all the problems you mentioned. Maybe I can figure out some way to get a ball screw to drive the a and b axis…. I was briefly hopeful on backlash compensation via software but that’s now clear it won’t work.
Do you know if Linux CNC makes it easy to incorporate a braking system?
Please Log in or Create an account to join the conversation.
- spumco
- Offline
- Platinum Member
Less
More
- Posts: 1829
- Thank you received: 739
10 Apr 2023 01:33 #268735
by spumco
Replied by spumco on topic Backlash Compensation with Polar Coordinates
I don't have personal experience implementing a brake in LCNC - others on the forum may have direct experience.
If you've got a drive with on-board brake management, you're golden. Instead of connecting the drive to a built-in servo brake, you'd connect to the axis brake. If the drive gets a movement command it'll unlock, and you can usually set an on/off delay (in the case of a Z-axis - servo needs to be energized before unlocking).
Otherwise, LCNC can handle an indexing rotary axis (see the INI help section). But that doesn't help with continuous machining; it appears that if you set a joint/axis as locking indexer you can't move the other axes while the rotary is unlocked and moving.
I'm sure there's a way to do it without LCNC getting confused by a slight brake unlock delay - just about anything is possible in LCNC. Might want to start a new thread with a new title (i.e. Rotary Axis Brake?) once you get to that point.
Something else to think about... do you need continuous 5-axis machining? I've got a couple potential jobs that could really use a 5-axis machine, but none of them require continuous movement. I've been considering building a 5th axis indexer of some sort - no serious servos or drivetrains, but a pneumatic shotpin or hirth gear to lock the platter in various orientations. I think that'd be much easier (and less expensive) than a continuous 5th axis. Heck, even a manually-operated 5th axis fixture would be an improvement for my 4th.
If you've got a drive with on-board brake management, you're golden. Instead of connecting the drive to a built-in servo brake, you'd connect to the axis brake. If the drive gets a movement command it'll unlock, and you can usually set an on/off delay (in the case of a Z-axis - servo needs to be energized before unlocking).
Otherwise, LCNC can handle an indexing rotary axis (see the INI help section). But that doesn't help with continuous machining; it appears that if you set a joint/axis as locking indexer you can't move the other axes while the rotary is unlocked and moving.
I'm sure there's a way to do it without LCNC getting confused by a slight brake unlock delay - just about anything is possible in LCNC. Might want to start a new thread with a new title (i.e. Rotary Axis Brake?) once you get to that point.
Something else to think about... do you need continuous 5-axis machining? I've got a couple potential jobs that could really use a 5-axis machine, but none of them require continuous movement. I've been considering building a 5th axis indexer of some sort - no serious servos or drivetrains, but a pneumatic shotpin or hirth gear to lock the platter in various orientations. I think that'd be much easier (and less expensive) than a continuous 5th axis. Heck, even a manually-operated 5th axis fixture would be an improvement for my 4th.
Please Log in or Create an account to join the conversation.
- scotth
- Away
- Elite Member
Less
More
- Posts: 220
- Thank you received: 52
10 Apr 2023 01:59 #268737
by scotth
Replied by scotth on topic Backlash Compensation with Polar Coordinates
We did some testing years ago and found that keeping the servo alive gave better results than with the brake. Normally, the brake on a worm drive axis will still slip enough to cause bad parts with no servo to pull it back into position. This was aircraft work, so we are all crazy anyway.
The following user(s) said Thank You: tommylight, spumco, CtodLinuxcnc
Please Log in or Create an account to join the conversation.
- spumco
- Offline
- Platinum Member
Less
More
- Posts: 1829
- Thank you received: 739
10 Apr 2023 15:32 - 10 Apr 2023 15:34 #268758
by spumco
Was the brake on the worm or wheel?
EDIT - dumb question, sorry. Not back-drivable, so no point putting a brake on the worm.
Encoder on the wheel/platter to let the servo (or control) know things had moved?
Replied by spumco on topic Backlash Compensation with Polar Coordinates
Cool, good to know.We did some testing years ago and found that keeping the servo alive gave better results than with the brake. Normally, the brake on a worm drive axis will still slip enough to cause bad parts with no servo to pull it back into position. This was aircraft work, so we are all crazy anyway.
EDIT - dumb question, sorry. Not back-drivable, so no point putting a brake on the worm.
Encoder on the wheel/platter to let the servo (or control) know things had moved?
Last edit: 10 Apr 2023 15:34 by spumco.
Please Log in or Create an account to join the conversation.
- scotth
- Away
- Elite Member
Less
More
- Posts: 220
- Thank you received: 52
10 Apr 2023 18:03 #268767
by scotth
Replied by scotth on topic Backlash Compensation with Polar Coordinates
36-inch Producto table with finger clamps. Farrand feedback.
Please Log in or Create an account to join the conversation.
- CtodLinuxcnc
- Offline
- New Member
Less
More
- Posts: 17
- Thank you received: 2
10 Apr 2023 18:44 - 10 Apr 2023 18:49 #268774
by CtodLinuxcnc
Replied by CtodLinuxcnc on topic Backlash Compensation with Polar Coordinates
Replied to wrong person, moving reply…
Last edit: 10 Apr 2023 18:49 by CtodLinuxcnc. Reason: Wrong reply
Please Log in or Create an account to join the conversation.
- CtodLinuxcnc
- Offline
- New Member
Less
More
- Posts: 17
- Thank you received: 2
10 Apr 2023 18:50 #268775
by CtodLinuxcnc
Replied by CtodLinuxcnc on topic Backlash Compensation with Polar Coordinates
You had me thinking quite a bit last night. I do not need continuous machining, really i just want a 4th and 5th indexing axis so i dont have to turn a part and skip another setup.
Reading a lot more on stepper motors, they lock on their own, so just a stepper and a gearbox for a 4th and 5th indexing axis should work fine because i wont have any moves that reverse direction while machining. The gearbox would be in a zero backlash state as it is driven to the position and held there, and the holding torque would still be multiplied.
At this point, in between machining operations I can index the part as needed, and the backlash compensation in linux cnc would accurately compensate at this point….
Do I have this right?
Reading a lot more on stepper motors, they lock on their own, so just a stepper and a gearbox for a 4th and 5th indexing axis should work fine because i wont have any moves that reverse direction while machining. The gearbox would be in a zero backlash state as it is driven to the position and held there, and the holding torque would still be multiplied.
At this point, in between machining operations I can index the part as needed, and the backlash compensation in linux cnc would accurately compensate at this point….
Do I have this right?
Please Log in or Create an account to join the conversation.
- CtodLinuxcnc
- Offline
- New Member
Less
More
- Posts: 17
- Thank you received: 2
10 Apr 2023 18:53 #268776
by CtodLinuxcnc
Replied by CtodLinuxcnc on topic Backlash Compensation with Polar Coordinates
Unrelated to the main topic but worm gears can drive backwards with shock and vibrations, so in critical applications a break is still needed.
Im assuming some heavy material removal would be enough to cause some back-driving as well.
Im assuming some heavy material removal would be enough to cause some back-driving as well.
Please Log in or Create an account to join the conversation.
Time to create page: 0.069 seconds