Monday, February 9, 2009
Ball Screws and Stepper Drives
The ball screw conversion of all three axes is complete. For this I used Nook ball screws. The 9x20 lathe was quite a trooper when it came to machining the ball screws and bearing/pulley mount ends. I was also able to make nice bearing blocks for the angular contact bearings and, using the equipment I have, there is no measurable lash in the bearing setup. Currently I am only using one nut on each ball screw, which results in about 0.005" of backlash. I'd like to get that down to 0.001" - 0.000" if possible. I bought two nuts for each axis, and intend to make my own preload assembly with belville washers.
My method for machining the ball screw ends is a little different than most. Rather than try to hold tight tolerances while machining that super hard ball screw material, I took a different approach. I drilled the end of each length of ball screw and tapped it for 5/16 threads. I then took some precision 12MM rod (the bore diameter for my angular contact bearings) and turned that as necessary and completed it with male 5/16 threads to screw into the ball screw. I locked them together using red Loctite and that has worked quite well so far, with the exception of the Z-axis. I'm guessing the forces on the Z-axis are too severe and cause the threads to loosen up. I've though about drilling and pinning the threads, but I'll probably just use some JB weld in place of the Loctite.
So, the mechanical stuff has been pretty easy. A bit tedious at times, but a learning experience and quite rewarding in the end. The part that has had me swearing and scratching my head are the stepper drives!
As I mentioned in an earlier post, the microcontrollers on the drives were rebooting randomly and causing lost steps and other weirdness. I thought I had that licked, but the problem has cropped up again. I've tried a few things to remedy the problem, but in the end I have to admit that I'm giving up on my own stepper driver design. I've ordered three Gecko G251's and I hope to put the controls chapter of the CNC to bed once and for all.
With regards to the controls, there have been some minor successes. I have upgraded the PC to Ubuntu 8.04 and freshly installed EMC2. The system seems much more responsive overall. I've also got a Logitech game controller integrated with the system so that I can jog the axes at variable rates using the analog direction sticks on the game controller. Also, I've gutted the X3's original electronics and wired up everything to the controls cabinet. The original green "Power" light comes on when the system powers up and the "Fault" light extinguishes when EMC is ready to control the mill. Also, the factory E-STOP button sends an E-STOP input to EMC. That will be improved in the near future to also send a signal to the "DISABLE" input on the Gecko G251's as well as short (activate) the "inhibit" input on the spindle motor drive.
However, the recent achievement that I'm most pleased with is the mills new "stand". The wobbly wood platform it was sitting on just wasn't going to cut it and was making me nervous. Since I had to disassemble the mill to mount the ball screw hardware, I decided to grow my welding skills. I've created an extremely rigid stand for it using mostly angle iron. It not only easily supports the mill, but neatly houses the controls cabinet in a new horizontal orientation. It is rigid enough that I can grab the stand and drag it around the shop to get to the different areas of the mill without any flex. That's with almost 400 lbs of cast iron and probably another 75 lbs of controls and cabinet.
In addition to the items mentioned above, also on the to-do list is coolant plumbing. Fortunately there will be no complex engineering there! I'll simply be reusing parts from my old mill.