I know that a few people have had an issue with their Z-20 slider creeping down (a.k.a. ‘back-driving’ the screw) from the weight of a hefty spindle with motor power off. I do not have that issue, as my spindle is a relatively small BLDC spindle. But I have given it thought just the same.
Anyone who has played much with stepper motors is familiar with how the motor turns without much resistance with no power hooked up. However, if you short out either of the 2 motor coils, A or B, makes no difference, the motor suddenly becomes very resistant to turning. Probably enough to prevent the gravity back-driving, I’m guessing.
So how do you accomplish this? With the e-stop button. There are 3 contacts on a typical e-stop button, and normally only one set is used. With the button pulled out, it creates a NC condition between the contacts. The other contact is now at a NO condition. With the button pushed in, it toggles these NC/NO conditions.
I can’t speak for Buildbotics, but this is the normal ‘run’ condition on my machine with an Acorn controller and Gecko G540 driver. It’s looking for that ‘closed’ condition that applies holding torque to the motors.
If one were to splice into the Z wire and create a NC condition (button pushed in) across a pair of coil wires, it would effectively lock the Z axis motor when with the button pushed in. ‘Resetting’ the button (out position) would remove this connection at the same time holding torque is being applied to the motor.
Disclaimer: this is only a conceptual idea. My controller has no voltage applied to the e-stop button, so this would be safe to do in my case. Again, I can’t speak for the Buildbotics or Masso controllers. This is just an idea that would remove the need for a special motor with an active brake, and should work on virtually any stepper motor.