Intro: IR Temperature Controller for SMD Skillet Reflow
This instructable will help if your trying to get into making your own circuit boards using SMD (surface mount device) re-flow. After hand soldering a bunch of boards I became really interested myself.
In this instructable I'm going to talk mostly about using the Melexis MLX90614 IR (infrared radiation) sensor. Also, while building a sensor interface board, I'll also take care of driving a Crydom SSR (solid state relay).
There is already a bunch of web info on re-flowing boards using either a skillet or toaster oven. Both of the following links are good:
What I thought was missing was information on instrumenting the skillet. This instructable should take care of that.
Note, Parallax already makes, and sells, a Melexis IR interface board. However, I don't think it has any digital outputs (I could be wrong since I never owned one). There is no way to remotely mount their sensor either - their design has the sensor solder right onto an interface board.
Step 1: Construct a Method to Hold the Sensor.
Build a simple counterweight so that the IR sensor can be suspended above the skillet. I pulled four wires through the cup and copper spiral.
Step 2: Build the Interface Board.
The little PIC-12F609 circuit is really simple. The interface to the Melexis sensor is SMBus (System Management Bus). Luckily, Melexis had a good App Note on their web site. It took a bit of work to port the code over to the CCS compiler.
I also had trouble with the CCS compiler serial output code. I ended up writing my own which I think is better. My version uses one of the PIC timers. In contrast, the CCS compiler generates RS232 code using only software timers.
Anyway, all the source code is attached and, I think, well documented.
Here is a link to the Melexis web site for datasheets and app notes:
The Melexis app note on the SMBus was indispensable.
Tom Cantrell had a nice write-up in issue 219 of Circuit Cellar. The original article may be purchased on their web site for $1.50. Tom's article was the inspiration which got me moving.
Step 3: Build a PC Interface
The Gui for this project is all pure Python. All the software (including Python) is all open-source. If your running Ubuntu it's really easy to install. Just use the package manager to install Python-2.6, Python-Matplotlib, and Python-Serial. Takes the package manager about two minutes. That's it - your ready to run the Gui. I just Love Ubuntu/Linux - I can't believe it took me so many years to make the switch.
To install on Windows your going to need to find each piece and install it yourself. It's really not that hard to find these packages since they are so popular. Once Python, MatPlotlib, and PySerial are installed the attached PC app should run without any problem.
The Python Gui app drives the SSR output by sending commands to the PIC. The output cycles on, and off, over a 4 second cycle. As an example, to get a 75% output the output would be on 3 seconds out of 4.
I started writing a bunch of PID control code. But, in the end, my skillet didn't need it. I simply turn the skillet on at 100% and wait for the peak temperature. Takes my skillet about 8.5 to 9 minutes to hit the peak. Right at the peak I turn the SSR output off and then wait another 30 seconds. Then, I kick on a little table fan to help ramp the temperature down. On the down slope the skillet is only ramping at about -0.5 degrees C / second. There does not appear to be any danger of thermal shock since the burner has so much thermal mass.
Oh, I almost forgot, if you want to change any of the Gui stuff you will also need Glade. This is another open-source piece of software (runs on both Linux & Windows). Glade is just a simple Gui editor that lets you change the Gui layout stuff.
Step 4: Conclusion
Well, I came prepared for big game. I developed some big guns to attack this reflow oven problem.
I expected to need to tightly control temperatures in my skillet by using a fancy PID close loop temperature system. I was prepared to switch the 110Vac on & off quickly to drive the temperature in the skillet. I was also prepared to monitor real-time temperatures using an infrared probe.
In the end, for me, just setting the skillet on at 100% and waiting for peak temperature as the skillet ramps at 1/2 degree C per second works well. Once all the paste melts into solder simply switch off the skillet and let it cool with a gentle fan. In my skillet I never came close to the 2 degree C / second max ramp rate that the paste manufacture says to avoid. All in all, pretty easy.
Oh well, maybe some of you all might need some of these guns to help you fight your own reflow oven problems. It's also neat to be able to watch the temperatures ramp in the skillet.
Hope this helps,