Disabling and enabling axes in tandem
-
I have a Duet 3. I want to implement a system where there is a chance two axes might collide with each other. So I want to find a way to prevent that.
I have two axes (lets say axis A and axis B). I want axis B to move only when a limit switch is pressed by axis A (this would indicate axis A is in a safe position for B to move). When the limit switch is not pressed by axis A, B should not move or remain disabled. What would be the best way to implement this? Any suggestions will be helpful. Thank you! -
-
Right now, I am just disabling the axes with M18 to achieve what I mentioned in the question. But weirdly, when one of the axes is disabled (or not homed), the puase.g and resume.g programs are not being run when I press the pause or resume button on the DWC window. When I home both axes (which defeats the purpose of what I am trying to do), the pause.g and resume.g programs are run as needed.
@Phaedrux @dc42
Any help with this? I have seen other people face similar problem in other discussions. -
@anagh the 3.5 development branch of RRF includes an anti-collision feature. See https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m597-collision-avoidance. Would this meet your requirements?
-
@dc42 Unfortunately, this will not be useful for what I want to do. Both the axes I have are rotary axes. They rotate between 0 and 360 deg. If axis A is not being used (it will be in 0 deg position) and B will move between 0 and 360 deg. As long as A remains in 0 deg position, it is safe for B to move its full range of motion. Same for the vice-versa case.
This is the type of configuration I have. -
@dc42 any suggestions on how to get around the problem of pause.g and resume.g not being executed when one axis is disabled?