Monday 17 August 2015

Experimenting with soluble support materials

The main reason we wanted to have dual extrduers was to enable the printing of complex structures using a soluble support material. The materials we have been using are HIPS and ABS.  HIPS (High Impact Polystyrene) can be dissolved in Limonene, a cyclic terpene made from the leftover pulp and rind of oranges.

The first design which made use of the soluble support material was a simple gear mesh test found here on Thingiverse. The print turned out functional, but the gears had a lot of freeplay and wasn't a great example of what I believed the printer was capable of.

I wanted something challenging to print, I settled on designing a bearing, specifically a roller bearing, this suited a first design as it is relatively easy to design and print compared to a ball bearing. Using information learned from an MIT Fundamentals of Design pdf on bearings I wrote an OpenSCAD script to generate a roller bearing design given desired inner and outer diameters, you can find the script on my github.

The design went through a couple of iterations, this first version I printed had a very small gap between the inner and outer side walls, this made it very difficult to get the soluble support material out.

Below is the latest render of the bearing without the outer wall to show the internal workings, in this iteration the gap between the inner and outer sidewalls has been increased to allow more liquid flow into the internals of the bearing. The ring running through the center of the rollers is the cage, this keeps the rollers spaced correctly.

For the first print I generated more support material than needed, I rectified this and below you can see a render of the support structure less the outer wall support. One of the biggest reduction in disolving time is to adjust the slicing settings for the soluble support I used slic3r with the following settings: 
    For soluble support:
        -Extruder                       soluble material (HIPS)
        -Top solid layers                      1
        -Solid bottom layers                0
        -Perimeters                                 0
        -Solid infill threashold area   1mm^2 
    For bearing:
        -Extruder                                   solid material (ABS)
        -Top solid layers                     3
        -Solid bottom layers               3
        -Perimeters                               5
The removal of unnecessary support and adjustment of slicing settings keeps the amount of material to be dissolved as minimal as possible and saves on your dissolving fluid.

The final print is dissolved in limonene, it took quite some time to dissolve the support but in the end A couple of the rollers were still stuck. In the process of trying to work them loose one of the rollers snapped in half at the cage so I will be reprinting again. It can handle a filament spool but I don't think it would survive at anything but slow speeds.

See here for the design on thingiverse or on my github.

I might try redesigning the cage in the future, in replace of the single cage there would be a cage either end of the rollers. This would make the support material between the roller and cage easier to dissolve. However it has a couple of downsides, it will mean more support material to support a second cage and restrict the side openings.


Monday 10 August 2015

The Hydra: a Dual Head i3-Based 3D Printer

Laserphile's most extensive project so far has to be our 3D printer, dubbed The Hydra. The Hydra evolved naturally from it's ancestor, the Prusa i3 which we have modified and tinkered with for 2 years to get to where we are now. Although still under development it's a fast, thermally efficient, dual head printer with a custom, laser-cut acrylic case and uses the Bowden mechanism for extrusion. Here's a run down of the process we went through to get to where we are now.



Using the designs of the Prusa i3, created by Josef Prusa we had the aluminium frame cut using an industrial water jet cutter and sourced as much of the electronics and hardware from local stores. Altronics had all the cabling, the arduino micro, various electronics and a small selection of nuts and bolts. The smooth and threaded rods came from various local hardware stores.

Once we had gathered all the pieces together, the printer came together really quickly. Within a few hours we had assembled most of the printer, and we had an awesome 3-axis robot that moved around with serial commands within a few days.


After finishing construction we had some issues relating to the reliability of prints, namely getting prints to stick to the heated bed. We mitigated this by increasing the temperature of the heat bed, this was helped by insulating the underside of the bed with styrofoam wrapped in Aluminium foil to decrease thermal losses and adding a layer of Kapton tape to the print surface to increase the print adhesion. This worked great but after some months of use we found the heated bed (which is essentially just a fibreglass circuit board) had started to warp, so we decided to splash out and get a piece of glass cut (actually only cost $5 from a local glass cutter). Having the glass made a world of difference, it made levelling the print bed much easier and the build surface was now perfectly flat. No more would prints fail to stick!


Our printer management software of choice has been Octoprint which runs on our Raspberry Pi and provides an excellent graphical interface to the Arduino micro controller using a web server. You can upload your gCode files to it and initiate prints along with the ability to manually control temperatures and movement, very useful for calibration. In the photo below you can see the raspberryPi mounted on the right hand side of the frame.

Bowden Extruder

Now that we had unlocked the "relatively stable print quality" achievement with our mostly vanilla i3, we really started to tinker with things. The fist major deviation from the i3 blueprint came with our implementation of a bowden extruder, it was a huge upgrade to our heavy, direct drive extruder that was causing a lot of backlash on the X axis. The first extruder we used was a slightly modified QU-BD MBE V9 direct drive extruder which we turned into a bowden setup with a few custom parts, later on we switched to E3D V6 hotends and re-designed our own bowden motor mount. The different designs for the motor mount can be found in this repository.
QU-BD direct drive extruder
QU-BD bowden extruder
E3d V6 hot end

Two heads are better than one

By far the biggest upgrade we have done to the printer is add a second extruder to it. This allows it to do a few extra things that are just impossible with a single extruder, first it can do two colours (see below) and it can do different plastic types. The main reason for the upgrade is so it can print with a soluble support plastic along with the normal plastic, this opens up a realm of possibilities.

Laserphile Hydra dual head extruder systemLaserphile Hydra 3D printed dice with multiple materials

Acrylic Case

Our most recent mod is probably our most unique. Although our cider box thermal solution was actually pretty effective, to further combat the issues we had with warping we designed an acrylic case to try and retain some of the heat from the heated bed and block any draughts. Although it took a while to refine the design using Open SCAD, it was really surprising how easily this case came together after we got the pieces laser cut. You can find the design files here.

Laserphile Hydra 3D printer with cardboard case
Laserphile Hydra with custom acrylic case

The Future

Our plan is to continue to work on improving the print reliability, and increasing the z axis print height. This will require modifications to the heat bed mount and hot end mounts as these are the parts most vulnerable to vibrations and effect the print height.
Laserphile Hydra 3D printer on desk
Printer desk

I recently designed and printed a roller bearing to be printed in one piece and then the support material holding the rollers in place can be dissolved away to create a working bearing. I'll discuss this in a future post.