I'm sure you've seen a ton of these by now. If you are a maker then this is one tool that you MUST have. Its convenient fast and you can even do a small production batch with these. If you are completely new to SMD soldering then search for reflow soldering and you'll get tons of information.
This particular instructable is based on the ControLeo2 reflow oven controller by Peter Easton. This is by far the best I've come across and the software is fully open source. It can control up to 4 solid state relays (SSRs), a servo motor (to open the door for cooling at the end of reflow process) and a buzzer. Most impressive is that it is self-learning. That means, it can adapt to your oven heating elements and their behavior. Thanks Peter for putting this out there! The electronics hardware design is based off Brian Barrett's design. He is super helpful and I suggest reading his build guide (multiple times). Thanks Brian! :)
Before we start a word of caution: We are dealing with 240V AC mains supply here. Please be careful. These are fatal and can really cause massive bodily harm. Turn off all power before you start working on these. I cannot be held responsible for any erroneous steps you take while building/modifying this oven.
Now lets get building! This i'ble is broken up into sections, namely: the mechanics, the electronics, the wiring and and powering up and testing.
Lets get started with the mechanicals. On to step 1!
Step 1: The Mechanicals
The oven selection is one of the most steps here. Here are some points to keep in mind:
- Choose an oven with quartz heater elements. They heat and cool rapidly and are cost effective.
- Choose an oven with approx. 1200W to 1500W preferably with 4 heater elements. Mine has two on the top and two on the bottom. These are essentially two pairs in series.
- Look for a simple oven without fancy controls and such stuff. Mine has just a temperature knob along with a timer.
Apart from the oven, here is a basic parts list (does not include the electronics which is listed in the next section):
- M3x10mm screws, nuts and washers - about 10-12 of them
- 1 sq. mm electrical wire - about 3m in length if you go for a single color. I had 4 different colors lying around the house which was very convenient.
- Fork terminals and straight lugs - about 20 odd
- Fiberglass wool - for insulating the oven so that heat remains inside the chamber
- Silicone gel sealant - These are very commonly available. I chose the white one cause its easier to see where you are applying it and more importantly if there are any gaps.
- A caulking gun - for applying the silicone gel
- Aluminum foil tape - to be applied inside the oven such that the heat reflects well and also for covering spots from where heat could leak and affect the heating of the chamber. The ControLeo2 build guide uses reflect-a-gold which unfortunately was not available in my part of the world.
- Fiberglass sleeves - for the wires inside the oven. Dont get the acrylic coated ones. Get the normal white braided ones.
- Heatshrink tubes that would fit the 1 sq. mm and 22 AWG wires when shrunk. I used 2mm and 4mm tubes. I also used a larger 5mm one to encase the connections for the neutral wire of the AC mains.
- A small aluminum plate - about 12 in x 12 in - this acts as a the support structure for the SSRs as well as their heatsink.
- Thermal transfer compound - for attaching the relays to the aluminum plate which acts as a heatsink for the SSRs. I used the ones that are used in attaching desktop CPUs to their heatsinks. A great example is the Arctic Silver or the Noctua NT-H1.
Open up the oven and you'll see the wiring. A quick note on the heating elements wiring: Usually you'll either have two elements or two pairs of elements. I had two pairs of them with one pair for the top and another for the bottom. Each pair was connected in series. This usually means they are rated for half your AC mains supply voltage. Since I'm using 220V AC, this meant each element is rated for 110V AC. I verified this the hard way. Initially I connected all four heaters individually but they heated up really fast (like within seconds).
Now, you'll need to disconnect all the wiring and remove the temperature controller and timer.
Next, you'll need to use the silicone gel to seal off any areas that are open and where heat might escape from.
Now comes the tough part - applying the foil tape to the insides of the oven chamber including the glass door. You must cover any open seams, hinges gaps etc. to prevent heat loss.
Now you will need to disconnect some of the wiring attached to the heater elements. In my case they were welded and had to be removed with something like a Dremel. Remember not to saw off the element endpoints. Those are needed. Its a tricky job so take your time with it. Most ovens in the US come with screw connections.
I also drilled a small hole in the side to insert the thermocouple.
Mounting the SSRs in the oven enclosure
I also made a small mounting assembly for attaching the SSRs and the mounting this aluminum plate to the oven. I chose a 1.5mm thick aluminum sheet but choose something a little thinner. It was really painful to cut this even with the Dremel. A 1mm sheet should give the same rigidity and would be more easier to work with.
This step took some time since the space inside for this was very small and I had to think through how to assemble it. I made an outline in Sketchup and then made a paper mockup. I then checked if everything fit right and then eventually replicated it in aluminum. I took plenty of measurements and eventually had to drill a few holes near the bottom side edge to mount the plate. I also used the existing holes where the original control circuitry was mounted. This made sure that the plate was not wobbly and wouldn't touch any of the oven sides.
Moving on to the electronics.
Step 2: The Electronics and the Wiring
The electronics combined with the software, control the solid state relays which in turn control the heating elements. Think of the relays as replacements for physical switches. Except they are electronic and can switch on and off very rapidly since there are no mechanical contacts based on inputs from the software.
The controller is based on Brian Barrett's design. His version is in Eagle but I designed my board in Kicad. Links to the file are listed below. This includes the BOM, schematic, Gerbers and layouts of the board in PDFs.
Once the boards are done you'll need to upload the firmware onto it. More steps on that in the Powering Up section.
Apart from the parts in the BOM, you'll also need these:
- Some wires that connect the control circuitry. Regular 22 AWG wire should work just fine.
- You will also need solid state relays. Mine are rated for 25A but since each element wouldn't carry more than 5A, a 10A one should work just as well. I bought the higher rated ones since the 10A and the 25A were priced the same.
- A K-type thermocouple with at minimum 1 meter wire.
- 2 pin 5mm pitch screw terminals
- Micro USB port
- Pin headers (standard 2.54mm pitch)
The wiring diagram is shown here. In my case the individual elements were already connected in series and I did not tamper with that. The heater element connections vary from oven to oven and yours just might have one element. I connected the other ends to the relay using female crimp terminals similar to the ones used in molex connectors and can handle upto 10A of current which makes them great for this application. These fit quite snugly but I'm thinking of a more solid solution.
Since we cannot solder anything for obvious reasons, the wires need to be crimped to the terminals. No need for a specialized crimping tool. I used a small nose plier to do that. Use plenty of heat shrink tubes to cover the joints between bare wires with terminals. I connected the neutral line of AC mains to the relays using small aluminum tubular ferrules. Again, cover these with heat shrink tubes.
There is a small thermal fuse in line with the Live terminal from the AC mains. The part # is SF214E and these are commonly available. This essentially cuts off mains supply if the temperature surrounding the fuse goes above 216 deg C. This one came with my oven. Don't forget to connect the grounding terminal to the oven case.
The last thing to do is to encase the entire oven chamber exterior with fiberglass wool.
Please note that I have not installed the buzzer and the servo motor. The motor requires some more mechanical assembly and essentially opens the door about an inch to help the cooling process move faster. I'm doing that manually since I'm anyway not planning to do this unattended.
Even though the pictures show 4 relays, I've used only 2 since there are now two pairs of elements with each pair consisting of two elements in series. This was after I realised each of my heating elements were only rated for 110V AC which was half the mains supply. of the D4 (bottom) to D7 (top) outputs, only D4 and D7 are used in the final oven. D5 and D6 are not used.
Step 3: Powering Up and Testing
Double and triple check all the AC wiring. This is important! Ponder on your wiring before you even approach the mains switch.
Preparing the controller
The firmware can be uploaded using the Arduino IDE. You will need to add ControLeo2 as a library. Adafruit carries an excellent tutorial on this and can be found here. Once done, load the ReflowWizard sketch from File > Examples > ControLeo2.
Right out of the box the ATMEGA32U4 chip on the board has all but the DFU in it. I installed the FLIP drivers from the Atmel site and the device worked great on the first go. I then compiled the ReflowWizard from the Arduino IDE to get a HEX file (enable verbose output through your Arduino preferences and when you Click Verify, it'll show the entire build output along with the path to the HEX file).
This unfortunately did not work for me. Which is why, I had to install the Arduino bootloader onto the ATMEGA32U4. To do that I used the AVR Pocket Programmer from Sparkfun (available in a variety of locally made flavors as well or you can build your own). Be sure to read through their hookup guide to understand how to use this (I manually installed the drivers for the programmer. If you've already installed FLIP beforehand, then Windows will detect this as as Atmel chip and that won't work).
The cable from the programmer is connected to the 10-pin terminal on the controller board. If yours has a 6-pin connector, you'll need to create a 6-pin to 10-pin converter. I created a 10-pin one cause the 6-pin ones are very expensive in my part of the world. Also make sure the power target switch is set to ON since you are powering the ATMEGA32U4 from the programmer itself.
Once you have connected the programmer to the controller, open the Arduino IDE, choose the correct port, Select 'Arduino Leonardo' from Tools > Boards and USBTiny from Tools > Programmer. Then click Burn Bootloader from the Tools menu. The RX and TX lights should flicker on the controller board for a while and you'll get a positive confirmation once the bootloader is uploaded. Now you need to open the ReflowWizard sketch from File > Examples > ControLeo2 and click Upload.
If everything went right, you'll see the title and the firmware version on the LCD.
Connecting the controller to the relays
Now that you have the controller configured, connect the SSRs to the terminals SSR1 to SSR4.
Here is the mapping between SSR terminals on this board and the software setup for each of the relays (D4 to D7).
- D4 - SSR2
- D5 - SSR4
- D6 - SSR3
- D7 - SSR1
Make sure that the relay terminals marked '+' are connected to the 5V inputs of the terminals.
Take a look at this handy video to see how the individual outputs are configured. In my case, I have configured D4 to control the top elements and D7 the bottom elements. D5 and D6 are unused.
I used the USB to power the entire controller but you can power it using a separate DC adapter too. Many guides install a 5V wall wart right inside the oven enclosure such that there is one AC line feeding all the power. Mine just did not have the space inside.
The controller will enter a learning mode and after about 5-6 cycles the controller will have auto configured all the settings. If your oven is heating up too slow or too fast, the controller will output the message and abort. Don't change any settings just yet. Let the oven cool to about 45 deg C and restart the reflow process. The controller will keep adjusting the relay duty cycles till it adapts the reflow standard process to your oven correctly. Once this is done, it'll exit the learning mode. If you change any settings, it'll re-enter the learning mode and start from the beginning again.
One other great thing is that you can power the controller from the Micro USB connected to the computer. This will also let you monitor the temperature outputs every second from the reflow process. The graph shown here is the stable process after about 5 learning cycles.
There you have it! A full fledged reflow controller that works just great!
Possible future additions
A correctly labeled board, relay servo and buzzer driving with an integrated chip (perhaps the ULN2003A), Addition of protection circuitry when powering from a DC adapter instead of USB, A bigger OLED/LCD display showing the phase, temperature and reflow chart in real time.