Hi
I am guessing the solution to this will involve tweaking something with our Mesa 7i94, if not apologies for the mis-filing of topic / board!
I have an issue with brake delay when powering off STMBL drives linked to a Mesa 7i94, so that our rather heavy axis falls about 80mm before the brake engages. As this could end up mashing into our limit switch if someone forgets to zero the axis, as well as possibly be a pain in between runs, I have been thinking of ways to get around it.
- Is to somehow modify the "power off" script in AXIS, to engage brake first, but this looks to be quite a complex task to modify the code.
- Is to somehow introduce a delay to the motors to prioritise brake, but this again would be major surgery.
- Is to modify the STMBL firmware code, which looks easier than the above but I would rather avoid due to unknown side effects.
- Is a workaround (and probably the easiest for now) so we can engage the brake manually before powering off. This is the one I have been focusing on, but ran into some challenges:
I want to use a smart serial output as a driver for the brake override. Currently I have the built-in STMBL "brake off with motors on / brake on with motors off or estop", behaviour, but I also have a manual brake release, which is a little check box put in with pyvcp in AXIS.
The two are mutually exclusive i.e. if the motors are on and the brake is off, clicking the manual brake button does nothing. Equally if I take the brake off with manual release, The brake will not re-engage when I power the machine down. So it is not possible to engage the brake whilst the machine is on.
Speaking with Rene and the guys, they suggested editing the STMBL onboard profile with the line:
Code:
fault0.brake_release = sserial0.out0
on top of the usual
Code:
io0.out0 = fault0.mot_brake
With the latter assigning brake operation to the first STMBL output, and the brake override being assigned to smart serial out 0. However when looking in HAL config whilst LCNC is running, I can only see 5 pins, none of which is sserial0.out0, and which do not seem to be reassignable to some other duty (I'm afraid I don't have access to the machine at the moment and cannot remember the names of the pins).
I'm guessing the mesa generates the sserial pins. Is there a way to create new output pins for sserial, or am I just missing some "hidden" sserial pins not showing up in hal config? I would really like to avoid reflashing bit files etc but if needs be it can be done.
Cheers!