Close

Prologue and Epilogue

A project log for Not Just a Reflow Oven

Making a GCode controlled Toaster Oven with Klipper and Octoprint.

clearchrisclearchris 05/18/2020 at 00:310 Comments

This is not a complete reflow oven building guide.  There are great guides out there that go over all the details of how to take an oven from stock to functional.  You should read them, many have great advice.  Neither is it a guide to take you from zero to hero with klipper.  Klipper is well documented though prior knowledge of klipper is helpful.

This is a log of how I got klipper to work with my proof of concept reflow oven.  Not everything is detailed, e.g. my particular arduino hardware implementation, but if you are familiar with arduino, it's a pretty simple build.  I also included things which I haven't seen anyone do with an oven before, like adding the halogen lamps, and

Not everything is perfect, and my oven is far from finished, but the perfect is the enemy of the good, so I put it out there for others to learn from and improve upon.  Towards that, I wasn't sure this was going to work, so I didn't spend much time on doing things the "right" way, and instead, hacked it just to see if it would work.  Turns out, that cut down on my development time, and I knocked this project out pretty quick.  Since it has been functional, I have been keeping it pretty busy and hadn't wanted to take it out of service to work on it.

That said, here's some things that could have been done better.

I'm sure a klipper "extras" python module could have been written to handle the multiple heaters only having one associated thermal sensor.  Likewise, an "extras" module could have been written to handle one heater having multiple pid loops. 

My current oven does have a fan, but it's not controlled by the software of the arduino.  I have an SSR on the way, I'd like the fan to be switchable off (trivial in klipper) and PWM controlled.  I just don't have confidence that running the fan at full blast for all profiles isn't going to wear out the consumer-grade fan.  On the plus side, having a fan meant very, very uniform temperatures, I couldn't measure more than 1C difference anywhere in the oven that was at least an inch from a heater.  Lowering the fan speed might also help the oven hold on to some of the heat.

My oven needs more insulation.  My oven, even with almost 20A of heat, could only push 1.4C per second.  I'll have to add some of that aluminum engine heat barrier that everyone recommends.  To deal with an oven that is barely adequate, I had to add some python code that would basically just max out the heat until the setpoint is reached.  I would like to eliminate that as it doesn't allow me to do extremely tightly controlled reflow profiles.  2C per second is likely the minimum.  

A servo or stepper controlled door opener would be really nice, maybe even with an exhaust fan.  I haven't settled on a design yet, I'm still kicking around some ideas.

The python gcode generation scripts could use some cleanup.  To be fair, they are pretty complete for basic oven control.  If I think of more complicated things to do with the oven, it could use a rewrite.

I'm sure I'll think of some other enhancements, but these would definitely push the oven from "functional prototype" to a more "finished project" IMHO.

Good luck with your project!

Discussions