CNC machine update #3: Y axis design, first iteration

Posted on February 17, 2012 in CNC

In my previous post about my CNC machine project, I identified the next logical step to take in this project as the design and construction of the Y axis. By focusing on this specific axis, a repeatable approach can be developed that can be built upon in the creation of the X and Z axes. Since each axis will share the same essential drive system and fundamental mechanical design, it seemed best to focus on the smallest discrete sub-system of the CNC machine, which to me seems to be the Y axis.

However, with a project like this, one does not just wing it and go straight to the workshop. Very detailed plans and reasoning has to be carried out, because we’re dealing with a precision machine, which benefits from as much detail as possible. With that in mind, I’ve set out to create detailed plans of the Y axis of my CNC machine, so that I waste as little money as possible messing up (though that is, to some degree, unavoidable). For me, the best part about this project isn’t the end product, it’s the journey. In this update, I’ve included 2D CAD drawings, 3D mockups and explanations of the various bits and pieces used in the Y axis – believe me, a great deal of time has been spent on researching and discussing the details with people over the last few weeks / month!

IMPORTANT NOTE: Please be aware that this is my first ever attempt at CNC machine design, 2D CAD and workshop / machining techniques. In future posts, I will be attempting to actually build this design and make notes about what worked and what didn’t, so I can’t guarantee the ‘correctness’ of this design. And for all you seasoned CNC pros; yes, I am aware that there are many, many other ways to do nearly everything in this project. I’m trying to balance cost and labor to create a machine that works for me, and learn about mechanical engineering along the way! I expect to get a lot of things wrong, so feel free to leave me suggestions in the comments!

Drive system overview

In any CNC machine, several key decisions have to be made that shape many important properties later on. One of the important decisions early on is what kind of drive system you want to use, and can get pretty complex if you don’t know anything about mechanical engineering (like me). So far, I’ve identified three common types of drive systems seen in other CNC machines, though I’m sure there are more. Very large systems like CNC routers tend to use chains and sprockets to move platforms around. Smaller systems, like the MakerBot Industries’ Thing-O-Matic use toothed belts and pulleys. Another alternative, which I’ll be relying on, is the use of a precision-machined leadscrew and nut assembly to achieve the same result.

Leadscrews and nuts explained
Imagine that you have a small bolt with a nut on it in your hand. As you turn the nut, the bolt stays put and the nut moves up and down. As you turn the bolt, the nut stays in place and the bolt moves through it. Now imagine that you glued that nut to a piece of a cardboard with weights piled on it. As you rotate the bolt, the cardboard (with the weights) moves forward and back on the bolt. In this scenario, the bolt acts as a leadscrew.

  • leadscrew: a long section of precision-machined threaded rod, usually much more precise than the typical threaded rod you might buy at a hardware store. More information at the leadscrew article on Wikipedia.
  • leadscrew nut: a precision-machined nut that can be threaded onto a matching leadscrew with very little slop (gaps). This can be as simple as a hex nut, or include features like anti-backlash and locking.

Use of multiple leadscrew nuts
Manufacturing imprecision can mean that the mating of the leadscrew and leadscrew nut is not perfect, resulting in a tiny amount of unpredictable and unwanted motion (sometimes called backlash or slop). If I spend more money, I can purchase more quality components and reduce potential problems, but I’m trying to replicate systems proven by the Mantis 9.1 project, and upgrade when proven necessary. The Mantis 9.1 project used a single leadscrew and a single leadscrew hex nut per axis, which is where I started in my design. However, I realized that because my Y axis is quite a bit larger than the original Mantis’, I felt it might be a good idea to use two leadscrews instead of just one. Not only does this provide a more even application of linear force, it should also help account for some amount of backlash in the hex nuts.

Precision rods for further linear motion constraint
Using just a leadscew and a nut alone to move a platform has significant problems, however. What happens if the weights you place on the cardboard platform are shifted to one side; where does that applied force go? Now, the cardboard platform will tend to want to rotate around the leadscrew, causing a tiny amount of unwanted movement (called backlash).

A common method of preventing the platform to move in this way is to use two precision rods mounted perfectly parallel to each other. The platform is then attached, using linear bearings like sintered bushings, to these two precision rods, allowing it to slide effortlessly along the axis of motion with absolutely zero unwanted rotational movement. In other words, the platform is really riding on these two rods, but is being pushing forward and back by the leadscrew / nut assembly.

Stepper motors and shaft couplings
To provide the rotational motive force for the leadscrew, some kind of motor is needed. Typically, stepper motors are the ideal choice due to their precision and torque capabilities. In this machine, I plan on using NEMA 17 stepper motors, similar to those used in the original Mantis 9.1 project. I haven’t worked out exactly which motors to get yet, but I can figure that out at a later date; the important thing is that they will be in the NEMA 17 package.

Attaching the leadscrew to the shaft of the stepper motor presents some interesting challenges, and is another area that I feel a little uncomfortable with following the Mantis 9.1 plans. In the Mantis project, a hole is bored into the end of the leadscrew, which is then epoxied onto the stepper motor. However, this makes me a bit nervous, because it means that both the leadscrew and the stepper motor will be rendered useless if the procedure is done incorrectly (which I completely expect to happen). In this case, I plan to spend just a little extra money to obtain bona fide shaft couplings to non-permanently, but securely, connect the leadscrew to the stepper motor.

Ball bearing for friction-free axial support
At first, I was planning to drill a hole in the MDO of the back panel, directly opposite of the stepper motor, so that the leadscrew could poke out a little bit. However, I realized that this would introduce a small amount of friction as the leadscrew spins against the wood, causing a tiny amount of radially drag as it spins, but more importantly, wearing down either the leadscrew or wood (or both) over time. The fix is a simple – just drop a ball bearing into that hole and let the leadscrew spin freely!

Construction details

Structural material
Following the proven methods outlined by the Mantis 9.1 project, I will be constructing all structural elements out of 1/2″ MDO, which should provide a reasonable degree of integrity and rigidity for it’s cost. The reason why MDO is a particularly attractive material is that it is impregnated with resin, which means that it is much more rigid and less prone to flaking or chipping than OSB or even MDF. MDF may seem like a suitable substitution, but my intuition tells me that it won’t work as well, due to it’s weaker structure. When I rip the boards into pieces, I need them to be extremely close to what I want, and not have edge chipping or roughness.

Match drilling
A very important construction note that the original Mantis 9.1 author makes is that some holes must match up with extreme accuracy between boards. For example, the holes that the precision rods fit into must be as close to identical as possible on both ends of the rod, in order to keep them level and parallel. In fact, the author cites his failure to do this correctly as the reason why many previous versions of the Mantis CNC machine failed! He stresses the importance of a technique used in aircraft manufacturing called match drilling, wherein two pieces of an assembly are bolted together and holes are drilled through them both at the same time. This ensures that the hole exists at exactly the same location on each piece.

Epoxy. Lots and lots of epoxy
The original Mantis 9.1 project used epoxy liberally to create rigid bonds between many components of the machine. In many cases, epoxy bonds are used in the Mantis 9.1 project as replacements for more expensive hardware, in which case it makes good sense. However, it seems to me that epoxy is also used to replace relatively cheap parts such as shaft couplings. The more details I learn about my CNC machine, the more I felt like I don’t want to risk ruining important components. I plan to use epoxy to secure / bond components that are very, very cheap, so that if anything goes wrong I can more easily replace or fix it. Right now, I’m planning to use epoxy in the following ways:

  1. Securing the ball bearing to it’s socket.
  2. Securing the moving platform to the four bronze bushings.
  3. Securing the two precision rods into their holes (if they don’t press fit).

Sketches of Y axis plans

Several weeks ago, I felt I had enough of a basic understanding of the Mantis 9.1 project to try sketching out my own plans in my sketchbook. Sometimes I feel like even the best CAD software in the world doesn’t compare to thought processes required when you have to physically manipulate tools like combination squares and pencils to produce each line one by one. For me, there’s an almost meditative quality to doing this, which gets me to thing deeply and rationally about why I’m drawing each line and what it is I’m trying to achieve.

IMPORTANT NOTE: These sketches are not meant to be used as plans, and are lacking some important dimensions and scaling. I only wanted to demonstrate my thought process and work approach.

2D CAD drawings

Although I could probably make a few more sketches and execute my design with no problems, I felt that this project was a fantastic opportunity for me to learn some basic, general 2D CAD skills. There is really no strong practical reason for creating CAD files, other than for the ability to share my exact drawings with other people with as little confusion as possible. Furthermore, as I understand it, these 2D CAD files can be easily used by CNC machines to create the exact cuts from the drawings, which is pretty awesome.

After a little bit of research into different free 2D CAD packages, I settled on DraftSight for my Win7 laptop. I tried out several 2D CAD packages on my primary Ubuntu 10.04 machine, but they all suffered from severe problems. DraftSight was extremely choppy, QCad was outdated and buggy, and everything in general was just plain unpleasant to use. My experiences with DraftSight on Win7 have been fantastic, and I think its safe to say that I will be using it a lot in the future!


NOTE: All hole diameters are exact sizes, and do not account for fit. During fabrication, I may experiment with a slightly smaller drill bit for the precision rod holes, to make the precision rods press fit, but I’m not sure yet if I can do so easily.

3D mockups

Sketches and 2D CAD drawings are invaluable for accurately producing the parts required to construct the system, but one does need to use their imagination to think about how the parts fit together and work as a whole. For this reason, I decided to create the Y axis system in Google Sketchup to get an intuitive idea of what the entire system looks like. To be honest, I originally just wanted to refresh my Sketchup skills, but after creating the model, I realized there are some very practical insights to be gained from doing this.


Note: All dimensions are drawn on separate layers, which you can show/hide using the Window > Layers dialog. Use Camera > Standard Views to jump between the helpful views above, showing and hiding the dimension layers as you want.

Bills of materials

Creating the sketches, CAD drawings and mockups helped me to figure out exactly which components I needed to buy, and which components I could fabricate myself. I’ve compiled two BOMs that should encompass all of the parts I’ll need to built this axis:

Some things are not specific to just the Y axis, and will be used in other axes as well, so I separated them out into a separate BOM here:

These BOMs are subject to change, as parts are sourced. Also, these BOMs do not account for shipping, so be sure to over-estimate the cost if you plan to use them.

Next steps

At this point, the next step is glaringly obvious: buy the materials and get to work! However, this may or may not be as easy as it seems. Since this project is specifically being created for use at my university’s Printmaking lab, and will be somewhat expensive, I’m not at all interested in spending my own money to execute this machine. Therefore, I need to find a funding source at my university to get this project going. This is actually quite difficult at my university, due to the fact that it does not have any engineering programs, and does not have any formal support for project-based learning. In the past, as an undergraduate, my funding sources have been few and far between, and have generally either be piggy-backed onto larger initiatives or been the result of pure luck (such as “The Chair of this department wouldn’t miss $100, send me a parts list in the next week”).

Due to the unpredictability of available funding sources and amounts, this project may not ever happen, or it may get under way next week. Let’s hope I get lucky and get to order parts next few weeks! If it becomes obvious that securing funding will be too significant a difficulty, I will continue to generate designs for the X and Z axes, though I will feel less confident about their ‘correctness’. All future work will rely on the lessons learned at this stage, and could therefore take a variety of forms based on what I discover during fabrication and testing. Wish me luck!