Long time no update! I've made many improvements to this machine since its original construction, greatly improving precision, reliability, and ease of use.
1. Added a 4010 fan blowing on the stepper drivers. I was worried they wouldn't last very long being asked to drive these beefy NEMA23 motors, but apparently my fears were unfounded. The drivers stay cool with the fan.
2. Replaced the 3D printed cranks with a two-piece metal design which allows me to apply tension to the ball screws after tightening the set screw, improving backlash (about 6 micrometers now, which is quite small but still needs to be compensated for)
3. My 3D printed stepper/ball screw couplers kept wiggling their set screws loose, so I replaced them with Chinese spiral-cut flex couplers. This involved replacing the original ball screws with the kind that have machined ends, which I hack sawed so there's only about 2cm length of the 10mm diameter machined end left. I may change again to the oldham coupling style, because the flexibility may be the source of my remaining backlash.
4. Added pause/resume pushbuttons (wish I'd known how to do this right off the bat, as they are essential for safe operation when the computer is on the other side of the room)
5. Added DIP switches connected to the enable pin on each stepper controller so I can switch axes off individually to move them manually.
6. Added an LED connected to the spindle, and a "wand" connected to 5V with a resistor. By touching the wand to the bed, the LED will light up when the tool makes contact with the workpiece, allowing for quick zeroing of the Z position.
7. Added vernier dials to the axes (printed on laser printer transparency film and painted on the back with white acrylic) so I can do precise work in manual mode, and for setting up CNC work because the motors jump to the nearest full step position when switched on. Now I can zero the dial, switch on the motor, and jog it back to exactly where it was.
8. The tool would wobble slightly in the Y direction with each turn of the X ballscrew, so I replaced the X rails with a big high quality rail I found cheap on ebay. That made no difference, so then I put one of the MGN12 rails on the other side of the spindle block, which solved the problem. In hindsight, simply adding a third MGN12 would have worked, but the big rail certainly doesn't hurt.
9. The spindle has been through several revisions. Chinese ER11 chucks and collets have terrible runout, so I bought a good chuck from Shars. However it has a 1/2" shaft, and there was no way to adapt the 5010 motor to turn it directly so I had to use a belt drive. I used that for a long time without issue, but recently modified a Racerstar BR4114 to turn the 1/2" shaft directly, getting back to my original vision for the machine. It ended up being unbalanced so I taped a small steel rod to it, but hopefully I can figure out the actual source of the imbalance and fix it properly.
I had a lot of trouble with spindle bearings. Lessons learned:
1. Nobody makes 1/2" angular contact bearings, and nobody makes a high quality straight shank ER11 chuck that fits available angular contact bearings.
2. All radial ball bearings have a bit of wobble in one direction at some point in their rotation.
3. Small bearings are no good, even if you buy expensive ones.
4. It's very difficult to mill bearing pockets in opposite ends of the spindle block and have them come out perfectly concentric.
Currently I have a precision milled pocket in the bottom of the spindle block with two (or was it three?) big bearings, and an oversize pocket in the top of the block where I glued two more big bearings in with epoxy in the hopes of creating a perfectly aligned pocket. But it doesn't seem to have worked, because the spindle gets hot after running at high speed for a while. Probably will kill the bearings eventually, but they've put up with it for a good while now and still no vibration troubles. I need to buy a long reach 1/4" end mill and bore a hole all the way through the block from one side. Or better yet build a lathe and do it with that.