Skip to main content
Topic: Reflow Oven (Yet another) (Read 24046 times) previous topic - next topic

Reflow Oven (Yet another)

I decided I needed to start a project log to tap into all the brainy people around here.

I think a good first embedded project would be a reflow oven. I'm sure that I will learn a bunch on this project.

I hope to make the reflow oven out of a cheap but capable toaster oven where the temperature will be controlled to follow a reflow temperature profile.

As I see it now will be composed of the following major components:

Toaster Oven
Arduino controller
Temperature Sensor
Solid State Relay
LCD display
User Interface buttons (as required)
As I become more project savvy I'm pretty sure this lis will change but I need something to aim at to begin with.

Re: Reflow Oven (Yet another)

Reply #1
forum member ahri has been working on an soldering iron controller http://http://dangerousprototypes.com/forum/viewtopic.php?f=56&t=2457&start=45#p23738

there has been talk about a dangerous reflow controller http://http://dangerousprototypes.com/forum/viewtopic.php?f=42&t=1124&hilit=reflow+controller&start=45#p11641

and welcome to the forum!

Re: Reflow Oven (Yet another)

Reply #2
I am using an Arduino based reflow controller and found this single chip product. I was thinking you might make a smaller reflow controller with it, the MAX6675, SSR, and a small LCD.

:)

PIDC120 Single-chip universal PID controller

Re: Reflow Oven (Yet another)

Reply #3
that pidc120 looks like 16f690 with some fancy firmware .. there's not that much in the pid alghoritm that you need a separate device for it, especially as you still need to provide pid indexes ... there is no autotuning afaic so you need to tune it yourself, if I'm correct then implementing it yourself is actually a way better use of your mcu

Re: Reflow Oven (Yet another)

Reply #4
[quote author="arhi"]that pidc120 looks like 16f690 with some fancy firmware .. there's not that much in the pid alghoritm that you need a separate device for it, especially as you still need to provide pid indexes ... there is no autotuning afaic so you need to tune it yourself, if I'm correct then implementing it yourself is actually a way better use of your mcu[/quote]

I had not read the data sheet to see what the features of the 120 are but the Arduino reflow controller I am using does not do autotuning. But with the serial data output of the Arduino you can plot the curve and make adjustment to it in code. So I must agree, it looks like using a host MCU will be better option for reflow than trying to go a single chip solution.

:)

Re: Reflow Oven (Yet another)

Reply #5
I don't mind using what other ppl did, so I'd jump to using that device even as it is closed source, if they implemented auto-tuning (there are devices that do auto-tuning out there) as auto-tuning is hard math and is not something you can easily implement youself (I'm playing with it for years and never came close to working example, and I have a lot of pages of someones bscee final work on auto tuning pid with matlab model etc etc) .. anyhow, if pid is what they offer, if you go with 16bit pic pid is few lines of code really, it is the P, I and D coefficients you need to calculate :D. For a fairly simple system like reflow oven Ziegler–Nichols works perfectly to make pid work (you disable ID control and use only P, you lower the P as much as you can but to still have standard sinus oscillation of target state/temperature in this case/ and when you get that lowest Posc value that produces this oscillation then you measure period of that oscillation Tosc and calculate P, I and D values from that Posc value using Ziegler–Nichols formulas, P = 0.6*Posc, I=1.2*Posc / Tosc, D =0.6*Posc*Tosc / 8) .. then you just run your PID as simplest possible code

Code: [Select]
previousError = targetTemp - currentTemp;
integral = 0;
while(1){
  error = targetTemp - currentTemp;
  integral = integral + (error*dt);
  derivative = (error - previousError)/dt;
  outputValue = (P*error) + (I*integral) + (D*derivative);
  previousError = error;
  //do something with outputValue, set PWM or whatever you do
  //move motor with intensity of outputValue, or turn heater with intensity of outputValue
  //notice that outputValue swings from -1 to +1, in systems where you can't go negative
  //for e.g. if you have reflow oven - you do not have cooling element in you need to
  //compensate for the negative values

  delay(dt);
}

Re: Reflow Oven (Yet another)

Reply #6
[quote author="eeAlchemist"]I decided I needed to start a project log to tap into all the brainy people around here.

I think a good first embedded project would be a reflow oven. I'm sure that I will learn a bunch on this project.

I hope to make the reflow oven out of a cheap but capable toaster oven where the temperature will be controlled to follow a reflow temperature profile.

As I see it now will be composed of the following major components:

Toaster Oven
Arduino controller
Temperature Sensor
Solid State Relay
LCD display
User Interface buttons (as required)
As I become more project savvy I'm pretty sure this lis will change but I need something to aim at to begin with.[/quote]

There's a new Kickstarter project for just such a controller. (Except he's not using an Arduino.)  Open source hardware and software.  He's already got the controller prototyped and working, and he's testing it in a toaster oven  --  he wants to turn it into a reflow oven.  He is looking for collaborators.  (And backers, of course.  It's Kickstarter.  Pledge $50 and get a controller.)

I'm too new here to post URLs, but it's easy to find:  go to Kickstarter and search for PID temperature controller.

He just blogged about his first toaster oven experiment.  There's a link on his Kickstarter page.

Re: Reflow Oven (Yet another)

Reply #7
If you need a implementation of a pid controller, somewhat more elaborate but still not over engineered I read a very nice writeup by the guy that rewrote the pid controller for arduino.
He made some excellent explaining without diving into mathematical symbol manipulation.
Too bad I can't find it now, but I believe there where as post on hackaday.com

EDIT: Found it http://http://brettbeauregard.com/blog/2011/04/improving-the-beginners-pid-introduction/


Re: Reflow Oven (Yet another)

Reply #9
Wow! thanks for all the interest in the project guys. I see a lot of great ideas.

So I went by “Wally World” and looked at toaster oven that may fit my project. I found this one:

It was the last of it's kind in the store. The box was crunched and opened previously. The price was right- only $20 after tax. The next one up was $60 and was twice the size and had a fan inside. This one said 1000W so I snagged it. It is in sad shape. It was probably headed to the island of misfit toaster ovens.

The back is all dented up as seen in this photo. The cord is only about 2ft long. A bunch of the screw were loose and some don't have any bite into metal.

I plugged it in and power it up. It has plenty of heating capability. It has a few different settings that I will try out and an always on position on the timer switch.

I have a Thermocouple Amplifier (MAX6675) breakout board - v1.0 from Adafruit that I will be using to sense the temperature with the arduino. I guess I should get that built and working next.

Re: Reflow Oven (Yet another)

Reply #10
This is Karel's first experiment with a toaster oven:

http://http://kmprojects.wordpress.com/2011/09/01/toaster-oven-to-smd-reflow-oven-conversion/

His open source PID controller comes with an optional display board with temperature readout and some buttons.  He says on his blog that you'll be able to change the PID parameters just by pushing the buttons  --  no need to recompile the code or reflash the chip.  Handy feature for people who want to tune the PID to the thermal characteristics of a particular device.  With any luck he ought to be going into production in a month or so.

Re: Reflow Oven (Yet another)

Reply #11
I managed to get the Thermocouple Amplifier (MAX6675) breakout board - v1.0 from Adafruit working without issue. I downloaded the library they had stashed at GitHub and everything went according to plan. I played a bit with the ‘bake’ and ‘toast’ settings of the oven. Bake only powers the bottom heating element while toast powers both. The heating slew rate  needed to follow the reflow profile would only be supported by the toast setting so I went with that.

The Setup
I had the end of the K-type thermocouple fastened to a piece of pcb material with kapton tape and placed that about is the x-y center of the oven. The oven was set to maximum (no regulating yet). The blue plot was just wire rack shelf closest to the bottom of the oven. The red plot was with the broiling pan on top of the wire rack. You can see the one with the pan was slower to rise and fall. The sudden change in the downslope is where the door was opened and the tray pulled out.

Thank you Coolterm!
At first I was unable capture data for plotting. It was frustrating when I went to go copy and paste it out of the terminal window. For some reason the Arduino IDE doesn’t do this.  After cruizing the web for solutions I found a good one. I was able to record time and temperature by printing them out with the serial command and capturing the output with CoolTerm. Cool Term is a very nice terminal program that allows you to copy & caste captured serial data as well as capture it to a file.

Plotting
Now that I had the data I wanted to plot it out so I could see how fast the temperature was changing. I tried Google and Open Office spreadsheet programs to do this. I don’t know what I was doing wrong but it was difficult to get the temperature on the X-Axis. All columns wanted to be on the Y axis and I couldn’t find an option to change this. Then I remembered that I had MathCad on an old laptop. I was able to import the data and make a graph comparing the 2 runs.

Results
It looks like this toaster oven will work.  For small boards, some sort of aluminum tray or plate will be needed to prevent the boards from falling through the wire rack.  I don’t think the broiling pan will do as it has an uneven surface.

Next Steps:
Buy a solid state relay
Write the Arduino code for the temperature profile
Find a better plotting solution for looking at the temperature vs time.

Re: Reflow Oven (Yet another)

Reply #12
I use Crydom SSRs I got off ebay. Please make sure you look up the data sheet on them before you buy :)  I use both DC and AC ones and they look almost the same.  Keep up the good work.

Re: Reflow Oven (Yet another)

Reply #13
If I may chime in, I myself was curious about air flow as well.
You obviously cannot solder connections in the oven for the fan, so I guess crimping and mechanical means will have to suffice for the connections inside the oven to the motor. From what I have seen in normal DC motors, the high temperatures may pose a problem, specifically the lubricant used in the bearings will evaporate due to heat, and the plastic back cover which will melt eventually. Though, I guess you can just stick the motor outside and have the shaft go through the toaster wall, and attach a metal fan to the inside end of the shaft.

Nice of you to mention mathcad, I myself am looking for any plotting programs that can give me a nice looking graph, but also I have had problems finding one. I found a plotting program online, but it is only for equations instead of raw data, you should be able to find it in my power supply 2U thread somewhere. I heard some good things about wolfram, but I have no idea on its capabilities for plotting raw data, might be a good idea to take a look at it. It is not free, but has a free trial.

Any ideas on motors in high temperature environments?
Anyone know of any free plotting software out there?

Re: Reflow Oven (Yet another)

Reply #14
+/[quote author="hak8or"]
Any ideas on motors in high temperature environments?
Anyone know of any free plotting software out there?[/quote]

Most of the convection ovens that I have seen have the motor mounted on the outside of the oven frame. Looking at the cost for replacement parts for different ovens it does not look like the cost is going to be in line with trying to retrofit your oven with a high temp motor.  Maybe you can find a broken one with a good motor or just buy one with the fan in it.

As for plotting people have mention to me, but have not tried myself:

http://oss.oetiker.ch/rrdtool/
http://www.live-graph.org/

I just use the open office calc program with no major issues.  Have a great day. :)