Now, I know there is no shortage of plans and designs available for DIY 3D printers contributed to by a community of makers, hackers, hobbyists, etc., I've decided not to go with an existing design. My schooling focused on robotic kinematics and control as well as mechanical design. It seems a shame not to put that learning to good use. Perhaps I'll blaze some new trails in the process.
I plan to break away from the ubiquitous rep-rap concept. While it's a cool idea on paper to have a self replicating machine, I don't think that 3D printed parts have the accuracy or rigidity required to be used as primary components in this type of a machine. Any inaccuracies introduced by geometry, sloppy fit or flexing is reflected or amplified in the printed part. Instead, I'll be using a mixture of off-the-shelf and machined components. Of course it will end up costing more, but it's a trade off I'm willing to make. I do have a goal to keep it below $1,000. Compared to some of the higher end kits available ($2,200 for Makerbot Replicator 2, $1,600 for MendelMax 2.0) it isn't too bad.
Additionally, and I expect this to be somewhat controversial, I won't be using any stepper motors on this printer. I know they are the de facto motor for DIY printers, but something about open loop control on a robot just doesn't sit well with me. Instead, I'll be using brushless DC motors with full closed loop control for (hopefully) greater speed and accuracy. Ideally, I will be able to program them with an operational space controller, which basically means that each motor will be aware of all the others, and if one gets snagged or otherwise held up, the others will react to it so as not cause an error in position.
In addition to improved control schemes, going with DC motors will allow for smaller, lighter motors in place of their clunky stepper counterparts. This will be most beneficial for the filament extruder--keeping the weight of the moving head as low as possible will improve both speed and accuracy. Since stepper motors do not have any feedback, they rely on high torque output to ensure that the actual number of steps achieved matched the commanded number of steps. In essence, you have a severely oversized motor. Going with a DC motor allows for better use of available resources, but it does come with its own share of drawbacks: cost and complexity. But again, building is more than half the fun, so why not make it exciting?
For the printer design, I decided to go with a delta platform configuration (like this). Aside from being entirely captivating to watch, this platform does offer some advantages over the basic cartesian (XYZ) platform:
- The printed part is stationary at all times--no need to limit speed or build height to keep the part stable.
- The three axes each have a more fluid motion, minimizing the effects of taking sharp corners.
- Accuracy is greatest at the center of the build platform, so small parts can have tighter tolerances.
- It looks freakin' awesome.
Of course, there's the whole complexity thing again. But as it turns out, the inverse kinematics (that is, what axis positions are needed to give the desired XYZ coordinates?) aren't that difficult, so basic control won't be much, if any, harder than a cartesian robot. The forward kinematics (my axis positions are such, what are my XYZ coordinates?), required for the operational space controller mentioned above, are more involved and will take a fair amount of work to get through. But that's the fun part.
As for electronics, I haven't given that much thought at this point. For the brushless motors I know I'll need different motor controllers than are used on any of readily available printer plans. A basic ESC won't cut it since those are designed for speed control, not position control, so a custom control board may come into the mix. For the processing I'll probably need something with quite a lot more umph than an Arduino. An Arduino Due would probably work in terms of processing power, but I'd like more external interrupts than that one has to offer. The Maple Mini from LeafLabs looks promising.... We shall see.
So that's my high level plan. It's going to be a complex project, and will probably take a year or two to complete. I'll try to post updates of any progress I make as it happens. Wish me luck!
Posts in this series: