Zen Toolworks 7×7 3D

I’ve been wanting to get back into doing some CNC stuff, in particular the various RepRap-like 3D printing projects. Rather than building from scratch I decided I’d like to start with an inexpensive platform.

I poked around a bit and found the Zen Toolworks 7×7 machine is about right for price and size, and they’ve recently released a variant intended for 3D printing. It is the same as the standard 7×7, but has an extended height gantry that allows about 5 inches of table clearance.
I assembled the machine, but made the mistake of installing the Z axis plate the wrong way around, so that it hangs down into the workspace:
Oops. Obviously there isn’t much table clearance here. It only takes a few minutes to remove and flip it.
I also built some Linisteppers that I intended to run the machine (that’s them at the lower right in the image above). Unfortunately Linisteppers won’t run the 4 wire NEMA 17 motors that come with the machine. I have some Pololu drivers coming, but I didn’t want to wait around to get the machine moving, so I pulled some old 6 wire steppers from the junkbox (the blue motors on the mill table in the image). These are NEMA 23 though, so I needed to adapt them to the machine.
Since I don’t yet have a 3D printer that I could use to whip up some mounting and coupling adapters, I went with something lower tech:
The shaft coupler is made of 1/4″ I.D. polyethylene tubing, with a smaller diameter piece over the smaller shaft. I went with polyethylene instead of vinyl because it is more ridged, but it’s also more slippery, so there might be some potential for loss of position during sudden acceleration. It’s all held down with little worm gear hose clamps.
It’s functional, but not nearly as pretty as the couplers supplied with the motor.
I’m putting off boxing up the drivers and moving the machine to it’s home in the basement until I know what the final configuration will be. I want to compare the Pololu drivers to the Linisteppers before I decide what will be running the machine. The Pololu drivers will run the original motors, which from the specs appear to be about the same as these old salvage motors, and they are about a 10th the size of the Linisteppers, but the Linisteppers have some interesting points, and with the PIC MCU I have the option of doing some interesting things with them.
At this point I’ve got a Linistepper hooked up to an axis and I’m playing with driving it with an Arduino board. The Arduino has built-in USB, so I can send single-axis movement commands from the PC that the Arduino turns into step and direction commands to send to the Linistepper. Simple moves with no velocity ramping work nicely, and I can start at about 200 RPM (about 10IPM). That’s actually not terrible, but I’m sure it can do a lot better with velocity ramping.
I’m writing some Arduino code to do velocity ramping based on the math from this EETimes article. Once I have that working for linear velocity ramps (fixed acceleration), I want to set it up with a table of acceleration values to see if a non-linear ramp (acceleration inversely proportional to velocity) improves the performance any more.
I had planned on running the machine with an old PC with a parallel port, but if I can get the Arduino working the way I want (2 axes per Arduino), and if I can get well coordinated motions with two Arduinos, I might just go with a USB controlled machine using 2 Arduinos as stepper driver drivers.