Thursday, January 17, 2013

HPRINT Progress & Recap: Part 1

For the past year and a half or so, I've been working on designing [and in the past several months, building] a personal 3D printer along the lines of the more popular consumer and open-source models on the market.  But before I get into the current state of the project, I'd like to show you how I got there.

Back in the summer of 2011, I had my first introduction to 3D printing by way of a Stratasys Dimension 1200es I used in the course of my internship.  I was immediately hooked on the idea of having my own printer to use on various academic and personal projects.  So, I began looking into what were then the state-of-the-art open source models; after all, I'm a college student: I can't drop $30K on a Dimension printer.  The options at the time boiled down to three major contenders to select from:

  1. MakerBot's Thing-O-Matic
    All in all, a solid not-quite-first effort from MakerBot Industries that used a build surface that moved on the XY plane, with the extruder head moving on Z.  While this is a bit backwards as far as printers go, extruders at the time were very large and the relative size of the prints didn't result in odd effects from changing plate inertia during a long build.
  2. One of the RepRap Project's models
    The original open source 3D printer project focused on making a printer that could print as much of itself as possible.  There were a few designs to pick from at the time, but most seemed a bit too hacked together for my tastes.
  3. The Ultimaker
    Released right around the time I started looking into designing my printer, I was immediately drawn in by its rapid print speed and large print volume.
Using the Ultimaker as a starting point, I began to work on a frame design.  I knew I did not want to use wood; while it is a cheap and fairly robust material for such a project, it is well known that wood distorts due to changes in water content/humidity.  Since 3D printers need to remain very finely calibrated to produce good prints, making a printer out of a material which changes dimensions because of the weather is a bad idea.  Initially, I shied away from using 80/20 in favor of metal or plastic corner blocks and aluminum tubing. Eventually, I came to find that using that approach would vastly over complicate fabricating the printer and I switched to using one inch 80/20 as the basis of its structural framework.

At the same time, my investigation of the Ultimaker turned up details behind the Bowden Extruder it uses to feed plastic filament into its heated nozzle.  Bowden Extruders were developed to reduce gantry weight on 3D printers, allowing for faster head movement and less backlash; the extruder drive sits mounted to the printer's frame, while only the nozzle rides on the gantry.  However, due to the need for a guide tube to ensure the filament is driven into the nozzle a new problem arises.  Depending on where the gantry is positioned above the print area, the filament experiences forces from this guide tube that effect how fast it enters the nozzle.  This results in inconsistent extrusion rates from one point on the printer to the next, and would require in-depth experimentation and analysis to compensate for.  For this reason, I elected to use the recently released MakerBot Stepstruder MK6 as the basis of my printer's extruder.

That said, the printer then went through several rapid iterations based on my design requirements.  I wanted a printer with:

  • at least a cubic foot of print volume
    • I was - and still am - interested in possibly making costume and prop parts using the printer.  Being able to print large objects would simplify some of those projects.
  • that would hold calibration for a long time without needing adjustments
    • Simple enough to explain, less maintenance time is always a good thing.  Plus, that would also mean the prints retain a uniform level of quality across time.
  • that could print faster than a MakerBot Thing-O-Matic, preferably as fast as an Ultimaker
    • To get any print done in a reasonable amount of time with the build volume I had in mind absolutely required higher print speeds.  I'd prefer a max-size print to take about 24-36 hours, tops.
  • that had good print quality
    • Maybe not as good as a Dimension machine, but without any webs of oozed plastic criss-crossing the area between parts and minimal backlash related deformations.
  • which would cost less than or equal to $1000 to build
    • self-explanatory: I'm a college student, I can't drop vast sums of money on projects without eliminating something else from my budget.
Three guesses which one of these flew out the window the fastest coughpricetargetcough.  After wrestling for about a few months trying to design a printer of this size to meet that cost, I determined that the only way to meet $1000 would be to reduce print volume.  Since I valued volume over a few hundred more dollars in cost, I elected to keep the cubic foot volume target and eat the added expense.

Right around this point, around Fall 2011 through the first half of Spring 2012, I hit a long period of having no time for anything but classes.  As the spring semester progressed, I realized that my best chance to get the printer project made was to make parts at Tech and then assemble the printer during the summer.  Unfortunately, I ended up only having enough time to finalize the 80/20 structure: a nearly cube-shaped arrangement that pieces of laser cut acrylic sheet comprising the finer structures would be mounted to.  Very close to the end of the semester each piece of extrusion was cut to length, and a set of four of these were tapped for 1/4"-20 bolts.

Then began the work toward finalizing the printer's laser cut plates.  Initially, I was inspired by the sandwiching techniques displayed in the laser cut Printrbot machines.  However, the overall size of the parts was a bit excessive:
A bit on the bulky side for the gantry I desired
In addition to the overall bulkiness of the machine, the gantry was going to have some serious issues being moved consistently with this configuration.  With that determined, I began to try to put the plates on a diet:

further along

Most noticeable at this stage is the change in the travelling ends of the gantry and the mostly complete z-axis assembly.  Still, I didn't like that I had such an unbalanced load on that gantry, which would likely mean additional mechanistic adjustments that would add yet more weight to the gantry, reducing its overall top speed and or increasing the prevalence of backlash.  So, I went for a different gantry drive setup:

no more motors riding along on the gantry!

With both stepper for the X and Y axes moved to their current positions, the gantry would only bear the weight of the extruder's motor, reducing inertia and increasing the top speed I could reliably print at.  It's only a hop skip and a jump from there to the final model:
Final model, with all-new noncorporeal extrusion technology!

This is the final model as of when the order was made for the laser cut plates.  You may notice a mysterious obscured blob where there should be an extruder carriage, which is due to the fact that this model included the early version of a new kind of filament switching mechanism.  In reality, this is the primary purpose of this project: a test platform for an extruder capable of using any number of input filaments, using only a single stepper motor.  I'm afraid you'll have to wait a little to see how that turns out.

After about a week or so, I received an enormous box of laser cut acrylic parts.

shiny!

And so, around the start of the 2012 Olympic Games began the long few weeks of actually assembling the printer:
Base assembled

Pillars are up

Top almost done

Top installed, along with most of the upper corner pieces

Print bed installed

Gantry installed

Slightly less mysterious print head; switching mechanism to be attached here

Overhead view of the 90% completed printer

It was approximately three or four hours after routing the belting that I had realized I had done something horribly wrong: I had incorrectly designed one of the belt paths, rendering the gantry incapable of moving on one of its axes.  Incensed by this lapse of attention, I began to frantically search for a workaround in the last few days before driving back up to Tech.  Only a few days before then, I found a solution; to anyone who is disturbed by insane belting arrangements, skip the next two images:

WHYYYYYYYY

GAZE INTO THE ABYSS

I had discovered that with some incredible contortions of my existing belt and idler setup, I could make what may be the most MacGuyvered H-Bot drive ever.  H-Bots are kind of weird: they use a single belt or length of belting attached to two drive motors to move a gantry head on two axes.  They're kind of trippy to watch at first.


But, lo and behold, it worked.  I promptly made a modified gantry end file more appropriate to the new H-Bot pulley setup to 3D print in the Invention Studio once I arrived, and began the drive to Tech.

To be continued