Open chris2560 opened 2 years ago
@chris2560 I´ve had the same issue on my machine.
I have solved this by only executing soft limits check, if current planned motion is not done by backlash compensation.
In motion_control.c Line 36:
Replace:
if (bit_istrue(settings.flags,BITFLAG_SOFT_LIMIT_ENABLE)) {
By:
if (bit_istrue(settings.flags,BITFLAG_SOFT_LIMIT_ENABLE) && !(pl_data->condition &(1<<PL_COND_FLAG_BACKLASH_COMP))) {
I´ll write a pull request as soon as I got some time for that.
Thank you for going to the effort of adding backlash compensation to GRBL, it's really important to my project as currently my leadscrews are M8 studding, with about 0.4mm backlash.
However, backlash compensation works well without soft limits ($20), and soft limits work with 0 backlash compensation, but if both are enabled, then it gives 'alarm 2' (movement will cause overtravel) whenever I reverse the direction of travel. Edit: Error 2 occurs as the machine is headed back towards machine home, when previously going away from home.
I've not tested this yet in any other axis, I've only yet tested X because that's all I've got connected up so far. Edit: I've just tested this in Y and the same error is thrown.
The relevant parameters are:
To generate the error, run:
And it moves to X100, then displays:
Any help or ideas as to why would be greatly appreciated.