Some of you may know (from an earlier blog post) that almost all of the boards that we sell here are reflowed in-house. The term “reflow” is generically used to describe the process by which solder paste is melted, usually in a temperature-controlled oven, forming mechanical and electrical connections between the components. It is a process that draws upon a large body of knowledge in the fields of chemistry and materials science. The gist of it is we want to get the parts hot enough to melt the solder and to create a good bond, and yet don’t want to cook said parts and render them useless. Enter the PID controlled reflow oven.
We used a generic Black & Decker Toast-R-Oven that retails for about 30 bucks, as well as a solid state relay that will allow the Arduino microprocessor to switch on and off mains depending on the heating requirements. This is done via the Arduino PID library and integrated well via the firmware provided for the Reflow Oven Controller Shield. We’re using a Storm controller that has been repurposed to replicate the main components of the Rocketscream shield.
You can see we have a nice LCD display, an Adafruit MAX31855 Breakout for reading the thermocouple, indicator LED, a piezo buzzer, and a transistor for driving the buzzer.
All of the cavities in the oven have been insulated with fiberglass fill to reduce the rate of heat loss, which will hopefully give more leeway to the controller as far as ramp up response goes. The window has been covered with aluminum foil to further reduce heat loss. While it’s nice to watch the reflow process we’re more concerned about matching a specified temperature treatment to get the optimal parameters for reflow.
Calibrating the oven involves tuning the three parameters of the PID controller. Fundamentally, any deviation between desired temperature and current temperature is error that the controller wants to do away with. The “P” term is the proportional term, which contributes to the controller response to the current error. The “I” or integral term response to long-term accumulation of error. For example if the setpoint is 100 degrees and the temperature is 80 degrees for a long time, the controller will push progressively harder. The “D” or derivative term has to do with the rate of change of error – how quickly the temperature is converging or diverging. These terms can vary a lot from system to system, and most experts agree that educated trial and error is the best way to figure out the proper terms for a new system.
We used a step response input to calibrate the constants. As seen in the figure, the initial setpoints produced wild overshoot on the order of 50% higher than the desired 80 degree temperature. With a little adjustment to the constants we were able to get to a relatively stable solution that ramps up well, doesn’t overshoot much, and doesn’t oscillate much. It’s important to test the solution over various regimes, so we did step inputs for a wide range of temperatures and ended up with the figure below.
Pretty good! Now to throw all of this at an actual reflow profile. A somewhat standard reflow profile is the one given by Kester for their Sn63Pb37 alloy. It gives a range of acceptable temperature-time treatments, but we tried to follow the exact chart they give. Because this oven doesn’t have an automatic cooling feature, we have the piezo buzzer alert us as to when the reflow is complete and then we simply open the oven door to let things cool down. I’d say we have a winner!