Saturday, 13 March 2010

My take on the heated bed.

Eventually I'll get around to blogging about my whole reprap, but I'll start with my heated bed, because there are a lot of designs floating around right now, but no real consensus on which is the best. Here goes:

The bed itself is made of 30x30x2mm sheet of aluminium. It appears to be toughened aluminum, because it is much stronger than usual, and won't measurably bend with reasonable loads placed on it. It's attached to the mdf bed below it with bolts, you may be able to see that I've put a spring on each bolt so that adjusting the height is easier. To the bottom of the aluminium I've attached 12 1 ohm power resistors with high temperature metal epoxy. Electrically speaking, I have groups of 4 connected in series, then the 3 groups connected in parallel. This gives an overall resistance of 1.33 ohms, which gives 108W at 12V.

To control both the extruder and heated bed temperature, I'm using thermocouples, two MAX6675 amps, an arduino, and a 16x2 lcd to display temps. Using a separate arduino (I use a sanguino for the rest my printer) lets me experiment with PID control for example, without risking messing up timings. The following photo shows how I've attached the lcd, there are 4 buttons to adjust target temperatures. I'm switching the heaters with STP55NF06 MOSFETs, they can switch 55A at 60V so don't even need heatsinking here, and at 70p from rapid they're a steal. I'm currently finding I can get away with bang-bang control, because of the relatively high thermal masses, but at least for the extruder I should move to PID at some point.

As you can see, I'm using a prototyping shield, and I've painstakingly soldered the smd chip to a DIP socket for easier handling. At some point I plan to design a minimalist arduino board that has space for a couple of MAX6675s, some MOSFETs, but knowing me that might be some time next year.

As for the performance of the bed, due to the thin aluminium only takes a minute or two to reach 60 degrees, and will stay within 59-61 quite happily even with bang-bang control. I tested with a colour changing temperature sensing sheet, and the heat seems very even. I can't give much in the way of pretty prints, because I haven't calibrated skeinforge yet, but I've got PLA sticking nicely to masking tape with no raft. If anyone wants the code I'm using I'll be happy to give it to them, but its very hacky, and is full of "delay"s to deal with the terrible response times of the serial lcd I'm using (the small pcb with the two transistors on is a pnp inverter needed because someone thought it would be fun to have an lcd that needs inverted input)

I'll leave you with a picture of my almost-darwin, and the first print I'm not horrified with, if anyone wants more details just ask in the comments.


  1. Thanks for sharing!

    I put a link to this blog message on RepRap wiki page for Heated Bed:

  2. Hi James, found you through the RepRap map. I was wondering how you've got on with the build and if you had any advice?