Pages Menu
Categories Menu

Posted by on May 21, 2014 in Blog and Updates | 0 comments

CubeX Heated Bed

CubeX Heated Bed

Heated bed for cubex with 300 x 300mm borosilicate plate on top covered in yellow kapton tape

Heated bed for CubeX installed with 300 x 300mm borosilicate glass on top covered in yellow kapton tape. Not visible is a cork board mat to separate the heated PCB from the stock aluminum base. The aluminum would act like a huge heat sink and make it much more difficult to maintain the target temperature on the build surface.

CubeX Heated Bed

If you’re like me, you opted for the Cubex for it’s large build volume even though it didn’t have a heated bed.  You read the material and CubeX website and understood that it came with a special adhesive and ABS material made with proprietary ingredients that minimized warping.  And that was great, until you tried it once and wadded up your ABS print into a ball. The necessity of a heated bed hit me a few months ago when I was printing some pretty large parts for a boat company in Saint Louis, Mo.  There were two parts, about 12 hours per piece and were needed pretty quickly (of course).  After days and days of attempts, hours spent in my office after work, and 10-12 partially completed parts, I finally squeaked out 2 useable parts.  Thank God.  And the worst part was while they were PLA, the geometry of the prints were just very prone to peeling and warping.

Why is it so hard to find a heated bed solution for a CubeX?

Immediately after I finished those two vents I really dug in and started researching possibilities.  While there are existing heated bed solutions for the Cubex, I did not have $800 to fund one.  I bought my printer with the intention of outsourcing work in order to pay for a majority of it’s cost.  I continued on my quest for a heated Cubex bed, but I continually ran into one problem.  Most 3D printers such as MakerBot, Ultimaker, and any Repetier or Marlin based printer, among others, all allow for a heated bed option and the accompanying settings when you slice the part and generate the G-Code.  This not only makes it very easy to incorporate a heated bed, but it also allows the build file to adjust the bed temperature throughout the print.  Different materials not only need different bed temperatures for optimum printing, but they also require different temperatures throughout the print.  Once a print begins, the bed is at it’s maximum recommended temperature.  Then, if the beds controller is incorporated into the slicing software, the bed temperature will automatically decrease about 10-15 degrees C (actual amounts will vary on a variety of factors) as per a G command in the print file after the first few layers.  Then the bed power will be turned off when the print is completed, along with the power to the stepper motors and extruder heaters.  This allows the user to run prints unattended, if you are confident in your printer. The main problem is that neither the CubeX software nor (obviously) printer support any option of a heated bed.  This means that the user has no option of ever controlling a heated bed via the print file.  The next best option is a stand alone solution that operates independently of CubeX’s tightly buttoned up software. As a side note, there are other slicing software possibilities for CubeX printers (KISSlicer and Slic3r) and a LARGE majority of the time, your prints are going to improve.  You have many more print settings available and will thus need to do more ‘tweaking’ , but if you follow the guidelines and get some help from the software forums you will really see your CubeX excel.  However, these programs are not supported by 3D Systems (3DS) and you will have ZERO support from 3DS.  These slicing programs are not only for CubeX printers so they do have an option for a heated bed.  But again, the CubeX will not recognize these settings and has no option to incorporate a heated bed on it’s motherboard.  

Jackpot! Now what?

One fateful morning I ran across this post on Thingiverse.  Unbelievable.  Exactly what I needed. This post is an explanation of what I did, not an instruction manual for your own use. I assume no responsibility for damage to your 3D printer, auxiliary equipment, yourself, or otherwise. If you choose to do this modification, please do so at your own risk. All credit is given to Thingiverse user Prototype.Asia for developing this solution.  I just basically installed it on a Cubex Duo instead of an Ultimaker. After reading about this project and deciding it was indeed what I needed and would function on my CubeX, the next part was gathering a parts list and pricing it out.  When it was all said and done, this ended up costing $250.  Tools such as a soldering iron and multi-meter not included.

While I waited for the parts to arrive, I started testing the Arduino program.  After some initial problems getting the program to upload correctly, I fixed it and loaded it and the MAX31855 libraries onto an Uno I had from a previous project.  The program is also fixed on the Thingiverse site as well.  The Arduino program and library file can be found here. What’s a thermocouple? What’s a library file? I’ll try to explain this quickly. A thermocouple (in this case, a type-K thermocouple) acts as a thermometer and measures temperatures. If you notice on your thermocouple, there are 2 wires on one end and on the other they are soldered together. This soldered connection is placed on whatever surface you are trying to measure. With the MAX31855 breakout board, the two ends of the thermocouple complete a circuit with a small current running through it. The soldered connection creates a specific resistance that corresponds to the temperature. The board then measures that resistance and sends a signal out. How does the Arduino know what the MAX31855 signal means?  With a library file. In this case, a library file is essentially a chart with a list of signal values and their corresponding temperatures. Said another way, the library file takes the output value from the MAX31855 which has no meaning to a human, and assigns a meaningful temperature value to it so we can use that value in our Arduino program. Also, the Beefcake relay is solenoid operated but if you could find a nice solid state DC relay that can handle the amps I’d love to know. The wiring of the Arduino Uno, relay, and breakout board is pretty straight forward.  I initially used a mini breadboard placed in the middle of the Uno to test the layout before soldering everything permanently on the Arduino Protoshield.  Below you can find the wiring diagram, and what mine looked like.

Wiring diagram for the Arduino, MAX31855, and Beefcake Relay

This is the wiring diagram that you will see from Prototype.Asia’s post on Thingiverse, Pretty straight forward.


Initial testing of heated bed in Cubex

Uno, protoshield, mini breadboard, jumpers, MAX31855 breakout, and relay wired up and installed for the initial testing of the Cubex heated bed.

The button on the board is meant to switch between PLA and ABS modes.  When the Arduino is turned on, it will default to the PLA mode, and if you followed the diagram correctly a green LED will light up.  When the button is pushed, a red LED will show up and the bed will now heat up to the ABS temperature.  The PLA and ABS materials each need a specific temperature to prevent warping, and to set them you need to open the Arduino program and edit a few values.  Threshold1  and Threshold2 are your activation and shut off temperatures, respectively for PLA.  Threshold3  and Threshold4 are your activation and shut off temperatures, respectively for ABS.  In short, the Arduino program keeps the bed between a high and low temperature.  It does this by activating the relay to close the heating bed circuit until the shut off temperature (either Threshold 2 or Threshold4) is reached.  At that point, the Arduino deactivates the relay and turns the power to the bed off until the temperature falls below the activation temperature (Threshold 1 or Threshold3), in which case power is turned back on.  See below for a flow chart of the programs logic.

Arduino Program Logic

This is a flow chart for the logic the Arduino program uses to either turn the power to the PCB off or on.

This method of On/Off power is sometimes called the “Bang-Bang” power method, where the bed temperature stays between 2 somewhat close temperatures.  The other method of temperature control uses a PID controller, or a proportional-integral-derivative controller.  While this method would actually work better if you wanted to hold a very specific value (like the extrusion temperature of your hot end), it involves a lot of math and a lot of programming.  A PID controller might be a goal for me in the future, but for now Bang-Bang works just fine. Prototype.Asia spec’s a 12V power supply for this heated bed project.  While the 12V heated the bed adequately for PLA, it didn’t really have enough juice to heat the bed high enough for ABS printing.  I’m spec’ing a 24V power supply to help get the higher bed temps needed for ABS printing, as well as to heat the bed quicker.  Heating times for ABS were around 8-10 minutes with the 12V supply, and sometimes the target temperature was never reached.  But the 24V cuts it in half and is able to get to a higher temp as well. The last piece of the assembly is the actual print bed.  Because the prints will not be warping and peeling anymore, no ‘special adhesive’ or painter’s tape is necessary.  Although Kapton tape (polyimide tape) is necessary you will not be printing on the sticky side.  The physics/theory behind using the tape is unknown to me, but I can tell you it certainly works.  The Kapton tape is a little ornery to use though so applying this to the borosilicate build plate will be the same process as if you were applying window tint or a thin decal.  I took a window cleaner like Windex or a similar soapy solution and sprayed it onto the glass plate, then applied the Kapton tape to the wet surface.  It’s kind of tricky, but I stuck the first bit of tape to the actual table top I was working on, then unrolled enough tape to cover the whole surface of the build plate.  Working from the edge with the tape on the table, I used a credit card to squeegee the liquid and bubbles out from under the tape.  When I reached the other side I ‘tabbed’ the tape down to the table to hold it.  I then repeated the process as I worked up the build plate to totally cover it.  After the last strip of tape was down, I took a razor blade and trimmed off all the excess.  I have seen people leave a little extra on the sides so the can wrap the tape around to the bottom of the plate for a little extra security.  You may need to wait a bit for the tape to completely dry out.  The upside is if you are careful removing the models from the build plate, your tape job will last 10 to 20+ prints. Notes on the build plate material: It is VERY IMPORTANT to use borosilicate glass instead of normal plate glass!  This is because borosilicate glass is a special high-temperature glass (same as Pyrex cookware) that can handle being repeatedly heated and reheated.  Plate glass cannot handle the temperatures and will shatter. Aluminum build plates don’t have the shatter hazard that glass does and they may be more durable than glass build plates, but they will begin to warp after all the heating and cooling cycles.  A warped build plate does not make for a nice 3D printed part.   Remember the thermocouple I talked about earlier?  Take the other end (the end with the small dot on it, not the two wires), and fasten it to the bottom of the heated PCB.  To do this I bent the end up slightly, folded some Kapton tape up into a small rectangle that was maybe 1/4″ x 1/4″ in size and taped that on top of the thermocouple end to ensure that it was pressed against the PCB and made good contact.  See the picture below.  You will not get a good temperature reading from your thermocouple if it’s not physically touching the board.  The bottom layer in the build plate sandwich is the cork board.  The board is used as an heat insulator under the heated PCB.  I cut a small slot in the cork board to run the thermocouple wire out to the side so what the PCB would lay flat, thus allowing the PCB to lay flat against the glass for efficient and even heating.

Thermocouple on heated PCB

Here you can see the bottom of the heated PCB with the thermocouple, square of folded Kapton tape, and extra tape to help keep the thermocouple in place.  In this instance, the board is actually wired for 12V.  I have since changed to a 24V arrangement.

As far as how to mount the build plate assembly to your CubeX… that I will leave to you at this point.  I haven’t devised a good method that will let me easily remove the plate and place it back in the printer in the exact same location.  You could mount the whole assembly on the existing removable build plate that came with your Cubex, but I never liked that method.   I also didn’t want to give up the 1/4″-3/8″ of vertical build distance that it take away.  I’ll keep you updated on what I come up with. The finishing touch on your heated bed and Kapton tape is a nice wipe-down with ABS slurry.  This is a solution you only use with ABS printed parts, PLA parts will stick to your build plate just fine with only the Kapton tape.  To make the slurry, you mix about 1 cup of acetone with about 1 foot (30.5 cm) of ABS material.  The color of the material doesn’t matter, just cut it up into 2 inch (5 cm) lengths, drop them in the acetone, and shake until all the material has dissolved.  You can add a little more material if so desired.  To apply, just put a little slurry on a paper towel and wipe down on a COOL bed, DO NOT put on a bed that has been heated up.  One coat is all you’ll need, even if you put a second one on the first will be wiped off.  You should be able to see a slight haze appear on your Kapton tape as the acetone dries and evaporates.  Now you’re ready to go!

Sooo, what does all this work get me?

What will all your hard work get you?  Here are the first few examples I’ve printed:

Bottom and top view of ABS part printed on the Cubex heated bed

This is a thin washer shaped piece that is used to hold reels of filament outside my printer. It’s printed with ABS, and the bottom picture shows how smooth the surface is that was printed on the Kapton tape. It’s so smooth, it’s glossy! The top picture shows the fill support pattern from KISSlicer. I stopped it mid-print so that you could see how neat and perfect the paths were.

Blackhawk Cookie Cutter

This is a cookie cutter I did for a friend who’s husband is a Blackhawk helicopter pilot and just returned from a tour in Afghanistan. To celebrate, she wanted Blackhawk cookies and asked me to print one. I have done a cookie cutter before (a Howitzer cannon for another friend whose husband is also in the Army), but itwas made with PLA and I thought this would be a great test to print with ABS and the new heated bed. The walls are only 2 loops of 0.5 mm extrusions. Some support structures were added to help keep the cutter sturdy for use. The small circle added on the front of the rotor shape was initially added to help keep the print down, but would probably not be needed if I printed it again. As you can see the print turned out great, and my friend’s husband and fellow pilots now have some of the most awesomely-shaped cookies ever made.

 And check back soon for a write up about printing with Proto Pasta’s Carbon Fiber PLA material…

Proto Pasta's Carbon Fiber PLA

Just received my package of Proto Pasta’s 1.75mm carbon fiber PLA. Very excited to this out and do some strength and weight comparisons with PLA and ABS.