Sorting out the heated bed issues with flexible silicon pads

posted 6 Jun 2015, 08:52 by Colin Bell   [ updated 6 Jun 2015, 08:52 ]

I've had a love/hate relationship with my 3D printer heated beds - they are necessary for most materials, essential for others to stop model warping and aid with model adhesion to the bed during printing. On my machines they have tended to *almost* do the job. Particularly on my RepRaps, the solutions are interesting in a Heath-Robinson kind of way - they worked, but failed a lot too.  

A bit of history on my previous heater solutions and their issues.

Point in case was my original Huxley's nichrome solution - whilst doing the job remarkably well considering it's basically a toaster element sticky-taped to the bottom of a slab of metal, it caused me all kinds of grief in terms of reliability. Nichrome wire is basically impossible to solder, so connections need to be made using crimps, which is a crap solution for a moving bed - it's just going to break the connection eventually - actually quite regularly in my experience, despite my buying very expensive crimping tools and materials. 
Of course, a break is just an annoyance, and easily fixed, but it's very annoying all the same. The worst issue with this kind of set-up was short circuits - eventually the Kapton tape, heat shrink and ceramic pads which insulated the bed would go brittle under the extreme focussed heat from the Nichrome and develop a hole straight down to bare metal, leading to a short - at best this is a fire risk, and could lead to a shock I guess. I'm not sure what effect a bolt from 19v DC at 6A would have on a human (I never found out fortunately) but it would surely damage the electronics at least. Quite early on I decided to completely replace the insulation every 30-40 hours of printing just to avoid this, and fortunately it worked out for me.

Another big issue I had with this set-up was the Molex connectors used to connect the bed to the control board - whilst convenient, they regularly burned out as they are just not designed to carry the kind of current the Nichrome demands.

I eventually gave up with replacing these entirely and moved to more robust, mains rated terminal blocks, which were only marginally less convenient when I inevitably needed to get the bed off for a repair, and much more suited to the load being put onto them. 

Of course, the Nichrome wire solution was an early attempt back in the Stone-Age of RepRap to get some heat under the build platform, and things moved on pretty quickly to the now very common PCB style heaters. These are an extremely neat, tidy and safe solution and have a very low failure rate. These things work basically by shoving loads of power into a continuous serpentine shaped resistive track, which in turn expels the heat in the same way a resistor would. A lot of hot-ends use a 3W resistor as a heater, and this is the same, only on a larger scale. 

I've used PCB heaters in three of my four printers at some stage in their life, and in terms of low maintenance and reliability they cannot be beaten. 

However...there are still issues with them. The first issue is the amount of power they draw, normally something between 4 amps and 10 amps. This means that the little power brick adaptor you've been using with your printer just isn't going to cut it any more - best case is every time the bed pulls power, everything else on the printer (motors, hot-end, fans, lights) will all dim down or stop altogether until the PID loop stops the heater. This will happen repeatedly throughout the print as the bed cools and requires some power to get back up to temperature. The solution usually means butchering a beefy (300W +) ATX power supply, which can be a major undertaking for the uninitiated, although ultimately is a great cost effective solution which should be used on all 3D printers in my opinion.

The next issue with PCB heaters is that they often don't get hot enough to be properly useful. Oh they help for sure, but for example my Printrbot PCB heater topped out at around 85c when everything was running as I didn't have a chamber around the build platform, and drafts and general movement meant that it couldn't maintain higher temperatures.
It would eventually get up to 105c after around 45 minutes of being covered up and heated at full power from a 700W ATX supply, but due to the inadequate thermal design of the Printrbot bed (those F*&%#& wings!!!!) it simply couldn't sustain it, even with heavy shielding underneath. This made it effectively useless for ABS unless I put a box over the entire printer and kept all the doors and windows shut. Not ideal, as you can imagine.

Finally, the other issue I had with PCB heaters was warping of the PCB itself. On my Mendel, I had the PCB strapped down with four nuts and bolts, one at each corner of the bed frame. I noticed after several weeks use, when being heated, that the centre of the PCB would bow out from underneath the bed, losing contact with the glass. This inevitably led to a loss of heat in the middle of the bed and lots of parts popping off prematurely due to uneven heating of the surface.

So, I've tried the toaster and PCB solutions - what's next? 

Recently I decided to do a major restore and upgrade of the eMaker Huxley mentioned in the project section of this blog. The reason for this was that my son was showing an interest in 3D printing and was looking for a machine to play with. Given that I knew all the main issues with the Huxley, I wanted to ensure that all of these were fixed to save him a lot of the same frustration that I'd had. As mentioned above, that toaster Nichrome wire solution just had to go.

I'd read on forums that some RepRappers had started to adopt silicon heater pads as their bed solution, so I decided to give one of those a try.
I didn't want to spend a fortune on my experimenting with this, so decided to use the veritable AliExpress site to find the parts. Right at the top of the list on a general search came Keenovo heaters, which had some great reviews, so I decided on a 100x100mm 100W 12v unit, which should be a drop in replacement for the Nichrome solution.

The silicone heater arrived in good time (shipping was around three weeks and free) and was very well packaged. The seller also kept me informed of my order status which is a rarity when ordering direct from China in my experience, and also answered my questions in a timely manner. The device itself has a very high quality feel to it, using a good high quality rubberised fabric covering material, fabric braided and shielded (PTFE) leads and 3M 468MP adhesive already installed on the back of it. Also included and installed is a standard NTC 100K Thermistor, which is directly supported by the Marlin firmware.

Installation of the Keenovo heater was a breeze - after removing the previous Nichrome set-up, and carefully cleaning the now bare aluminium bed bottom with IPA solvent, I just peeled off the 3M adhesive backing and smoothed the heater down onto it. As I've said in previous posts, this type of adhesive is pretty permanent once applied, so I have no doubt that it will last a very long time, especially as 3M boast that it can withstand temperatures in excess of 300c, which is much higher than the Huxley will ever need. Wiring was simple - I just connected the two power leads into the bed heater terminals, and the thermistor into it's connector - job done!

The excellent quality braided leads on the Keenovo meant that cable management for the heater power and thermister where equally easy, and I didn't need to worry about them snagging or getting caught on any sharp parts due to the thick and flexible shielding.

In terms of performance, when compared to the Nichrome solution, this thing is superb. It reaches 75c from room ambient (around 21c) in less than three minutes, and stabilised there very quickly. I didn't even need to change the PID loop settings, as the stock Marlin ones worked just fine. In my testing, I found that it could maintain 125c (reaching this in around 6 minutes from ambient room temperature), which is more than adequate for ABS. 

Probing around with my Fluke IR thermometer showed that the heat spread pattern got very consistent across the entire bed after around five minutes of the reported temperature being reached, which makes sense as the aluminium bed equalises. It was most stable in the middle of the bed almost immediately, it just took a little time for the edges of the bed to catch up. Being a 150x150mm bed, and a 100x100mm sized pad, I found this to be expected and more than acceptable. Obviously, if I was doing it again for this printer, I would get a full 150x150mm pad to match the bed size properly, although it would mean some modification of the bed mounts, which might be more trouble than it's worth.

Being a 12v heater unit, and the Huxley's Sanguinololu supplying a regulated 12v for the heater circuitry, I didn't bother to upgrade the power supply for the Huxley, so it remained on its original 19v/120W power brick - yes, the fans slowed down a bit while the bed was heating, but then they did with the Nichrome solution too - I didn't notice any loss of stepper motor power or speed, and neither the Sanguinololu controller or the LCD complained or showed fault either, so clearly the power drain was within acceptable limits. I ran the bed on stress tests for several hours, concluding with a print job at 105c on a seven hour test print with no issues at all on the Keenovo or the rest of the printer and its electronics. Win!

Rather than get off-topic, I'll come back to the Huxley restore in more detail in another post, and instead move to the next printer which required an improved bed solution, the Printrbot Simple Metal.

After being inspired by Thomas Sanladerer's excellent video on Silicon heaters & Solid State Relays I decided to take the plunge and do a proper solution for my favourite production printer. Since I'd had such success with the Huxley using the Keenoovo products, I decided to go straight to them and ask for their advice. I wanted to have a mains powered unit, which fitted the Printrbot and had way more power than the then current PCB solution. My main issues where that I had to remember to pre-heat the bed, often for 45 minutes prior to actually starting printing, and if I had a failure and needed to restart, I'd have to wait all over again before the job was finally going again - this pet peeve was my main reason for this rather epic upgrade path.

Keenovo's recommendation was a 220v, 500W flexible heater pad, which I thought was going to be way overkill for my little Printrbot - I wasn't wrong there, it is overkill, but it certainly does an admirable on.

The pad I selected is 150x150mm, which is a drop in replacement for the Printrbot PCB heater. As with the previous heater, this has a high quality, durable feel to it, sporting the same flame resistant rubberised fabric covering, PTFE insulated leads with a metal braided sleeving. Also installed is the 3M 468MP adhesive, and internal thermal fuses and an NTC 100k thermistor. The specifications also state that this unit can sustain temperatures up to 260c, which is way more than I will need.

In the picture to the left, you can see that I've prepared the bottom of the bed with a single Kapton sheet covering over any exposed aluminium. The silicon pad is just resting in the hole where it will eventually live, while I tested the wiring and ensure that the pad was working.

A word of warning here...while it's a good idea to test components before the final installation, you need to be aware that on heater pads of this kind of power, the backing sheet for the adhesive is definitely not heat proof like the adhesive it's protecting. As you can see, even with a short test of less than three minutes at around 80c, the backing sheet scorched. 

Of course, you're going to be peeling this off anyway, so you might think this isn't a big deal, however, I needed to spend quite a while picking tiny pieces of charred paper off the adhesive with a razor blade, which was a pain. As you can see, I managed to damage the adhesive layer whilst doing this, so rather than take a chance with a mains powered heater falling off the bed, I put another sheet of 3M 468MP onto the bottom of the bed for additional insurance.

The final touch I added is a metallic heat shield (not supplied!) which is Kapton taped directly onto the pad. This is more about protecting the electronics on the printer which sit directly below the bed than bed insulation. This shield, along with the fans installed under the chassis, keep the electronics at around 35c when the bed is running hot. 

Keenovo also supplied a Fotek Solid State Relay (SSR-40-DA) for use with the bed - it should be noted that this wasn't part of the silicon pad purchase, they included it when I enquired as to which type of SSR was recommended. I had an aluminium heatsink left over from a previous job, so bolted the SSR directly onto it. Now, it has to be said - in this application, the heatsink is not required at all - the SSR runs very cool, barely even going over ambient temperature, even under heavy loads. It's also completely silent in operation, the only way you know it's working is when the red status LED on the SSR lights to say it's receiving a pulse from the printer's electronics to engage the bed heater.

Wiring the SSR and heater pad are very straightforward, and I just followed Thomas Sanladerer's video guide. In summary, here is the wiring diagram:

SSR Wiring

(Click on the image to enlarge it)

After butchering a couple of standard mains PC cables, I was able to make all the necessary connections, just using mains rated terminal blocks as appropriate.

The final installation is fairly tidy, and I concluded by taping over all the contacts. 

Now, in operation, this monster solution has exceeded all of my expectations and I think I can say I'm finally satisfied with the heated bed solution on my Printrbot. 

No longer do I need to wait for the bed to get up to temperature, no longer do I need to worry about a draft causing the model to pop off the bed prematurely, no longer do I need to worry about the power being sapped by inefficient thermal bed design - this thing is so powerful it just ignores all of these issues.

It gets from room ambient (around 21c) to 70c in...wait for it...26 seconds!
It gets from room ambient (around 21c) to 120c in... 1 minute 8 seconds!

Hell yeah.

Now, as you can see from the monitor graph above, the PID loop in Marlin needs some dialling in - it heats so ferociously that its overshooting by around 12c on every heat cycle before the PID loop realises and switches it off, giving the sawtooth heating pattern seen in the graph. Also, the pad heats much faster than the aluminium bed, meaning that those crazy fast heating times above are a little misleading. What I'm finding now is that I still need to wait a couple of minutes for the bed surface to equalise the temperature. Additionally, I've noticed that the discrepancy between what Marlin reports as the current temperature, and what is actual on the bed surface is exaggerated by around 10c (so if Marlin thinks its 50c, the surface is actually 40c). 

These issues are simply software fine tuning though, and not a real issue in the long term. Once I figure out the PID loop code in Marlin I'll do a follow up post to explain what I changed.

Winner, winner, chicken dinner indeed.