Surely, if you’re reading this website you’ve teased the thought of building your own 3D printer. I certainly did. But from my years of repeated rebuilds of my homebrew laser cutter, I learned one thing: machine design is hard, and parts cost money. Rather than jump the gun and start iterating on a few machine builds like I’ve done before, I thought I’d try to tease out the founding principles of what makes a rock-solid machine. Along the way, I discovered this book: Exact Constraint: Machine Design Using Kinematic Principles by Douglass L. Blanding.
This book is a casual but thorough introduction to the design of machines using the method of exact constraint. This methodology invites us to carefully assess how parts connect and move relative to each other. Rather than exclusively relying on precision parts, like linear guides or bearings, to limit a machine’s degrees of freedom, this book shows us a means of restricting degrees of freedom by looking at the basic kinematic connections between parts. By doing so, we can save ourselves cost by using precision rails and bearings only in the places where absolutely necessary.
While this promise might seem abstract, consider the movements made by a 3D printer. Many styles of this machine rely on motor-driven movement along three orthogonal axes: X, Y, and Z. We usually restrict individual motor movement to a single axis by constraining it using a precision part, like a linear rod or rail. However, the details of how we physically constrain the motor’s movements using these parts is a non-trivial task. Overconstrain the axis, and it will either bind or wiggle. Underconstrain it, and it may translate or twist in unwanted directions. Properly constraining a machine’s degrees of freedom is a fundamental aspect of building a solid machine. This is the core subject of the book: how to join these precision parts together in a way that leads to precision movement only in the directions that we want them.
Part of what makes this book so fantastic is that it makes no heavy expectations about prior knowledge to pick up the basics, although be prepared to draw some diagrams. Concepts are unfolded in a generous step-by-step fashion with well-diagrammed examples. As you progress, the training wheels come loose, and examples become less-heavily decorated with annotations. In this sense, the book is extremely coherent as subsequent chapters build off ideas from the previous. While this may sound daunting, don’t fret! The entire book is only about 140 pages in length.
These days, it’s common among us hackers to load a stepper motor with forces in-line with their shaft–especially when we couple them to leadscrews or worm gears. Unfortunately, steppers aren’t really intended for this sort of loading, and doing so with high forces can destroy the motor. Fear not, though. If you find yourself in this situation, [Voind Robot] has the solution for you with a dead-simple-yet-dead-effective upgrade to get your steppers tackling axial loads without issue.
In [Voind Robot’s] case, they started with a worm-gear-drive on a robot arm. In their circumstances, moving the arm could put tremendous axial loads onto the stepper shaft through the worm–as much as 30 Newtons. Such loads could easily destroy the internal stepper motor bearings in a short time, so they opted for some double-sided reinforcement. To alleviate the problem, the introduced two thrust bearings, one on either side of the shaft. These thrust bearings do the work of redirecting the force off the shaft and directly onto the motor casing, a much more rigid place to apply such loads.
This trick is dead simple, and it’s actually over five years old. Nevertheless, it’s still incredibly relevant today for any 3D printer builder who’s considering coupling a leadscrew to a stepper motor for their Z-axis. There, a single thrust bearing could take out any axial play and lead to an overall rigid build. We love simple machine-design nuggets of wisdom like these. If you’re looking for more printer-design tricks, look no further than [Moritz’s] Workhorse Printer article.
Did you think your printer stayed the same size when it heated up? Well, think again! According to [Mark’s] calculations, when heated, the bed can expand by as much as half a millimeter in the x/y direction. While x/y deformation seems like something we can ignore, that’s not always true. If our bed is rigidly fixed in place, then that change in dimension will only result in a warped bed as it tries to make space for itself.
Don’t give up yet though. As sinister as this problem may seem, [Mark] introduces a classic-but-well-implemented solution: and adjustable kinematic coupling. The kinematic coupling holds the bed at the minimum number of points to keep it rigid while exposing thumbscrews to dial in a level bed. What’s special about this technique is that the coupling holds the bed perfectly rigid whilst allowing it to thermally expand!
This is the beauty of “exact constraint” design. Parts are held together only by the minimum number of points needed to guarantee a specific relationship. Here that relationship is coplanarity between the the nozzle’s x/y plane and the bed. Even when the bed expands this relationship holds. Now that is magic.
With such a flood of 3D printed parts on the market, building a printer has never been easier! Nevertheless, it’s easy to pin ourselves into a corner re-tuning a poor design that skips a foundation on the base principles. If you’re curious about more of these principles behind 3D printer design, check out [Mark’s] thorough walkthrough on the CoreXY design.
At this point, the internet is crawling with butt-kicking homebrew 3D printers made with extruded profiles, but it’s easy to underestimate the difficulty in getting there. Sure, most vendors sell a suite of interlocking connectors, but how well do these structural framing systems actually fare when put to the task of handling a build with sub-millimeter tolerances?
I’ve been playing around with these parts for about two years. What I’ve found is that, yes, precise and accurate results are possible. Nevertheless, those results came to me after I failed and–dry, rinse, repeat–failed again! Only after I understood the limits of both the materials and assembly processes was I able to deliver square, dimensionally accurate gantries that could carry a laser beam around a half-square-meter workbed. That said, I wrote a quick guide to taming these beasts. Who are they? What flavors do they come in? How do we achieve those precision results? Dear reader, read on.
A while back I wrote a piece titled, “It’s Time the Software People and Mechanical People Sat Down and Had a Talk“. It was mostly a reaction to what I believe to be a growing problem in the hacker community. Bad mechanical designs get passed on by what is essentially digital word of mouth. A sort of mythology grows around these bad designs, and they start to separate from science. Rather than combat this, people tend to defend them much like one would defend a favorite band or a painting. This comes out of various ignorance, which were covered in more detail in the original article.
There was an excellent discussion in the comments, which reaffirmed why I like writing for Hackaday so much. You guys seriously rock. After reading through the comments and thinking about it, some of my views have changed. Some have stayed the same.
It has nothing to do with software guys.
I definitely made a cognitive error. I think a lot of people who get into hardware hacking from the hobby world have a beginning in software. It makes sense, they’re already reading blogs like this one. Maybe they buy an Arduino and start messing around. It’s not long before they buy a 3D printer, and then naturally want to contribute back.
Since a larger portion of amateur mechanical designers come from software, it would make sense that when I had a bad interaction with someone over a design critique, they would be end up coming at it from a software perspective. So with a sample size too small, that didn’t fully take into account my positive interactions along with the negative ones, I made a false generalization. Sorry. When I sat down to think about it, I could easily have written an article titled, “It’s time the amateur mechanical designers and the professionals had a talk.” with the same point at the end.
Though, the part about hardware costs still applies.
I started out rather aggressively by stating that software people don’t understand the cost of physical things. I would, change that to: “anyone who hasn’t designed a physical product from napkin to market doesn’t understand the cost of things.”
With the advances in rapid prototyping, there’s been a huge influx of people in the physical realm of hacking. While my overall view of this development is positive, I’ve noticed a schism forming in the community. I’m going to have to call a group out. I think it stems from a fundamental refusal of software folks to change their ways of thinking to some of the real aspects of working in the physical realm, so-to-speak. The problem, I think, comes down to three things: dismissal of cost, favoring modularity over understanding, and a resulting insistence that there’s nothing to learn.
So you’re looking to buy your first 3D printer, and your index finger is quivering over that 300 US Dollar printer on Amazon.com. Stop! You’re about to have a bad time. 3D printing has come a long way, but most 3D printers are designed through witchcraft, legends, and tall tales rather than any rigorous engineering process. I would say most 3D printer designs are either just plain bad, or designed by a team of Chinese engineers applying all their ingenuity to cost cutting. There are a few that are well designed, and there is a comparatively higher price tag attached.
I’ll start by going through some of the myths and legends that show up in 3D printers. After that I’ll go through some of the common, mostly gimmick, features that typically hinder your printer’s ability, rather than adding any useful function. Next I’ll go onto the things that will actually make your printer better. Finally, I’ll add some special consideration if you’re a beginner buying your first printer.