I’ve started constructing the basic electronics for the CNC machine I’m working on. It’s going to be a cheap machine made with what I have on hand, so accuracy won’t be great, but it should be an interesting experience. The leadscrews I’m using are less than optimal, requiring much software backlash compensation, but should work well enough for basic CNC work. Some early build photos are included below.
All communication for motor controllers (PWM), encoders, and limit switches is being done over CAT5 cable, just because it’s pluggable, easy to use, and longer or shorter cables can be swapped in. Currently it looks like I can live with 1 CAT5 cable per axis.
For motor controllers, I’m using Victor 883’s. The controllers are currently running at 12v, but will run at 24v once I get some appropriate power supplies. These controllers weren’t intended for precise positioning and motion control (they are RC-style, meant for competitive robotics), but they perform quite well after some HAL PWM adjustments to EMC2. After some PID tuning, accuracy has increased as well.
Speaking of which, I am using EMC2 to control my CNC machine. Communication is all over the parallel port, saving me a ton of cash that would otherwise be spent on an FPGA card (although I’ll be needing another parallel port PCI card). EMC2 provides a ton of functionality and, unlike all other software of its type, it allows low-level HAL descriptors for motor controllers, encoders, and any other hardware. This allows you to move some complexity from your hardware into your software, or to modify the software to use old or unsupported hardware.
I’ll be posting more information on the project as the summer progresses, although I expect progress to be quite slow.