CubeX Heated Bed
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.
- 1x Arduino Uno
- 1x Arduino Uno Protoshield
- 1x Mini bread board (goes in center of Protoshield while mocking the circuits up for testing)
- 1x 200 x 300 mm Heated PCB (printed circuit board)
- 1x Beefcake Relay Control Kit
- 1x Thermocouple Amplifier MAX31855 breakout board
- 1x Thermocouple Type-K Glass Braid Insulated – K
- 1x 200 x 300 borosilicate glass (borosilicate is VERY important, as normal glass will shatter. Details below)
- 1x MeanWell SE-450-12 (24V 18.8 A)
- Kapton Tape (polyimide tape)
- ABS Slurry
- 1/4″ thick cork board
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.
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.
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.
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: