Backlash compensation using encoder
30 Jul 2010 20:54 #3526
by mdurna
Backlash compensation using encoder was created by mdurna
Dear all,
I have to position a rotary table using a stepper. Stepper is directly coupled to a worm gear and there is a little amount of backlash between it ant the gear of table. Probably it will increase by time. To get rid of this backlash, I plan to directly couple an incremental quadrature encoder to the table and feed it back to EMC (via a MESA or MOTENC board).
Does anyone have ever used such a configuration and implemented closed loop position control on EMC, is it feasible?
If not, can I solve the problem by replacing a servo motor with the same closed loop control? Currently using a servo is the last thing to go for, since I have a little amout of space and budget.
Does the backlash compensation setting in the .INI file work well for such a situation. Probably I should add a dynamic calibration step for aging nature of the backlash at initialisation of EMC.
Do I miss something?
Best regrads,
Mehmet
I have to position a rotary table using a stepper. Stepper is directly coupled to a worm gear and there is a little amount of backlash between it ant the gear of table. Probably it will increase by time. To get rid of this backlash, I plan to directly couple an incremental quadrature encoder to the table and feed it back to EMC (via a MESA or MOTENC board).
Does anyone have ever used such a configuration and implemented closed loop position control on EMC, is it feasible?
If not, can I solve the problem by replacing a servo motor with the same closed loop control? Currently using a servo is the last thing to go for, since I have a little amout of space and budget.
Does the backlash compensation setting in the .INI file work well for such a situation. Probably I should add a dynamic calibration step for aging nature of the backlash at initialisation of EMC.
Do I miss something?
Best regrads,
Mehmet
Please Log in or Create an account to join the conversation.
30 Jul 2010 22:21 #3528
by BigJohnT
Replied by BigJohnT on topic Re:Backlash compensation using encoder
Typically close loop is for servos. However it has been done for steppers but it is not an easy task. Backlash compensation should get you where you need to be without much effort. And as the screw wears out you can add some more.
John
John
Please Log in or Create an account to join the conversation.
02 Aug 2010 13:14 #3557
by andypugh
Replied by andypugh on topic Re:Backlash compensation using encoder
Backlash compensation only works in situations where the backlash depends only on direction of movement.
It could work well for a rotary table, especially the version that uses a lookup table, as that would compensate for periodic variations in backlash due to a slightly eccentric table gear.
However, a lot of the time with a rotary table the cutting force direction is not dependent on the feed direction, and in that situation the backlash compensation can't help. (Because EMC2 does not know enough to work out which direction to compensate).
You might be able to set up a stepper to dynamically compensate for errors. I would suspect that the trick might be to work in position mode with the PID FF1 set to 1 (so that position is effectively passed straight through, and then let the P (and possibly I) terms compensate for the backlash errors.
Note that even if this does work, the feedback can't compensate for the backlash until it is there. so you will tend to see a jump and wind-back when the cutter first touches the work. I can see this being not a problem generally, but occasionally troublesome. You might need to write your G-code round this.
A mechanical alternative might be to have a clamping table. I think that at least one EMC user has a rotary table which is pulled tighter than normal, and relies on compressed air being fed into the gap between the rotating part and the base casting to create an air-bearing that allows movement when required, but means that the table is firmly clamped when not moving.
It could work well for a rotary table, especially the version that uses a lookup table, as that would compensate for periodic variations in backlash due to a slightly eccentric table gear.
However, a lot of the time with a rotary table the cutting force direction is not dependent on the feed direction, and in that situation the backlash compensation can't help. (Because EMC2 does not know enough to work out which direction to compensate).
You might be able to set up a stepper to dynamically compensate for errors. I would suspect that the trick might be to work in position mode with the PID FF1 set to 1 (so that position is effectively passed straight through, and then let the P (and possibly I) terms compensate for the backlash errors.
Note that even if this does work, the feedback can't compensate for the backlash until it is there. so you will tend to see a jump and wind-back when the cutter first touches the work. I can see this being not a problem generally, but occasionally troublesome. You might need to write your G-code round this.
A mechanical alternative might be to have a clamping table. I think that at least one EMC user has a rotary table which is pulled tighter than normal, and relies on compressed air being fed into the gap between the rotating part and the base casting to create an air-bearing that allows movement when required, but means that the table is firmly clamped when not moving.
Please Log in or Create an account to join the conversation.
Moderators: cncbasher
Time to create page: 0.080 seconds