uC based reflow oven controller

Look here: http://www.circuitcellar.com/renesas/winners/3323.htm

The grand prize winner of the circuit-cellar / Renesas H8 competition for 2003 was a microcontroller based system for turning an off-the shelf toaster oven into an SMD reflow oven.

basically, he connected a relay to the heating element in the toaster-oven and added a temperature sensor, the rest is software to control the reflow profile (the Renesas based version is written in basic, but I’m sure that a PIC/C version could be easily written – hey SparkFun: build the board, and I’ll write the code :wink:

– Pryankster

Hey…I read that article…I think a PIC version would be great! The Renesas controlled ovens’ profile wasn’t real accurate, but close enough I’m sure. I have performed reflow in a Black and Decker toaster oven by hand control, monitoring temp on a thermocouple with satisfactory results (in other words, it worked and I didn’t fry my accelerometers :smiley: )

I think the biggest hurdle is finding a cheap toaster oven that will ramp temperature at a great enough rate (3 deg C / sec typical). But, back to your post…if you build it, they will buy it! :wink:

What a fantastic idea. I’ll see what it takes.

-Nathan

I have a DeLonghi toaster oven I bought last year specifically to convert to a SMD oven. I bought it because it is a 1500W oven, has a circulating fan and has 4 heating rods (2 above and 2 below). The heating rack can be positioned in the middle of the oven which should help with even heating on both sides of the PCB.

I’ve done some boards controlling the temperature manually and it works well. I also informally checked the rate of rise on the heaters and it’s pretty darn fast. I don’t remember the exact rate, but I do remember thinking it was fast enough to do a reasonable profile.

Anyway, like all my “personal” projects it’s been sitting while paying work gets done. I’m hoping to get the conversion done this summer. If I do, I’ll be writing the code in C (not sure if I will use one of my Rabbit Semi interface boards or a custom PIC, MSP430 or AVR board). Since this is a personal project and not a client project I can post the finished code. I’ll also take some pics and post them on my website.

This all supposes that I actually get to it sometime this decade… :roll:

I am tempted to turn this and a plethora of other hot-air solder posts into a new forum area…

We’ve started on the Reflow Toaster and I welcome feedback and input.

Chatting with Pete-o, we settled for a middle of the road solution. We planned to use a 16F88 with an external serial connection (for use with Bloader/Screamer). We determined that the button and LCD interface accounted for most of the PCB area and sucked up all the PIC I/O lines - none left for the temp or relay control. So we did away with the LCD interface and buttons. This simplifies things greatly. Leave the control up to a computer and a much nicer GUI. All the PIC has to do is respond to serial commands like ‘Tell me what the temperature is’ and ‘Turn on’ ‘Turn off’ the heating element. Uber easy.

Make a little VB app for profile creation and display and you’re done.

Yea, it would be nice to have a self contained unit. This could be done with a SerLCD and some buttons, but we’ll leave that revision for when we get a toaster cooking routinely.

Here’s a link to the current schematic : http://www.sparkfun.com/tutorial/Reflow … ic-v01.pdf

Pretty simple layout - all PTH (I hate) parts. Link to the PTH layout :

http://www.sparkfun.com/tutorial/Reflow … ut-v01.jpg

Type-K Thermocouples are on order. Pete and I talked about mounting a SPDT 120VAC 10A relay (care of Omron/Digikey) onto the board but figured the toaster must already have some sort of relay built into it.

We really need to find a toaster now. The DeLonghi toaster looks perfect. Froogle pops a bunch of models up - have you got the specific model you bought?

I greatly value feed back. Let me know,

-Nathan

The DeLonghi oven model I bought was the AD679. I bought it a little over a year ago at an online store as a sale item for about $100 but I don’t know if they still make it. It’s probably a little “high end” for stripping down (it’s one with a digital temp control) but that actually came in handy for hand timing some boards. I seem to recall they made one with a mechanical timer and temp control that had the same heating elements and fan that might be more budget oriented.

My thoughts on how I’ll probably implement my controller (and a few comments on yours too I guess):

  1. I’m making my controller stand-alone. I’ll let it interface to a PC, download profiles (probably save them to EEPROM/Flash on controller), upload real-time temperature and other status data and probably be able to run a real-time profile graph. But I definitely want to be able to have a profile loaded in the controller and just hit a “go” button and have it run a cycle.

  2. I don’t trust a PC not to crash in the middle of a soldering cycle. Considering how much time I spend on the prototype board if I burn a batch because @#$% Windows locks up or the program crashes, well… I’ll not be a happy camper.

  3. Type K Thermocouples are good. I was looking at Omega’s website and they have some cheap Type K’s. They also have some armored sheaths for mounting them that will help protect them. You just drill a hole on the side of the oven chamber and they bolt through. My oven already has one of these in it for it’s temperature probe. I’m not sure if they used a platinum RTD or thermocouple, but I’ll find out when I tear it apart. I’m thinking of running two thermocouples for above and below board temperatures.

I’ll likely use MAX6675 converters for my thermocouple interface. I’ve used these before and they are sweet! The MAX6675 chip, a bypass cap, your Type K TC and you get 12 bit temperature over SPI (0ºC->1024ºC). I’m normally not a huge fan of Maxim, but in this case it’s a great part for the job. Maxim’s chips are great but getting them in production volumes for commercial products is always a crapshoot.

  1. I’m definitely using keys and an LCD. I want a standalone user interface and display. In your case, why not just use a larger PIC? You seem to have a certain affection for 16F88’s… :wink: Which is fine, they’re great chips but I’ve always believed in using the chip that fits the job not fitting the job to the chip.

  2. I’ll probably use solid state zero cross relays instead of mechanical relays. Mechanical relays can cause noise problems on the AC line, even when switching heavy resistive loads like the heaters. For the fan they’ll be even worse. Mechanical relays will work but you may have to fight noise problems and the noise might even get back into the PC. But then I’m pretty conservative in my designs, especially when I’m building a tool I want to have work forever with few or no hassles.

Oh yeah, the toaster will probably have at least two relays in it (maybe three) – one for the fan, one for the heaters or possibly one each for the top heater and botton heater. Hmmm, you know I don’t remember my oven “clicking” on and off except maybe for the fan. They may be using triacs for the heating elements. I bet they are, they are cheaper than relays.

So with all that taken into account I still haven’t decided which CPU to use. I have been doing a lot of MSP430 designs lately and really like the chip family. I’m a registered Microchip and Atmel consultant so I really should think about a PIC or AVR too. And I have an [interface board that I designed a while ago for the Rabbit CPU modules that already has everything I need except the thermocouple interface – but it does have an expansion slot for a small board just for occasions like this. The Rabbit is overkill but probably easiest to write software for. And I’m a registered Rabbit consultant too… decisions, decisions.

Anyway, keep us posted. I’ll do the same. I’m especially interested in what kinds of algorithms people are using for their heater control and profiling.](http://www.mps-design.com/misc-images/RIS-D.jpg)

Any idea when this might be available? Just a general timeframe to help set expectations would be enough.

I’m reflowing with pretty good success manually controlling the temperature, but would really like a better solution.

Well I’ve got a ripped apart toaster oven on my bench at the moment. I’ve got the thermocouples and Analog parts. We should have the first PCB in a week. I’ll update as soon as possible. It’s really a toy project so I can’t say. Sounds like it needs more of a priority. Let’s see what pete’s doing… :wink:

-Nathan

I just drank a Mojito, wrote a couple datasheets, and a tutorial on the reflow oven. http://www.sparkfun.com/tutorial/Reflow … oaster.htm

We hope to do many more topics and tutorials on SMD soldering.

-Nathan

sweet. Nice to see my “hey, wouldn’t it be neat if …” seed-of-an-idea blossom into something real…

– pryankster

(though I’m now getting to be a pro doing SMT with the ol’ soldering iron :slight_smile: )

Can anyone tell me if you could do BGA’s at home with a reflow system?

For the small boards I work on, I have had the best results not trying to control the heating profile. I just preheat the boards on the top of my $30 oven for 10 minutes to dry the water soluable paste and they then reflow at 450F in less than 90 seconds. I then turnoff the oven and open the door. Some sort of fume extraction would be a good future project.

I did a “designed experiment” manually controlling the temp through several stages and ended up with over cooked boards every time. But if you wanted yellow silk screen instead of white, its perfect. :wink:

I currently have a zero failure rate (fingers crossed) in the field and these boards see some real abuse including submersion in muddy water at the recent Pomona Paintball tournament that became a giant slip ‘n’ slide.

As a side thought, rather than rip your oven, why not control the 120V coming in. That way you can just plug your oven into the controller and mount the RTD sensor.

Jamie

Yep, that’s what this guy does: https://www.ArticulationLLC.com

That’s the way we would like to do it, but mounting an outlet onto a PCB is sort of silly. Much easier to do in a enclosure. We’re just going to leave the oven connection up to the end user.

BGA’s require x-ray or prism inspection systems. You can certainly reflow them at home, but what do you do when they don’t work? BGA rework stations are pricey.

-Nathan

2 quick comments.

  1. You stated a desire to have +/- 2 degrees (C) accuracy, but you are using the output of the 7805 as the reference voltage for the A/D conversion. It’s only good for 5%, which means your accuracy might be as bad as +/- 12 degrees (C) at 230. Is this going to be a problem? The 2950A precision regulator is 10X better at 0.5%, but only supplies 100 ma which would dictate a solid state relay.

  2. The AC connection can be lethal. If you are going to make this a kit, shouldn’t you worry a bit about grounding and protection?

I’ve had a similar project in “background mode” for a while. A couple of comments.

  • why not use triacs rather than relays? There are logic level ones that interface directly with cmos logic. I agree with the poster that has concerns about using relays to control that much current. I think it would be pretty easy to use a PID algorithm to control the temp. A Solid State Relay would work ok but at that current rating they are fairly pricey.

  • I’m a bit concerned about hot/cold spots in the oven, especially as board size goes up. I think a convection oven would be a good choice (though more expensive) as it will produce a more uniform temperature. I’d be worried about blowing the chips around though. Guess some one needs to do a test. Maybe slow down the blower.

  • I’d move the relay/triac/… off the board. Just keep it low voltage on the PCB

  • I’m thinking of using large 7 seg LED displays for temp, cycle and time remaining. This is for readibility - even with a back light, LCDs can be hard to read (distance or angle).

Cool project. Have fun.

Phil.

…a little off topic…

What do you guys use to apply the paste? Are you doing it manually or via stencil?

We use a stencil exclusively. I tried it by hand once - I couldn’t do squat.

We are working on a stencil ordering system as well. Cheap. Less than $50 a stencil. But with what we’ve seen from the PCB service, we don’t know how to handle the problem orders. I’ll post another topic about this specifically.

Phil and Jmoyer - great feedback! I dunno if a control loop will work. I don’t think these resistive coils can react fast enough. The coils in our ‘real’ oven are IR coils that burn out over time - basically really expensive high wattage bulbs.

Yes - the AC could kill you. The original board just had 12VDC control though a screw terminal that allowed the end customer to attach to whatever relay or control unit they wanted to use. This can also be done with the latest revision PCB - I’m thinking the user could just not mount the relay we provide, and solder into the connection holes.

If you read through some of the toaster tutorials, most gloss over the relay connection. It’s the hardest and most screwy part of the project. This is not for the faint of heart. The control board is more for the data aq. and the decision making. How you physically turn on/off the oven is still sorta in the air.

The im-precision of the voltage regulator carries through to the thermocouple amplifier and finally to the ADC on the PIC. As long as all line are steady (lots of decoupling caps) we are ok. If the VDD line is 4.95V or 5.12V, doesn’t matter as long as it doesn’t vary +/-0.5V (I’ve seen +/-2V on some wire wrap boards…).

Time for a silly question - How is a triac better than a relay? Solid state relays would be fine, but for one that size, it could easily be $30 a pop.

-Nathan

sparky:
The im-precision of the voltage regulator carries through to the thermocouple amplifier and finally to the ADC on the PIC. As long as all line are steady (lots of decoupling caps) we are ok. If the VDD line is 4.95V or 5.12V, doesn’t matter…

Are you sure?

The AD595 supply can be as high as 30V, so it’s output accuracy does not depend on the accuracy of the supply. The A/D reference voltage on the other hand directly affects the way the 10mv/degree output of the 595 is interpreted as a temperature. If it was 2 V low as you have seen, then a 3 volt input (300 degrees C) would be interpreted as 500 degrees!

The Maxim 6675 eliminates this problem. You get a digital temperature value directly, but it uses 3 I/O pins instead of 1, and you are rather low on I/O pins. A common technique is to use a shift register to reduce the number of pins needed to drive the LCD to just 3.

I do my solder paste in small batches and so the stencil clean up would be a large portion of my time for the tiny boards I make. I broke down and ordered a DG10 DispenseGun from efd inc. for about $100 shipped. It takes a 10cc paste syringe and makes the application much more reliable and easy. I have built around 150 boards to date with ~15 smt components.

If I start to make larger boards, then the stencil is by far the way to go. pcb-pool also has a stencil pool that may be worth looking at.

How is a triac better than a relay?

No sparks or mechanical fatigue. 1500Watts can be handled by a Q4025L5 triac driven by a MOC3011 triac driver - all for less than $4 from Jameco. No snubber is needed because the load is not inductive. See http://www.fairchildsemi.com/an/AN/AN-3003.pdf

-Randy