Ok, I’ve been anxious not to stall on this project. Momentum is key! Over the weekend I got all three axis wired up, and I put the electronics in this neat enclosure. Notice the monster heat sink, and the cooling fan.

Last night I finally finished rudimentary software tuning. When I told the Z axis to move 1”, it did so. Since X and Y are configured the same, I could hardly just stop there. All three motors seemed pretty happy, so I decided to try cutting something really simple.
First, I need to mention that the ball screws and nuts that I installed have a relatively high backlash. If I remember, it’s somewhere on the order of .005”. That’s quite a bit. When I cut out a 2” circle, the actual inside diameter was about 1.9”. If you think about the number of direction changes involved with a single axis while cutting a circle, that’s probably about right. Fortunately this can be calibrated and adjusted in software. Later this week a dial indicator should arrive and I’ll use that to measure and adjust for backlash.
Update: No, it isn’t right. I just took a shower after writing that and realized something really funny. 0.1” seemed like a suspiciously accurate error, so I double checked the gcode that I ran. The script I used to generate my circle uses a roughing pass. When I made the above video, I stopped the program after the roughing pass. The roughing pass used a radius of .825. Add on to that 1/2 of the cutter diameter of 1/4” and you get .95 radius. Double that to get diameter and you get a 1.9” circle. I’ll run the whole program tomorrow and see how it does.
In other news, I noticed that the X axis motor was not holding very well. I could grab the coupler and turn it by hand. Some investigation revealed that VREF was way too low on the board, but it’s also turned up all the way. Z and A also seem to have the same problem. I’ll check into it more tomorrow. All in all, things look pretty good so far!