Currently available for freelance and full-time roles in the experiential media space!
Jason Webb

CNC machine update #2: design phase in full swing, many interesting challenges identified

February 2012

The last couple weeks have taught me a couple of very important and interesting lessons about CNC machinery. Most important of which is that even machines that are relatively simple, i.e. contain fewer parts, require a great deal of mechanical engineering and design consideration. Even things that appear simple must be thought about and analyzed beyond typical hobbyist levels. For example, you could point to a location on two boards on a drawing and say, “a 3/8″ hole should go here.” However, if either hole is off-center by even 1/1000th of an inch, or the holes are perfectly perpendicular to the material, the machine may not work!

At first, this induced a level of stress for me, and I began to feel somewhat overwhelmed with the project. However, I kept doing research, asking questions and picking through various plans and articles from around the web, and started to focus on the project in a different way. Rather than looking at the entire machine holistically and trying to forcefully impose strict requirements upon it (such as the work area size and desired accuracy), I instead decided to consider my initial specifications more like goals. I’ve realized that metrics such as accuracy are complex properties of CNC machines, rather than simple variables. Put another way, accuracy is a property that emerges from a complete system, rather than a property that can be strictly controlled from the beginning. Factors that contribute to accuracy are: stepper motor specifications, drive system characteristics (including leadscrew / nut quality and mechanical slop) and overall structural integrity.

Focusing on sub-systems, keeping an eye on overall design

The more I learn about CNC technology, the more I understand how any complex system can be broken down into a set of discrete sub-systems, each of which can be designed and developed individually (such the beauty of engineering). Each sub-system has certain relationships that constrain properties of other sub-systems, and I suspect that I may be able to create a variety of conceptual diagrams detailing and relating the sub-systems of my CNC machine, similar to how tables and databases can be described using UML. So far, I’ve identified the following sub-systems:

  • X axis: responsible for left-right motion, moves the Z-axis/toolhead assembly horizontally across the machine.
  • Y axis: responsible for forward-back motion of workarea platform, has no direct mechanical coupling with X or Z axes.
  • Z axis: responsible for moving the modular toolhead assembly up and down, perpendicular to work surface.
  • Electronics control system (hardware): circuitry for controlling the various stepper motors and other IO of the machine. Will likely consist of an Arduino compatible core with a G-code interpreter on-board.
  • Software control system: a PC with the full CAD/CAM files of the target design loaded onto it, which can then stream G-code to the electronics system for processing. Thinking of using standard 3D modeling software like Blender and Cinema4D to output models, which can be loaded into ReplicatorG and streamed to the CNC machine.

To me, the electronics and software can be developed independently of the mechanical side of things, or at least don’t need to be tackled at the same time.

From my research and design work so far, I’ve realized that the best place to start would be the Y axis. This is because the X axis is identical to the Y axis in it’s mechanical design, but will also be responsible for moving the Z axis around. And because the Z axis is mechanically decoupled from both the X and Y axes, it can be tackled after they have been built. Logically, this leaves the Y axis left as the simplest and seemingly most productive use of my time right now.

Once I’ve designed the Y axis, I can replicate the design methodologies into the creation of the X axis, which will inform the construction of the Z axis. From my perspective, the Y axis can be completely designed and fabricated before anything else, while the other sub-systems can be built around it iteratively. Best case scenario: the Y axis design works and the X and Z axes can be built around it easily. Worst case scenario: the Y axis doesn’t work and/or imposes impractical constraints on the other axes, making them difficult (or impossible) to fabricate easily. In this case, the ‘failed’ Y axis will be a proof-of-concept prototype meant to be built upon, and seen as an important hands-on practical experiment for me to learn from. Either way, there will be much to learn, and I’m very excited to keep going!

Pressing difficulties and next steps

Right now, the main issue that I am working out is how to create a linear drive system using leadscrews that is 1) affordable, 2) reasonable to execute and 3) reasonably cheap. Seasoned engineers / CNC experts will say that these three properties tend to behave more as trade-offs, but I feel that I can come up with something that works for me. The original Mantis 9.1 design calls for fabricating leadscrew nuts using raw plastic tubing and an $80 tap. However, this makes me somewhat nervous and is relatively difficult for me to do with my available resources. Furthermore, I’m a bit concerned about slop and wear using this method. Therefore, I am likely going to be substituting the leadscrews and home-made drive nuts from the original Mantis design with a matched leadscrew/nut assembly, though the costs do increase somewhat. I will be trying to save money, but only in areas that fit into my shop-skill comfort zone.

Once the drive system is all figured out, I will re-evaluate my CAD designs and sketches to see if any adjustments need to be made to accommodate the chosen assembly.

Next, I will be looking around town to see if I can find anyone who has a laser cutter, or similar CNC machine, to precisely fabricate the wooden structure of my Y axis. However, since this can cost a bit for commercial uses, I’m hoping that I can find a machine and sympathetic operator that would be willing to work with me on the pricing. Otherwise, I’m going to need to spend valuable time sharpening my shop skills to the point that I can fabricate the pieces myself; something that I’m interested in doing, but not if it compromises the timeline of the project.