I've decided to spend some time profiling the toaster oven. In addition, I've made a simple controller board that may get the brains to manage a reflow operation on it's own one day. For now, I'm satisfied learning more about the oven's capabilities. An interesting thing to notice is that it (appears) incapable of satisfying the recommended profile from Kester. I wanted to start with a very simple controller that gets most of it's brains from an attached computer. This is a somewhat central tenant of the way I build most projects. The reason for this is that computers have really huge screens, and nice keyboards so it's easy and cheap to have a cool UI. For this project I'm still working on the OpenGL for the realtime graphing of the temperature profile, but you can see what I have designed so far:
The left side of the window is where the realtime graph window goes, the oven system status is in the upper right, with the reflow profile defined by the user in the bottom right. Anyway, back to the controller hardware.
The controller is built around a PIC microcontroller and the Maxim 6675. The 6675 is a thermocouple conversion chip that handles all the analog complication of dealing with thermocouples (including cold-junction temperature). The microcontroller interfaces with it through a simple synchronous serial protocol. One thing that you have to keep in mind with this chip is that if you request a sample more than 4 times a second then it doesn't finish the conversion. I decided to let the microcontroller handle waiting for the appropriate amount of time, taking a sample, and sending the data over the serial port.
Because computers don't have serial ports anymore, I have to include serial toUSB converters on everything. In this case I used the FT232RL schematic block that I copy and paste whenever I need it.
Like almost all my projects, I got a board made at BatchPCB. It turned out great:
Unfortunately, I wasn't able to find a nice socket for the somewhat standard plug they put on the end of thermocouples. In this case, I just used a screw terminal. The posts on the left go to the thermocouple wires. I've included another pair for adding a relay that could be used to switch power to the oven. Also, I've included a port that could control a R/C servo that could open the front door to facilitate rapid cooling of the oven. Eventually, I'd like to allow this controller to begin a reflow cycle when the button in front is pressed, runs until the target temperature is reached, shuts off power, and opens the door at the perfect time. For now, I still have to watch and stop when I feel it's right.
The thermocouple is installed just by using the friction of threading it through the oven rack that is installed above the board.
To keep everything relatively tidy, I double-stick taped my controller to the side of the oven:
Finally, I'll analyze the graph from the beginning of the post. For your convenience, here it is again:
The blue graph is the recorded profile used while soldering an actual board based on my observations. I stopped the oven cycle based on the advice I gave in my other post about the Toaster Oven Reflow Soldering post. For the Green trace I ran the oven until the thermocouple read 210°C. I decided to run it without a board in it because I didn't want to smell burning FR-4 😉. I'm not saying that it would have actually burned it, but I realize now that I really need to calibrate my thermocouple against a trusted reference thermometer.
To compare the actual results against the specifications in the Kester datasheet, I've included a line for the maximum and minimum profiles. For the preheat phase of the profile all that is required is that the temperature increases less than 2.5°C/second, up to 150°C so I didn't include it. Once it reaches 150°C the temperature needs to increase between .5 and .6°C/second up to 180°C. From 180°C to 210°C temperature needs to increase at a rate between 1.3 to 1.6°C/second. As you can see the toaster oven almost keeps track with the 150-180° rate, but can't achieve the 1.3-1.6°C/second ramp rate. I'm not sure what the exact effect of this is, but I've had good results so far.
Anyway, it was an interesting exploration. I do kinda wish I was able to match the correct profile, but I'm glad in a way that it doesn't because I don't have to implement a PID temperatue controller 😃.