Because of the weight of my Z-axis and the relative ease of its motion, when the Z-axis motor is powered down the bed has a tendency to slip and fall down.
Obviously leaving the motor powered solves this problem, but that is not ideal.
I am looking for some kind of solution that passively stops the Z-axis motor from slipping; some kind of brake or clutch. Ideally I'm looking for something that I can add onto my current motors and that I could print myself. Commercial solutions (preferably ones that could be replicated with a 3D printer) would also make valid answers.
The simple way to do this is to use a self-locking screw pitch. Pretty much any single-start thread using a sliding nut cannot be back-driven so the load will not fall. Normal 8x8 trapezoidal thread screws will easily back-drive because of the steep pitch.
Likewise, a worm drive between the motor and Z stage will hold the load. You would want to switch from screws to belts for the main motion stage in that case though, to avoid having too much total gear reduction.
Both of these solutions will limit your maximum Z speed, of course. But they're simple and reliable. Clutches and brakes add a lot of complexity and must be actuated somehow. Designers who want the load to stay suspended almost always simply use single-start screws.