DIY reflow oven - Page 1
Forum section: electronics / projects

author: Mikey
author_rank: Regular Contributor
timestamp: September 22, 2012, 10:04:11 am
content: This actually started in this other thread (https://www.eevblog.com/forum/projects-designs-and-technical-stuff/i-blame-you-all-and-specially-dave!/), but I feel it would be better if it had its own.Started to brainstorm a bit about this project...Hardware:Oven:http://www.harald-nyborg.dk/p6101/wasco-miniovn-18l3 buttons for pre-set programs. (Reflow/Cocio heating/???)LCD to show the progress and current+target temperatureI2C or serial controlled display to use fewer wires.Some way of opening the front lidStart + Stop buttonEthernet connection (for no other reason that I like putting things on ethernet)Buttons like these:https://www.adafruit.com/products/559Software/Controller: (version 1)Arduino as controllerLight up pre-set button when pressed to show active programLight up and fade 100% > ~50% > 100% start button when program is runningHave stop button flash on off when program is doneUse a servo motor to push the lid open when program is doneMake program/temperatures/watts used/progress avalible via ethernetAllow oven to be switched off via ethernetSoftware/Controller: (version 2)Mostly same as version 1, but with a controller board I designed instead of the arduino.

author: Jimmy
author_rank: Regular Contributor
timestamp: September 22, 2012, 10:59:50 am
content: I love your IdeasI am buliding one for HSBNE.ORGhere this will get you started (it is not mine)Code:/******************************************************************************** Title: Reflow Oven Controller* Version: 1.10* Date: 22-12-2011* Company: Rocket Scream Electronics* Website: [url=http://www.rocketscream.com]www.rocketscream.com** Brief* =====* This is an example firmware for our Arduino compatible reflow oven controller.* The reflow curve used in this firmware is meant for lead-free profile* (it's even easier for leaded process!). Please check our wiki* ([url=http://www.rocketscream.com/wiki]www.rocketscream.com/wiki) for more information on using this piece of code* together with the reflow oven controller.** Temperature (Degree Celcius) Magic Happens Here!* 245-| x x* | x x* | x x* | x x* 200-| x x* | x | | x* | x | | x* | x | |* 150-| x | |* | x | | |* | x | | |* | x | | |* | x | | |* | x | | |* | x | | |* 30 -| x | | |* |< 60 - 90 s >|< 90 - 120 s >|< 90 - 120 s >|* | Preheat Stage | Soaking Stage | Reflow Stage | Cool* 0 |_ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _* Time (Seconds)** This firmware owed very much on the works of other talented individuals as* follows:* ==========================================* Brett Beauregard ([url=http://www.brettbeauregard.com]www.brettbeauregard.com)* ==========================================* Author of Arduino PID library. On top of providing industry standard PID* implementation, he gave a lot of help in making this reflow oven controller* possible using his awesome library.** ==========================================* Limor Fried of Adafruit ([url=http://www.adafruit.com]www.adafruit.com)* ==========================================* Author of Arduino MAX6675 library. Adafruit has been the source of tonnes of* tutorials, examples, and libraries for everyone to learn.** Disclaimer* ==========* Dealing with high voltage is a very dangerous act! Please make sure you know* what you are dealing with and have proper knowledge before hand. Your use of* any information or materials on this reflow oven controller is entirely at* your own risk, for which we shall not be liable.** Licences* ========* This reflow oven controller hardware and firmware are released under the* Creative Commons Share Alike v3.0 license* http://creativecommons.org/licenses/by-sa/3.0/* You are free to take this piece of code, use it and modify it.* All we ask is attribution including the supporting libraries used in this* firmware.** Revision Description* ======== ===========* 1.10 Arduino IDE 1.0 compatible.* 1.00 Initial public release.*******************************************************************************/// ***** INCLUDES *****#include <LiquidCrystal.h>#include <max6675.h>#include <PID_v1.h>// ***** TYPE DEFINITIONS *****typedef enum REFLOW_STATE{REFLOW_STATE_IDLE,REFLOW_STATE_PREHEAT,REFLOW_STATE_SOAK,REFLOW_STATE_REFLOW,REFLOW_STATE_COOL,REFLOW_STATE_COMPLETE,REFLOW_STATE_ERROR} reflowState_t;typedef enum REFLOW_STATUS{REFLOW_STATUS_OFF,REFLOW_STATUS_ON} reflowStatus_t;typedef enum DEBOUNCE_STATE{DEBOUNCE_STATE_IDLE,DEBOUNCE_STATE_CHECK,DEBOUNCE_STATE_RELEASE} debounceState_t;// ***** CONSTANTS *****#define TEMPERATURE_ROOM 50#define TEMPERATURE_SOAK_MIN 150#define TEMPERATURE_SOAK_MAX 200#define TEMPERATURE_REFLOW_MAX 250#define TEMPERATURE_COOL_MIN 100#define SENSOR_SAMPLING_TIME 1000#define SOAK_TEMPERATURE_STEP 5#define SOAK_MICRO_PERIOD 9000#define DEBOUNCE_PERIOD_MIN 50#define THERMOCOUPLE_DISCONNECTED 10000// ***** PID PARAMETERS *****// ***** PRE-HEAT STAGE *****#define PID_KP_PREHEAT 300#define PID_KI_PREHEAT 0.05#define PID_KD_PREHEAT 400// ***** SOAKING STAGE *****#define PID_KP_SOAK 300#define PID_KI_SOAK 0.05#define PID_KD_SOAK 250// ***** REFLOW STAGE *****#define PID_KP_REFLOW 300#define PID_KI_REFLOW 0.05#define PID_KD_REFLOW 350#define PID_SAMPLE_TIME 1000// ***** LCD MESSAGES *****const char* lcdMessagesReflowStatus[] = {"Ready","Pre-heat","Soak","Reflow","Cool","Complete","Error"};// ***** DEGREE SYMBOL FOR LCD *****unsigned char degree = {140,146,146,140,128,128,128,128};// ***** PIN ASSIGNMENT *****int ssr = 5;int thermocoupleSO = A5;int thermocoupleCS = A4;int thermocoupleCLK = A3;int lcdRs = 7;int lcdE = 8;int lcdD4 = 9;int lcdD5 = 10;int lcdD6 = 11;int lcdD7 = 12;int ledRed = A1;int ledGreen = A0;int buzzer = 6;int button1 = 2;int button2 = 3;// ***** PID CONTROL VARIABLES *****double setpoint;double input;double output;double kp = PID_KP_PREHEAT;double ki = PID_KI_PREHEAT;double kd = PID_KD_PREHEAT;int windowSize;unsigned long windowStartTime;unsigned long nextCheck;unsigned long nextRead;unsigned long timerSoak;unsigned long buzzerPeriod;// Reflow oven controller state machine state variablereflowState_t reflowState;// Reflow oven controller statusreflowStatus_t reflowStatus;// Button debounce state machine state variabledebounceState_t debounceState;// Button debounce timerlong lastDebounceTime;// Button press statusboolean buttonPressStatus;// Seconds timerint timerSeconds;// Specify PID control interfacePID reflowOvenPID(&input, &output, &setpoint, kp, ki, kd, DIRECT);// Specify LCD interfaceLiquidCrystal lcd(lcdRs, lcdE, lcdD4, lcdD5, lcdD6, lcdD7);// Specify MAX6675 thermocouple interfaceMAX6675 thermocouple(thermocoupleCLK, thermocoupleCS, thermocoupleSO);void setup(){// SSR pin initialization to ensure reflow oven is offdigitalWrite(ssr, LOW);pinMode(ssr, OUTPUT);// Buzzer pin initialization to ensure annoying buzzer is offdigitalWrite(buzzer, LOW);pinMode(buzzer, OUTPUT);// LED pins initialization and turn on upon start-up (active low)digitalWrite(ledRed, LOW);digitalWrite(ledGreen, LOW);pinMode(ledRed, OUTPUT);pinMode(ledGreen, OUTPUT);// Push button pins initializationpinMode(button1, INPUT);pinMode(button2, INPUT);// Start-up splashdigitalWrite(buzzer, HIGH);lcd.begin(8, 2);lcd.createChar(0, degree);lcd.clear();lcd.print("Reflow");lcd.setCursor(0, 1);lcd.print("Oven 1.1");digitalWrite(buzzer, LOW);delay(2500);lcd.clear();// Serial communication at 57600 bpsSerial.begin(57600);// Turn off LED (active low)digitalWrite(ledRed, HIGH);digitalWrite(ledGreen, HIGH);// Set window sizewindowSize = 2000;// Initialize time keeping variablenextCheck = millis();// Initialize thermocouple reading variblenextRead = millis();}void loop(){// Current timeunsigned long now;// Time to read thermocouple?if (millis() > nextRead){// Read thermocouple next sampling periodnextRead += SENSOR_SAMPLING_TIME;// Read current temperatureinput = thermocouple.readCelsius();// If thermocouple is not connectedif (input == THERMOCOUPLE_DISCONNECTED){// Illegal operation without thermocouplereflowState = REFLOW_STATE_ERROR;reflowStatus = REFLOW_STATUS_OFF;}}if (millis() > nextCheck){// Check input in the next secondsnextCheck += 1000;// If reflow process is on goingif (reflowStatus == REFLOW_STATUS_ON){// Toggle red LED as system heart beatdigitalWrite(ledRed, !(digitalRead(ledRed)));// Increase seconds timer for reflow curve analysistimerSeconds++;// Send temperature and time stamp to serialSerial.print(timerSeconds);Serial.print(" ");Serial.print(setpoint);Serial.print(" ");Serial.print(input);Serial.print(" ");Serial.println(output);}else{// Turn off red LEDdigitalWrite(ledRed, HIGH);}// Clear LCDlcd.clear();// Print current system statelcd.print(lcdMessagesReflowStatus);// Move the cursor to the 2 linelcd.setCursor(0, 1);// If currently in error stateif (reflowState == REFLOW_STATE_ERROR){// No thermocouple wire connectedlcd.print("No TC!");}else{// Print current temperaturelcd.print(input);#if ARDUINO >= 100lcd.write((uint8_t)0);#else// Print degree Celsius symbollcd.print(0, BYTE);#endiflcd.print("C ");}}// Reflow oven controller state machineswitch (reflowState){case REFLOW_STATE_IDLE:// If button is pressed to start reflow processif (buttonPressStatus){// Ensure current temperature is comparable to room temperature// TO DO: To add indication that temperature is still high for// reflow process to startif (input <= TEMPERATURE_ROOM){// Send header for CSV fileSerial.println("Time Setpoint Input Output");// Intialize seconds timer for serial debug informationtimerSeconds = 0;// Initialize PID control window starting timewindowStartTime = millis();// Ramp up to minimum soaking temperaturesetpoint = TEMPERATURE_SOAK_MIN;// Tell the PID to range between 0 and the full window sizereflowOvenPID.SetOutputLimits(0, windowSize);reflowOvenPID.SetSampleTime(PID_SAMPLE_TIME);// Turn the PID onreflowOvenPID.SetMode(AUTOMATIC);// Proceed to preheat stagereflowState = REFLOW_STATE_PREHEAT;}}break;case REFLOW_STATE_PREHEAT:reflowStatus = REFLOW_STATUS_ON;// If minimum soak temperature is achieveif (input >= TEMPERATURE_SOAK_MIN){// Chop soaking period into smaller sub-periodtimerSoak = millis() + SOAK_MICRO_PERIOD;// Set less agressive PID parameters for soaking rampreflowOvenPID.SetTunings(PID_KP_SOAK, PID_KI_SOAK, PID_KD_SOAK);// Ramp up to first section of soaking temperaturesetpoint = TEMPERATURE_SOAK_MIN + SOAK_TEMPERATURE_STEP;// Proceed to soaking statereflowState = REFLOW_STATE_SOAK;}break;case REFLOW_STATE_SOAK:// If micro soak temperature is achievedif (millis() > timerSoak){timerSoak = millis() + SOAK_MICRO_PERIOD;// Increment micro setpointsetpoint += SOAK_TEMPERATURE_STEP;if (setpoint > TEMPERATURE_SOAK_MAX){// Set agressive PID parameters for reflow rampreflowOvenPID.SetTunings(PID_KP_REFLOW, PID_KI_REFLOW, PID_KD_REFLOW);// Ramp up to first section of soaking temperaturesetpoint = TEMPERATURE_REFLOW_MAX;// Proceed to reflowing statereflowState = REFLOW_STATE_REFLOW;}}break;case REFLOW_STATE_REFLOW:// We need to avoid hovering at peak temperature for too long// Crude method that works like a charm and safe for the componentsif (input >= (TEMPERATURE_REFLOW_MAX - 5)){// Set PID parameters for cooling rampreflowOvenPID.SetTunings(PID_KP_REFLOW, PID_KI_REFLOW, PID_KD_REFLOW);// Ramp down to minimum cooling temperaturesetpoint = TEMPERATURE_COOL_MIN;// Proceed to cooling statereflowState = REFLOW_STATE_COOL;}break;case REFLOW_STATE_COOL:// If minimum cool temperature is achieveif (input <= TEMPERATURE_COOL_MIN){// Retrieve current time for buzzer usagebuzzerPeriod = millis() + 1000;// Turn on buzzer and green LED to indicate completiondigitalWrite(ledGreen, LOW);digitalWrite(buzzer, HIGH);// Turn off reflow processreflowStatus = REFLOW_STATUS_OFF;// Proceed to reflow Completion statereflowState = REFLOW_STATE_COMPLETE;}break;case REFLOW_STATE_COMPLETE:if (millis() > buzzerPeriod){// Turn off buzzer and green LEDdigitalWrite(buzzer, LOW);digitalWrite(ledGreen, HIGH);// Reflow process endedreflowState = REFLOW_STATE_IDLE;}break;case REFLOW_STATE_ERROR:// If thermocouple is still not connectedif (input == THERMOCOUPLE_DISCONNECTED){// Wait until thermocouple wire is connectedreflowState = REFLOW_STATE_ERROR;}else{// Clear to perform reflow processreflowState = REFLOW_STATE_IDLE;}break;}// If button is pressedif (buttonPressStatus == true){// If currently reflow process is on goingif (reflowStatus == REFLOW_STATUS_ON){// Button press is for cancelling// Turn off reflow processreflowStatus = REFLOW_STATUS_OFF;// Reinitialize state machinereflowState = REFLOW_STATE_IDLE;}}// Simple button debounce state machine (for button #1 only)// TO DO: To be replaced with interrupt version in next revisionswitch (debounceState){case DEBOUNCE_STATE_IDLE:// No valid button pressbuttonPressStatus = false;// If button #1 is pressedif (digitalRead(button1) == LOW){// Intialize debounce counterlastDebounceTime = millis();// Proceed to check validity of button pressdebounceState = DEBOUNCE_STATE_CHECK;}break;case DEBOUNCE_STATE_CHECK:// If button #1 is still pressedif (digitalRead(button1) == LOW){// If minimum debounce period is completedif ((millis() - lastDebounceTime) > DEBOUNCE_PERIOD_MIN){// Proceed to wait for button releasedebounceState = DEBOUNCE_STATE_RELEASE;}}// False triggerelse{// Reinitialize button debounce state machinedebounceState = DEBOUNCE_STATE_IDLE;}break;case DEBOUNCE_STATE_RELEASE:if (digitalRead(button1) == HIGH){// Valid button pressbuttonPressStatus = true;// Reinitialize button debounce state machinedebounceState = DEBOUNCE_STATE_IDLE;}break;}// PID computation and SSR controlif (reflowStatus == REFLOW_STATUS_ON){//unsigned long now;now = millis();reflowOvenPID.Compute();if((now - windowStartTime) > windowSize){// Time to shift the Relay WindowwindowStartTime += windowSize;}if(output > (now - windowStartTime)) digitalWrite(ssr, HIGH);else digitalWrite(ssr, LOW);}// Reflow oven process is off, ensure oven is offelse{digitalWrite(ssr, LOW);}}

author: mtkaalund
author_rank: Contributor
timestamp: September 22, 2012, 02:00:21 pm
content: Nice idea. Hope that you make the schematics available for downloadBut why don't you have a temperature probe in there? perhaps something like these can be used:https://www.elfaelektronik.dk/elfa3~dk_da/elfa/init.do?item=55-890-11&toc=19437for the English speaking part of the communityhttps://www.elfaelectronics.com/elfa3~ex_en/elfa/init.do?item=55-890-11&toc=0

author: Mikey
author_rank: Regular Contributor
timestamp: September 22, 2012, 04:10:41 pm
content: Quote from: mtkaalund on September 22, 2012, 02:00:21 pmThere will be one of those in there too, and I could just connect that to one of the cheap eBay PID controllers, but no fun in that. I like to make things more than actually use them. It's the climb to the top that is more fun than being there.

author: T4P
author_rank: Super Contributor
timestamp: September 22, 2012, 04:16:30 pm
content: These thermocoupleshttp://www.aliexpress.com/item/Thermocouple-Sensors-K-Type-Bayonet-Mount-2m-6-6-12887/579676359.htmlare best for oven measurement though a bit too longor thishttp://www.aliexpress.com/store/product/2M-Thermocouple-Temperature-Control-Sensor-PT100-12886/405418_579674117.html

author: mariush
author_rank: Super Contributor
timestamp: September 22, 2012, 05:38:56 pm
content: I have plans to make something similar, using a relatively cheap K thermocouple ( -50 - + 350c) , a AD595 (10mV per C , +/-3 C , good enough for this purpose) and one of those halogen ovens ...* K thermocouple :http://uk.farnell.com/jsp/search/productdetail.jsp?SKU=7069224* AD595AQ :http://uk.farnell.com/analog-devices/ad595aq/amp-thermocouple-type-k-3-c-14dip/dp/409194The AD595 should output about 3460 mV at 350 C so using a PIC/AVR and a 4.096 voltage reference and the 10bit ADC inside should make it easy to read the temperature.As for over, I'm thinking of one of those Flavourwave ovens, like this one:http://www.amazon.co.uk/Andrew-James-Premium-Replaceable-WARRANTY/dp/B002LYQF7A/ref=sr_1_4?ie=UTF8&qid=1348335315&sr=8-4These are very simple inside, just a 20-40 watt fan and a 1300w halogen lamp and a temperature sensor, basically a bitmetal that expands and decouples the lamp when heat goes up to the preset level by the knob.Already have the chip and thermocouple, I guess I'm just lazy to order the oven and the relays .. I don't have any urgent need for reflowing

author: mtkaalund
author_rank: Contributor
timestamp: September 22, 2012, 07:15:39 pm
content: I'm looking forward to seeing the first schematic, and build pictures

author: ablacon64
author_rank: Frequent Contributor
timestamp: September 22, 2012, 11:09:33 pm
content: Very nice, I'll follow this topic since I'm very interested. Liked very much the buttons. I use a thermocouple like this in one of my projects, it does what's supposed to do:http://dx.com/p/screw-type-temperature-control-thermocouple-probe-2m-cable-126768?item=5

author: george graves
author_rank: Super Contributor
timestamp: September 23, 2012, 05:18:10 pm
content: subscribed!

author: OndraSter
author_rank: Contributor
timestamp: September 23, 2012, 05:42:10 pm
content: I am building one myself. It will be featuring:- ATXmega16D4 (just because it is cheaper than mega168 AND has more IO pins),- display from microwave I took apart (4x 7segment + some status LEDs around it)- MAX31855 as thermocouple ADC,- microSD card for logging + storing profiles (maybe will not be used in the end. But it is optional feature),- either SSR or triac (already made isolated board for triac)It is purely single sided and ready to be home etched. I am waiting for a new ink for soldermask to come (I donated the previous one to my old school) before I order all the parts.I have bought long time ago toaster oven with two 500W heaters - it is about A4 sized only, so there is plenty power inside. It has been never used and works. I paid for it about $15 incl. shipping."Preview" schematics included (probably some changes pending). For Q feel free to ask

author: Spikee
author_rank: Frequent Contributor
timestamp: September 23, 2012, 05:52:58 pm
content: I'm also planning to build an reflow oven in a few weeks.I will subscribe to this topic !

author: Mikey
author_rank: Regular Contributor
timestamp: September 23, 2012, 06:13:27 pm
content: Strange, I can't see any posts beyond the one OndraSter made...

author: OndraSter
author_rank: Contributor
timestamp: September 23, 2012, 06:51:05 pm
content: Yeah, I broke it somehow. No idea how. I was having issues with uploading attachment picture, so I posted it without it. Then I uploaded it to my website and went to edit the post. I clicked on edit, edited the message, posted it. Some error about "this message has been already sent" appeared and since then the PHP script crashes at my post. I can see replies through REPLY only

author: Mikey
author_rank: Regular Contributor
timestamp: September 23, 2012, 06:57:25 pm
content: Quote from: OndraSter on September 23, 2012, 06:51:05 pmYeah, it is the same thing I am currently doing... I wonder if there is a cache or something that it stuck...

author: T4P
author_rank: Super Contributor
timestamp: September 23, 2012, 07:06:37 pm
content: Quote from: Mikey on September 23, 2012, 06:57:25 pmSeen it happen with all the SMFForums time to time ... this isn't the first time i've seen it happen here

author: Mikey
author_rank: Regular Contributor
timestamp: September 23, 2012, 07:08:34 pm
content: Quote from: T4P on September 23, 2012, 07:06:37 pmGot any known fix for it too? Would make it a lot easier to read all this.

author: OndraSter
author_rank: Contributor
timestamp: September 23, 2012, 07:24:54 pm
content: Oh well.Meanwhile you can look at the schematicsHERE.

author: Mikey
author_rank: Regular Contributor
timestamp: September 23, 2012, 08:01:04 pm
content: Quote from: OndraSter on September 23, 2012, 07:24:54 pmLooks like what I got in mind too... if I read it rightstill learning...I am planning on using SSR instead of triacs, just because I got multiple of them laying around.

author: OndraSter
author_rank: Contributor
timestamp: September 23, 2012, 09:28:17 pm
content: Since now it works again, I can also post picture of the display I will be using. And also the board layout as it looks now.Why the display? Because I have got too much stuff lying around! Better than buying some HD44780 and stocking more and more parts.

author: Mikey
author_rank: Regular Contributor
timestamp: September 23, 2012, 10:02:25 pm
content: Quote from: OndraSter on September 23, 2012, 09:28:17 pmPage 1 is still borked... But looking good, will also make the oven look more or less stock when done?The one I am going to use seems to be very simple on the electronics, so I am going to remove that entire panel and get a new lasercut.

author: T4P
author_rank: Super Contributor
timestamp: September 23, 2012, 10:10:04 pm
content: Quote from: Mikey on September 23, 2012, 08:01:04 pmNow now, the advantage of SSRs over triacs are isolation and pure simplicity ... with a TRIAC it's much cheaper and you only need a snubber cap or two (Might even need a DIAC)

author: Mikey
author_rank: Regular Contributor
timestamp: September 23, 2012, 10:18:34 pm
content: Quote from: T4P on September 23, 2012, 10:10:04 pmI might make a controller with triac's on too... but this first one will be as simple as possible... I haven't made that many things yet, so I start simple then adds more and more

author: JuKu
author_rank: Frequent Contributor
timestamp: September 28, 2012, 06:23:41 am
content: Sounds good, and I have no doubt you can DIY a very good oven with great results. I have experience with the "real stuff" and also own a commercial unit that is equivalent to a DIY system.A couple of points:- I believe you have zero changes of success without good temperature measurement. I'm unsure if you have one; if you don't, put one in. You want to be able to follow temperature profiles. Seehttp://dangerousprototypes.com/forum/viewtopic.php?f=2&t=4471.- Your servo system idea for door opening is clever. You do want to open the door, the oven does not cool fast enough on its own, and opening the door might be easier than arranging cooling. You also want to have a fan blowing cool air in through the open door; then just tune the air flow to get a good cooling rate. The servo needs to be very smooth; at the door open time, the solder is still in flowing state.

author: Rerouter
author_rank: Super Contributor
timestamp: September 28, 2012, 07:21:15 am
content: few small points, thermocouples on there own generally are just the junction of 2 dissimilar metals, if you want it instead of hunting around a very tight set point to stabalise near it you add some mass to it, even say a metal beer cap, but that depends on how you want the system to function (t4p's type have high mass and will respond very slowly)equally it is better to average out 4 thermocouples placed around the thing than a single one, to average the voltaqge of thermocouples just add them in parrellel, while this will mean there will be a tiny bit of error introduced from tiny amounts of current flow it would result in a better representation of the entire oven, and thermocouples are pretty cheap at those temperatures,

author: lrai
author_rank: Newbie
timestamp: September 28, 2012, 07:36:19 am
content: I think this will be an interesting project. It has been done before so no points for originality.But it always has been done as a hobby project not as an engineered project.Let's try to do it properly.Let's set some goals: price, performance, etc. (anyone who worked with professional systems should help us set our performance goals )The electronic control system can be done, this is the “easy” part.The biggest problem is the oven. If the oven can't perform than no mater how smart is the control system, it will not work properly.Goals for the oven:1. uniform heating – no hotspots2. quick warm-up3. quick cool-down4. top and bottom heating elementsSo we need to start testing pizza ovens.A easy way to test should be to use a sheet of thermal paper to check for heating hotspots.

author: T4P
author_rank: Super Contributor
timestamp: September 28, 2012, 07:53:14 am
content: Quote from: Rerouter on September 28, 2012, 07:21:15 amYeah i'm aware. Only the small junction types can perform well for low thermal mass. Those thermocouples i've shown is usually used for mostly hotplates

author: poorchava
author_rank: Super Contributor
timestamp: September 28, 2012, 07:57:29 am
content: I'm also setting up a reflow equipment at the moment. I've purchased this:http://optimum.hoho.pl/index.php?lang=eng&id=821. Cost was around $35 so it's fine. It has top and bottom quartz heating elements, but they are in the center so heat distribution will not be even, because radiation will heat up stuff directly underneath the elements more than stuff in the back in front of the oven.I plan to use some thick (1-2mm) copper or stainless steel to shield the pcbs from direct IR exposure, so that they are heated with hot air only (or the secondary IR emission from the plates).Second problem is that stock electromechanical thermostat (i guess bimetallic type) is a total shit. When set to 175*C the temp goes up as high as 240*C (i mean temperature of PCB surface). Planning to buy or make some cheap temperature controller.

author: lrai
author_rank: Newbie
timestamp: September 28, 2012, 08:24:24 am
content: Cheap chinese reflow oven from 200$ ... hmm DIY doesn't look so interesting anymorehttp://www.ebay.com/itm/T962-INFRARED-SMD-BGA-IC-HEATER-REFLOW-OVEN-800W-180-235MM-T-962-BRAND-NEW-k2-/180736333541?pt=UK_Home_Garden_Conservatory_Patio_bbq_Patio_Covers_Heating&hash=item2a14b996e5Not a review but here it is what i found about it on different forums:(Don't use them inside, use them in a garage or similar as they do burn off paint & of course, smelly, and most likely highly toxic solderflux gases)There are 2 elements in the unit, mark the position of these on the bottom of the PCB drawer. Align your PCB's longitudily with these elements, ie as much in line and centered between them as possibleAlways put your target PCB's on top of 2 layers of old PCB's to prevent the PCB drawers metal bottom from sinking the heat away from your PCB'sI have one of these. I've had it for about a year and a half and I've done quite a few boards with it now. It works very well. It follows the temp profiles fairly well that I choose (as monitored by an external source). I have no complaints about it and would definitely pick it up again instead of kludging together a toaster oven.

author: htassell
author_rank: Unknown
timestamp: September 28, 2012, 09:28:57 am
content: If you want a hardware design as a guide, as well as the software (already linked to earlier in this thread), I can reccomend the RocketScream reflow controller shield.I use on of their shields on an Arduino with their stock code, I just made a box for the SSR's that control the heater element and cooling fan, and the arduino plus the shield and an LCD with control buttions and it has performed excellently for the last year or so with my breville toaster oven. The board is nothing special at all. Essentially it's just got a MAX6675 thermocouple sensor interface and some buttons plus a small 2x8 lcd display.This is their main site:http://www.rocketscream.com/shop/reflow-oven-controller-shield-arduino-compatibleAll the schematics, board layouts and code are on github at:https://github.com/rocketscream/Reflow-Oven-ControllerMy apologies if this has already been brought up - I just thought I'd mention it in case.Cheers,Hugh

author: OndraSter
author_rank: Contributor
timestamp: September 28, 2012, 03:49:24 pm
content: Quote from: lrai on September 28, 2012, 08:24:24 amWith all my parts I am still below $50.. yes, it looks good to me so far. (Oven was $15 shipped to me.)Plus, DIY!

author: free_electron
author_rank: Super Contributor
timestamp: September 28, 2012, 05:45:24 pm
content: For all those small toaster oven reflow systems a PID algorithm is total overkill. They don't have the heat capability or rampup speed that needs a pid regulation. a simple bang-bang controller will do. temperature can be kept constant in a 3 degree band.now, best results are if you get a little oven thet , besides the heating elements, also has a built in fan... ( hot air) the fan creates a more uniform heat spread inside the oven. to cool down : simply shut off the heaters and leave the fan running.i am wrapping up on a controller for such an oven. simple 2x8 lcd , two thermocouple sensors ( one for temp regulation one to monitor pcb ) usb for logging and programming , memory for 9 recipes. uses new maxim thermocouple chipsatmega328 based so you could run the arduino stack if you want ( it is not an arduino , custom board that splits in half : one front panel one power section ) uses a beefy 30 ampere relay for heater and another 2 ampere relay for the fan.i use a 4 step duty cycle control : a cycle is 8 seconds. the duty can be programmed as 1/4 1/2 3/4 or full onthe regulation algorithm is a simple select case.if i am low more than 20 degrees : full onoff 15 degrees : 3/4off 10 degrees 1/2off 5 degrees 1/4over setpoint : heater offworks like a charm.

author: Noize
author_rank: Regular Contributor
timestamp: September 28, 2012, 05:47:46 pm
content: Have you got any photos of your oven and/or details of construction, I've got a breville toaster that I don't use much.Quote from: htassell on September 28, 2012, 09:28:57 am

author: Spikee
author_rank: Frequent Contributor
timestamp: September 30, 2012, 03:45:27 pm
content: What about this oven (i know it does not have a fan :c )Delonghi-eo12001b :http://www.wehkamp.nl/huishoudapparatuur/kookapparatuur/ovens/delonghi-eo12001b-oven/C27_7G3_G35_767759/It's 1400 w and 12,5 liter , has bottom and top heating elements.If you calculate the watt per liter you get 1400/12,5 = 112 W/ L which is pretty good.Maybe whit some extra insulation it will perform even better.

author: george graves
author_rank: Super Contributor
timestamp: October 01, 2012, 12:58:38 am
content: Quote from: free_electron on September 28, 2012, 05:45:24 pmWould love to see the details!

author: IanB
author_rank: Super Contributor
timestamp: October 01, 2012, 01:26:52 am
content: Quote from: Rerouter on September 28, 2012, 07:21:15 amThis reasoning is not very sound. You want a temperature sensor to measure the temperature of its surroundings, not the temperature of itself. Therefore a smaller thermal mass is better than a large one as it can respond to changes quicker. You put the filtering in the control circuit, not in the sensor.Consider by analogy what happens to a voltage regulator if you put too large a capacitor on the output side in a misguided attempt to stabilize the voltage. The regulator will have all sorts of performance problems. Similarly, if you put a big thermal capacitance where the temperature is measured the temperature control loop will also have all sorts of performance problems.So by analogy, let the temperature sensor be small and fast to respond. If you get a noisy measurement out of it you can apply carefully tuned filtering in the control system with full control over how you extract the signal from the noise.

author: free_electron
author_rank: Super Contributor
timestamp: October 01, 2012, 06:35:45 am
content: Quote from: george graves on October 01, 2012, 12:58:38 amPcb can be ordered through elektor. Full plans (schematics) are in the new labworx book 'mastering surface mount technology ( there's also an uv exposure unit , a ringlight for microscope or magnifier and an led tester for smt leds's)The sourcecode is written in mikrobasic and will be released soon ( polishing it right now ) . The board can be flashed with the arduino stack so you can go that route if you want.

author: EEVblog
author_rank: Unknown
timestamp: October 01, 2012, 07:17:40 am
content: Quote from: lrai on September 28, 2012, 08:24:24 amYes, I've been wondering this.They are about AU$250 delivered.Any real advantages to the DIY approach?, and has someone standardised on a kit controller board?, or is each build a unique hack?Just temped to get the commercial one at that price and save the dicking around...Dave.

author: Noize
author_rank: Regular Contributor
timestamp: October 01, 2012, 08:10:14 am
content: As well as reflow you can have a cup of coffee whilst you are waitinghttp://www.ebay.co.uk/itm/3-In-1-Toaster-Oven-Griddle-And-Coffee-Maker-/221130568166?pt=UK_Campervan_Caravan_Accessories&hash=item337c68b1e6

author: Baliszoft
author_rank: Frequent Contributor
timestamp: October 01, 2012, 08:33:18 am
content: I got a $250 ebay "T-962" reflow oven (came with a complete set of spare IR tubes). They are controlled by two thermocouples (hanging from the top into the compartment), and one of them had a bad contact in its connector. My first test board was completely fried. After fixing and calibrating it (properly), now it works. Heat dirtribution is not even though, the outer 20% of the drawer area is nearly useless (has a lot lower temp).EDIT: Maybe the drawer is a bit bigger than the specified area (did not measure it).

author: tld
author_rank: Regular Contributor
timestamp: October 01, 2012, 05:08:38 pm
content: Quote from: free_electron on September 28, 2012, 05:45:24 pmI'm wondering which thermocouple for the PCB, and how you're planning to use it. Will you simply keep it close by, or actually fastened to the PCB somehow?Terje

author: free_electron
author_rank: Super Contributor
timestamp: October 01, 2012, 05:47:30 pm
content: There's two thermouple interface. One is used to measure the air temperature in the oven and control the reflow process. Note that i am NOT useing an infrared oven ! It is a convection oven with air circulation.Plenty of cheap reflow systems use infrared heating tubes. That is NOt what i use and this controller is NOT made for that. The problem with IR is that you 'cook; certain parts , while others are still cold... a black TQFP heats up way faster than the white ceramic resistor next to it... or the yellow trim potmeter .My oven is a pure hot air system. the airtemperature is controlled and there is no direct IR radiation hitting the board.The second temperature sensor is optional ( you can omit the chip if you don't want it ) the controller reads that sensor but does not use the information. You can plot the data and see how the real pcb heats up under the heating conditions. This information can be used to tune-in your particular oven.Maybe i'll make a smarter algorithm that also monitors this sensor and can provide feedback to what is actually happening on the pcb.I use an Oster oven that wa son sale at costco for 40$.

author: Unknown
author_rank: Unknown
timestamp: October 01, 2012, 06:02:39 pm
content: Not sure if you had seen these, might be an option if anyone wants something but can't be arsed to make something.OSPidhttp://www.ospid.com/blog/Reflow Oven Controller Shieldhttp://www.rocketscream.com/shop/reflow-oven-controller-shield-arduino-compatible

author: David_AVD
author_rank: Super Contributor
timestamp: October 01, 2012, 09:22:55 pm
content: We've been using a Breville BOV800 convection oven to do small batches of SMD boards.It's not cheap (AUD $249) but has much better heating than the crappy cheap ovens. Yet to make a controller for it. Just using it manually for now.

author: JimmyM
author_rank: Regular Contributor
timestamp: October 01, 2012, 10:13:50 pm
content: Skip the Arduino and use one of these...https://www.sparkfun.com/products/10089or thesehttps://www.sparkfun.com/products/11075Maybe an additional external board for the thermocouple converter and opto-isolated control of SSRs/relays for heaters/fans, etc. It has several ADC and Digital I/O ports as well as an SD card slot for images and thermal profiles.

author: EEVblog
author_rank: Unknown
timestamp: October 01, 2012, 11:01:06 pm
content: Quote from: David_AVD on October 01, 2012, 09:22:55 pmThat looks like the go, in convection mode.Could probably even hack the keypad to control the thing instead of replacing all the electronics.Dave.

author: David_AVD
author_rank: Super Contributor
timestamp: October 02, 2012, 12:50:48 am
content: Quote from: EEVblog on October 01, 2012, 11:01:06 pmYeah, the smaller el-cheapo units just don't have enough grunt. This one is much better construction.We normally use leaded paste, but a visiting colleague tried lead-free the other day. The boards flowed ok apart from the ones at the edges. We think the issue was that the inbuilt controller cut the heaters just short of the ideal temp for lead-free.Using an external controller would allow the profile to be automated and raise the current temp ceiling.

author: Short Circuit
author_rank: Frequent Contributor
timestamp: October 02, 2012, 01:17:02 am
content: Quote from: Baliszoft on October 01, 2012, 08:33:18 amI have the bigger -A version, and I consider it garbage.Indeed, heat distribution is terrible. But even worse is the heat distribution in height.When you have large SMD parts such as caps or connectors, they end up fried or molten before the solder has reflowed.Also the user interface of the thing is beyond terrible.Perhaps performance can be improved bigtime by adding a convecion fan andreplacing the controller with a more reliable and useful thing.

author: David_AVD
author_rank: Super Contributor
timestamp: October 02, 2012, 02:05:39 am
content: I considered one of the 962 series units but saw many negative reviews, ranging from "poor heat distribution" to "caught fire" !I like the oven I bought as the extra height and 5 heater bars seem to give quite reasonable performance.

author: Short Circuit
author_rank: Frequent Contributor
timestamp: October 02, 2012, 03:19:19 am
content: Quote from: David_AVD on October 01, 2012, 09:22:55 pmQuote from: David_AVD on October 02, 2012, 02:05:39 amLooks nice. Bottom heater and convection fan sound good.However, reading the manual, I see mention of the temperature range no more than 230 degrees.That means the oven would be unsuitable for lead-free soldering...

author: David_AVD
author_rank: Super Contributor
timestamp: October 02, 2012, 03:27:30 am
content: Quote from: Short Circuit on October 02, 2012, 03:19:19 amYes, it regulates too low as standard. That's why I mentioned using an external controller for lead-free use. Works well out of the box for leaded solder though.

author: Baliszoft
author_rank: Frequent Contributor
timestamp: October 02, 2012, 07:22:52 am
content: Quote from: Short Circuit on October 02, 2012, 01:17:02 amYes, a fan would definitely improve its performance. It's not hopeless i think, but does not work right out of the box.

author: Baliszoft
author_rank: Frequent Contributor
timestamp: October 02, 2012, 07:30:23 am
content: Quote from: David_AVD on October 02, 2012, 02:05:39 amAs it was cheap i gave it a try (i ordered it from the manufacturer directly more than a year ago). Propably the unit catching fire also had a fauly thermocouple connection, that way the temps can go very high. I got the small unit with 800w power, and measured 400C+ in such a situation.

author: T4P
author_rank: Super Contributor
timestamp: October 02, 2012, 08:34:36 am
content: Quote from: Short Circuit on October 02, 2012, 01:17:02 amOK so that should be good but the last time i checked hot air ovens are VERY high-power and VERY huge plus thousands of dollars for "smaller" onesNope, convection ovens for me. Getting one that is around 1800W and if i read correctly 4 heaters3.5kW ... argh, need a 15amp plug

author: Emil
author_rank: Regular Contributor
timestamp: October 02, 2012, 12:15:26 pm
content: QuoteHoping for a review and teardown

author: JimmyM
author_rank: Regular Contributor
timestamp: October 02, 2012, 12:33:01 pm
content: Quote from: T4P on October 02, 2012, 08:34:36 amYou probably won't get the full 1800W from the oven though. Here in the states I had a 1500W oven that actually only ran at 1300W measured (house voltage is 112V not 120/125V). So I pulled the elements from a second oven and wired them in series with the existing 4 elements and run it on 220V for a functioning 2600W. With the convection fan running on 110V I get nice even heating and good ramp slope. But the heaters have a LOT of mass with respect to the air in the oven and therefore the internal temperature overshoots if I don't shut the heaters off before the setpoint.

author: T4P
author_rank: Super Contributor
timestamp: October 02, 2012, 02:07:59 pm
content: Yeah, i can get ceramic heaters off somewhere for cheapThe preheaters used in BGA rework stations