Arduino-based reflow oven controller with:
- PID loop control
- Phase Fired control for AC outputs
- graphic TFT LC-Display, drawing the temperature curves
- using an Adafruit 1.8" TFT or derivate display
- solely controlled using a cheap rotary encoder and its single button
- Webapp to monitor the the temperatures and start and stop the reflow Programm
- stores up to 30 temperature profiles in EEPROM
- configurable PID-parameters with bulid in auto tune sytem
- simple, small hardware to drive loads up to 600V and up to 8A (just schametic at the moment)
- hardware can
- measure two temperatures independently
- drive two AC loads, such as heater and fan
- could also be used for slow coockers
- Manual power controll
- Please Note: Recommend ARDUINO 1.8.9
- Libraries included in the Projekt folder to avoid problems with versions
- (c) 2019 Patrick Knöbel [email protected] in part based on:
- (c) 2014 Karl Pitrich [email protected]
- (c) 2013 Ed Simmons [email protected]
!!!DANGER!!!
Warning: This project operates with possibly lethal mains voltage. If you are unsure what to do, don't do it and get help from an experienced tinkerer with professional training.
Warning: Do not leave the Oven unattended! The Power electronics is not develop professionally and can fail and potentially catch fire!
Completed build
This Reflow Oven Controller relies on an ESP32,
There is a schematic but no board design at the moment. There is an eagle project in the forked repository.
I used the original PCB with some modification and made an adapter to use the ESP32 devkit v1 for it:
The board contains the ESP32, Very simple Zero crossing detection circuit, used to align control logic to mains frequency, two MAX31855 thermocouple-to-digital converters and two Sharp S202S01 PCB-mount solid state relays, mounted on cheap Fischer SK409 50,8 heat sinks. The current software uses only one of the thermocouples, so you need to populate one IC only. If you're lucky, you can get free samples of the MAX31855 from Maxim.
The oven I used for my build: OVEN
The software uses PID control of the heater. The fan output for improved temperature distribution is not supported at the moment.
The software should work in 50 and 60Hz mains, the 60Hz version is not tested, though.
Image | Information |
---|---|
Display after a cylcle has been completed. The blue line is the setpoint, the yellow line the actual temperature measured by the thermocouple. Note that the graph wraps around automatically. 'Sp' is the current setpoint calculated by the PID loop. In the lower line there are: Current heater output in percent, and the current temperature rise or drop rate in °C per second. The graph will draw orientation lines every 50°C up to the peak temperature set in the selected profile. | |
The main menu can be navigated by rotating the encoder. Clicking enters the menu item, or navigates to the submenu. Doubleclick moves up or back or exits the menu item. Up to 30 Profiles can be loaded and saved. You have to do this manually, so that you can have 'save-as' functionality without overwriting existing profiles. | |
To edit a setting, click once to enter edit mode (red cursor), then rotate to change the value, click again to save. Doubleclick will exit without saving. | |
You can chnage PID settings manually or use the Autotune functions. For more information see PID Autotune | |
Just want to turn on the Oven? No Problem. Just choose how much % of power you want. | |
To connect to the last Saved connection click on "Connect to Saved". Or just search for the Wifi in the list you want to conncet and enter the password. |
When connected to the Wifi the Reflow Oven acts as a Webserver. Just access its IP-Address shown on the display in the webbrowser. You can start an Reflow Cycle over the browser remotely.
Just download the repository. In the upper right corner click Clown or download and download zip file.
Of course, you need to have the Arduino IDE installed. I've worked with version 1.8.9 only and I will not support older versions. Get it from the Arduino Download page or upgrade you current Arduino setup.
There no dependencies all libraries are included in the Projekt folder.
Select the right hardware from the Tools->Board menu. Follow the instructions on ESP32
Compile the firmware (Sketch->Verify) to test everything is installed correctly. If something's wrong you maybe have to delete some libraries from you Arduino folder because they are already in the Projekt folder.
Now, choose the correct serial port from Tools->Serial Port and then upload the code.
- The MAX31855 does not like the thermocouple being grounded; It must be isolated from ground or earth.
- The PID Loop must be tuned individually for each oven. It will not work out of the box.
- PID Autotune is not very useful, as it seems to be able to tune only to keep a specific temperature value, which is not what we do in a reflow oven. Also, at least my oven seems to be very non-linear when heating up.
- When rewiring inside your oven, use only wiring that can withstand high temperatures. I use silicone coated lace.
- Do not solder wiring inside you oven, the temperature might desolder you joints. Crimp everything.
- Use proper earth ground connection for your ovens chassis.
- Add fan control for even heat distribution and controlled cooldown (I did not need a fan)
- Make settings accessible over the Web Page
The MIT License (MIT)
Copyright (c) 2019 Patrick Knöbel [email protected]
Copyright (c) 2014 [email protected]
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.