SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By reklipz
#42893
Hey everyone! I'm really excited about one of my current projects, I thought I'd share it with you.

Some of you may already know about it, but for those of you that don't, it's a toaster oven reflow controller. It's all solid state, based upon a triac instead of a mechanical relay. Well, enough babbling, like they say, a picture is worth a thousand words, and there a lots of pictures!

The PCBs were fabbed by BatchPCB, designed with Eagle. All of the parts were purchased through Mouser, except the microcontroller (Microchip, free sample, =), the regulator (Linear Technology, free sample), the thermocouple chip (Maxim/Dallas, and again, free sample), and the inductors which were purchased from coilcraft. The oven was some $20 1500W six slice oven that I got on sale at Wal-Mart.

I realize I'm lacking on details at the moment, but I'm in a bit of a rush, I'll post more details a bit later.

Oh, and I thought I'd mention, this is my very first project, so questions, comments and criticism are more than welcome.

Photos:
http://picasaweb.google.com/ReKlipz/Tor ... AEgAElUKqc

-Nate
By Random
#42894
It looks awesome, but you need pics of it reflowing stuff! :D

On a more serious note, I love the lit up button pad, are you planning to cut out a hole in the existing control panel to mount it, or just stick it over the top?
By reklipz
#42895
Random wrote:It looks awesome, but you need pics of it reflowing stuff! :D
Agreed, getting it working will make it worth it's while.
Random wrote:On a more serious note, I love the lit up button pad, are you planning to cut out a hole in the existing control panel to mount it, or just stick it over the top?
I do plan on cutting holes in the panel and mounting the board on the inside. I have to cut holes for that, the switch and the fuse holder, and the USB port, which I plan on doing later today. I may also wind up needing a fan for the side compartment as well, as the wall between the actual oven and that compartment is a single sheet of metal.

-Nate
By Kuroi Kenjin
#42902
Freaking Sweet!
'nough said.
By Heffo
#42922
reklipz wrote:I may also wind up needing a fan for the side compartment as well, as the wall between the actual oven and that compartment is a single sheet of metal.
I definitely would put the fan in there, your electronics will get damn hot, almost to reflow temperature, and you really wouldn't want your parts sliding off their PCBs. You should also consider finding some insulation material that can easily handle the high-temperatures of the oven to serve as a barrier between the hot and cold sides. It also would stop the cold side cooling the side-wall of the oven space, creating a cold spot inside the oven.
By corvette123
#43057
hey nice controller :)

what oven are u using?

there is a cheap IR kenmore oven for like 50 dollars i dont have the model # on hand though... it has comparable performance with the black and decker infrawave :)

so that is an upgrade....

we did our own reflow controller too.

www.thesiliconhorizon.com

actually we redesigned it.... new boards are being made in china right now...

cant wait to get them back!!!

but keep us posted on the project!!!

which thermocouple amp are u using?

ad597?

the ad595cq is the more accurate one... but in a cdip is the cheapest at digikey.... thats 1 deg C accuracy.... not too bad...

the ad597 is good for 4 deg C but its cheeeaaappp
By corvette123
#43058
oop[s i see your max6675 chip now :)

nice part... thermocouple to spi 12 bit... thats cool

its cheap too. about the same as ad597...

but its 3 deg C where ad 597 is 4 deg C so thats a step up definately....
By reklipz
#43080
Actually, our designs are very similar.

I'm using a PIC18F2550, the little brother of your 4550.

I was looking at using the AD597, but I used my analog sample for another project, so I got the MAX6675 from a Maxim sample instead. It's got built in temperature compensation, thought that was pretty cool.

Also, I hope the oven can meet the performance requirement, as far as heating / cooling rates go, never really tested it before I started.

A project update for those that are reading:
I've cut holes for the LCD and keypad, they're ugly, gonna need some sort of bezel to cover it up. I also cut holes for the USB port, the fuse holder and the switch, they're ugly too, but not readily visible, so no worries.

I also had a problem getting the ICD2 to communicate with the 18F2550 on the board, turns out that the thermocouple amp, whose CS line is connected to one of the programming data/clock lines, was interfering. I removed a portion of the trace connecting the two chips, scratched away some of the solder mask, and soldered a 10K resistor inline, and now the programmer works fine.

I've got to make a few more wirings to the mains power circuitry, nearly forgot to include the 12V transformer, that could have been disastrous.

First thing is to make sure the thermocouple and amp are working (I've already got some code written for this, albeit a different µC). Then, I get to mess with the LCD and keypad.

I'm also going to look into finding something to use as heat shielding as was recommended earlier in the thread by Heffo.

@corvette123, good luck with the new boards!

-Nate
By corvette123
#43093
i like how your integrating it into the oven thats cool.... i was worried about heat...

actually with testing on the black and decker we use, extending 100 % all out temp testing and long times indicated that the circuit board did not get too hot.... (and we used regular solder to hack the oven...)

the solder junctions are still good to this day and many many many many reflow cycles.. (we only have 1 setup here...)

yes a heatshielding sounds like a good idea... also note that those ovens use a some type of high temp boots to protect the ends of cables where they are soldered to the boards...

our new controller has many more options than our old one.

while we used an expesive I2C LCD in our 1st design to get the LCD and Keypad hooked up, now we have a keypad port and I2C for LCD or UART for LCD both at 5 volts...

we also added an output for fan for cooldown cycle or bringing it down.

and we already have the code good to go..... :)

our code will be provided with the controller.

oh and its all surface mount now and a small 2"x2" size.

so we have lived and learned!!!

hahahahahah

always improving...

just dont burn your house down ...
By corvette123
#43094
are u doing a full PID? or use on / off...

actually u can do a modified pid with on / off and use the pid output to drive the direction... that works well also...

microchip has a pid AN with code out.... it works well...

but running a full pid on 2550 and then u might have to process your ADC data too (even if u get it from SPI its still adc data...) will bog down your chip nicely....

a dspic is better suited.
By reklipz
#43122
Note to self; include pull ups / pull downs on keypad inputs... especially when their state change will drive interrupts. =)

corvette123, at the moment, I plan on only using on / off for the triac, although it has the capability to do current limiting as well (just allows x amount of sine wave through), but that requires more circuitry that I don't have on the board (a simple sense resistor would work though I think). It seemed a bit overkill for the application, so I decided not to complicate things.
By corvette123
#43142
you dont have to do a keypad that way if u dont really want too..... u could use interrupts... but if your doing a PID on this puny device?????? pullllleeassseeee.......

just an occasional scanning will work.

how big is that cap your using? its big enough to poke somebodies eye out :)

ok so your doing on / off then. how you driving it? just with the current temp- targettemp pos or neg bit?

if you arent using a PID then you should have plenty of MCU time to do whatever you like hahahah and then interrupts for the keypad yah.....

otherwise id just use polling / timing for the keypad as it is mainly used when STARTING the reflow operation.

and killing a reflow operation would be to toggle the power switch... (is that a ghetto way of doing things?? hahahahah maybe sooo....)

or i guess u could do the keypad the right way and kill the interrupts or set their priorities as such so they dont interfere with other code......

you should try a PID algorith,.... they work and are fun.

but the problem in this application is that they scale rather slowly.

that is why you could do a PID and use it to drive the system full on / off.

it works. we have proven it. and it scales alot faster as is the case in this application and still exhibits curve following capability and predictability as such.
By corvette123
#43143
what will be your refresh time??

most PIDS on reflows (hobbyist) that i have seen are like 100 mS

ours is currently 5 mS, but we like to fiddle with it alot.

dont forget your ADC filter after you read the SPI data !!! this is imperative.
By reklipz
#43174
I'm not 100% sure about how I will implement the PID, it probably won't be true PID, just power on / off based upon the current read temp.

As for the refresh time of the LCD, I've no idea, however fast I can get it I suppose, it's not real important though.

I added pull down resistors to the keypad inputs, without them, the inputs to the PIC were just floating, and I could make a key "press" by just bringing my finger close to it. It was pretty cool actually, but it would also make other keys press, and it wasn't only my finger that had to get close basically any noise would set it off, and it was happening a LOT, not good. I do still plan to do interrupt driven keypad input, it only makes sense to me. Luckily, because of the way the keypad footprint was made, you are forced to have at least two layers, unless you get fancy with keepout layers or something. This forced each keypad footprint to have a trace running along the bottom layer, which has a ground plane across the whole layer. To add the resistors, I simply scraped away some solder mask the appropriate distance from the via for a 0805 resistor, and viola, looks like it was meant to be that way all along. I love it when things just work!

Also, MISO is not MOSI. Break out the green wires and xacto knife! (remember that things just work statement? :cry:)

Also a note, the PIC is clocked at 48MHz, but I may drop that down if I don't need the speed (or if it can't handle that speed at the current voltage).

-Nate
By corvette123
#43175
actually i meant refresh time of the PID (ok bad word i chose hahahhahah) well how often the PID interrupt hits.... it is constantly being calculated... PIDmain()

then u have PID interrupt and PIDadjust in the interrupt... theres many ways of implemnenting the PID algorithm :)

if you do PWM and feel the scaling is too slow, then switch to full on / off but driven by the PID. afterall the response on these ovens is soooo slow!!! and we are using IR ones...

there are weak pullups on some ports of the pic... just a through to save components :p

hahahah dont blow your SPI stuff up...

what voltage are u running it at?

obviously it would be better to run at 5 volts to get the greater K thermocouple range upto about 460-500 deg celsius... whatever it says in the chart...

remember if u go with 3.3 then use the LF part.... its about same price...

we have used the non LF part and stil run at 3.3 and noticed no difference hahahah.... so go figure... but microchip says LF for 3.3 and full 48 Mhz.