hannahvsawiuk / Reflow-Oven-Controller

Reflow oven controller system which can follow a set reflow temperature and time profile.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Reflow Oven Controller

Project Specifications

Brief description: Reflow oven controller system equipped with a user interface comprised of an LCD screen and push buttons which allowed for the pre-set reflow temperature and time profile to be customized. Several F38x microcontrollers were assembled and soldered with the system; they were used in the line following robot car project described in another repository.

Subjects: timers, interrupts and service routines, signal processing, 8051 assembly, Mealy machine, pulse width modulation, timer and interrupt prioritization, analog to digital conversion, reflow soldering, macro files

Languages: 8051 Assembly for the main code, and Python for temperature strip chart generation

Tip: Since assembly is a low-level language, the use of macro files and include files should be employed to decrease redundancy and improve clarity of the code. They are also incredibly useful during the debugging processing.

IDE: CrossIDE

Microcontrollers: Atmel AT89LP52

Electronic components: SSR box, thermocouples,operational amplifiers, potentiometer, LCD screen, analog to digital converter (ADC), voltage inverter

Schematics and diagrams:
Circuit photo
Circuit schematics: 1 2
Hardware block diagram
Software block diagram

Detailed description:

User Interface and Safety Features:

The experience working with the system inspired a user-friendly interface for the controller. With an LCD and three pushbuttons, an intuitive, cursor-controlled display was created to select and modify the parameters, including reflow time and temperature. With the pushbuttons, the user could navigate between menus, move the cursor, and accurately increment parameters. While this system increased the ease of use for the operator, it also ensured safety, as the selectable values for these parameters were bounded to prevent unsafe behavior. In addition, 8 a pushbutton allowed the user to manually abort the process at any time; further, an automatic process abortion would occur if the temperature within the oven was over 235°C at any point to ensure the PCB’s would not burn. Also, a process abortion occurred if the temperature was lower than 50°C after one minute. This was put in place to ensure that the thermocouples were placed in the oven properly.

Power Supply and Modulation:

Pulse width modulation was used to control the power and as a result the temperature of the oven. The pulse width of the output pin signal (input to the SSR box that the oven was plugged into) was determined by the current state of the Mealy machine. Then, the value was assigned in a timer interrupt which reloaded every millisecond.  

Reflow Process Controller:

To control the reflow process, a Mealy Machine was used. The inputs to the system were the time and temperature parameters. Once the process begun, the appropriate state information was displayed on the LCD screen. To begin, the oven was preheated by setting the pulse width to 100% of the duty cycle. Then, until the soak temperature was achieved, the system remained in preheat. Once the temperature was reached, the soak state would be entered. In soak, the pulse width is set to 40%, and the system remains in soak until the soak time has been completed. The, the process transitions into ramp, which sets the pulse width to 100% until the oven reaches the set reflow temperature and enters the reflow state. Within reflow, the pulse width is decreased to 20%. The process remains in reflow until the reflow time is over. Next, the power is shut off and the process enters cool down states which indicate when the oven is cool enough to open and when the process is finished. The system also indicates with sounds when state transitions occur, when the oven is in cooldown, and when the process has been completed.

About

Reflow oven controller system which can follow a set reflow temperature and time profile.


Languages

Language:Assembly 100.0%