Heating up a large print bed


3D printers use a heated bed to promote the adhesion of molten filament to it. Many printers have a heater and a thermistor to heat up and measure the bed temperature. Some microcontroller code creates a closed-loop regulator that keeps the bed temperature around the desired set point. The question is what to do when you have a large bed.

Some manufacturers have just gone bigger: a large bed is coupled with a large heater and a thermistor (or thermocouple is used for measuring the actual temperature of the bed). Others, like the Prusa XL print bed, have actually gone smaller and composed the larger bed as a set of smaller tiles, each with an independent temperature control. That approach is more complex and expensive in terms of control. Still, it comes with the added advantage of independent control of the temperatures of different bed zones, which might have power savings consequences.

From where I stand, simpler and cheaper is the way to go with our project's budget. So, I settle with a single aluminum sheet for the bed and a set of off-the-shelf silicone heaters. These heaters are inexpensive and readily available and feature one thermistor each. You can stick them to the bottom of the aluminum plate as they are adhesive for an easy build. I used nine 400 x 400 mm 700W @220V heaters. 

The question now is how to connect that to our Duet 3 board. And there is not an easy nor a single answer to that. However, as I want to control the bed as a single heater, I can only use one PWM signal to control a solid-state relay for the heaters and a single temperature for feedback. I have considered a few alternatives to heating (trying to achieve a homogenous heating power):
  1. All the heaters are connected in parallel, which is a bit problematic regarding power consumption but mainly demanding on the wiring and switching fronts: 9*700 W = 6300 W @220V are 29 Amps!!!
  2. All the heaters are connected in series: while possible, they are next to useless as the total heating power would be 78 W. 
  3. Heaters are connected in groups of 2 heaters in series, each series connected to 220V: then each one is 700/2 = 350W. However, we have nine heaters, so we can have 4 groups, but then we have one heater left to connect. Here, I can use one trick out of my sleeve and use a diode in series to half the power of the heater left alone. This way, we have five heaters, each consuming a power of 350 W, for a total of  1750W. That might work, and actual tests reveal that the bed can easily reach 60C in less than 5 minutes.
  4. If higher bed temperatures than what can be achieved with the previous option were needed, a couple of diodes to only allow current to flow through five or four of the bed heaters would have an average power consumption of 3150 W, still below the 16A of a regular 220V mains socket and of an inexpensive solid-state relay. With this configuration, 120C can be reached easily. 
The next step is to determine what to do for temperature sensing. One possible way is to just use one thermistor (instead of the nine available). However, that begs the question of which one will be more representative. The center tile will most likely heat up faster than the tiles on the edges of the bed. So, a more thorough measurement might be desirable. The only thermistor input available expects a 100k thermistor, so I ended up using a 3S3P configuration, where the 9 thermistors are used to create three groups of three thermistors in series. These groups are later paralleled, so the net resistance is still 100k. Of course, the variations in temperature at each tile will be captured by each thermistor, and the measured temperature will hopefully integrate the different contributors. Once tested in the real world, it seems to work nicely. If I had an unlimited budget, I would have opted for an independent temperature control for each tile.

Comments

Popular posts from this blog

VFD control with Arduino using RS485 link

How to get sinusoidal s-curve for a stepper motor

Importing OpenSCAD designs into Onshape