Skip to content

Latest commit

 

History

History
163 lines (118 loc) · 8.67 KB

README.md

File metadata and controls

163 lines (118 loc) · 8.67 KB

ESP32 Reflow Oven Controller with WiFi

Arduino-based reflow oven controller with:

  • PID loop control
  • Phase Fired control for AC outputs
  • graphic TFT LC-Display, drawing the temperature curves
  • 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:

!!!DANGER!!!

Warning

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

Oven

Completed1 Completed2

Introduction

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.

Schematic

I used the original PCB with some modification and made an adapter to use the ESP32 devkit v1 for it:

adapter

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.

Screenshots and usage information

Image Information
CycleWithOverflow 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.
MenuDefault 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.
ProfileEdit 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.
PIDValues Autotune AutotuneRun You can chnage PID settings manually or use the Autotune functions. For more information see PID Autotune
ManualHeating Just want to turn on the Oven? No Problem. Just choose how much % of power you want.
WiFi WiFiPassword 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.

Webserver

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.

Reflow Cycle Reflow Cycle Tuning Tuning

Obtaining the source code

Just download the repository. In the upper right corner click Clown or download and download zip file.

Installation

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.

Things to note

  • 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.

Ideas and todo

  • Add fan control for even heat distribution and controlled cooldown (I did not need a fan)
  • Make settings accessible over the Web Page

Licensing

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.