Reflow Toaster: Difference between revisions

From Hive13 Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 4: Line 4:
|contact=[[User:Lorin Parker | Lorin Parker]]
|contact=[[User:Lorin Parker]]

Revision as of 07:50, 14 March 2017

Hive13 Equipment
List of All Documented Equipment

Owner/Loaner: Hive13
Hive13 Asset Tag: None
Make/Model: not specified.
Arrival Date: Febuary 2012
Does it work?: yes
Certification Needed?: no
Contact: User:Lorin Parker
Floorplan: 3C

Property "ProjectImage" (as page type) with input value "{{{ProjectImage}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.

Hive13 Project
Reflow Toaster
Status: Active
Start Date: 1/1/2013

Current Status

Reflow Oven 2.0

Lorin Parker completed a new reflow oven 1/13/17. It is currently fully functional, and will be more thoroughly documented soon. It is an insulated quartz heater convection toaster with 2 degree / sec. Please monitor the toaster during the entire cycle -- it's very fast, you can do it. It can go well over 250 degrees C and is programmable with multiple curves.

Current profile curve programmed is the the standard Kester profile

  1. Pull the huge switch to turn on power & convection fan.
  2. Make sure LCD lights up and shows temperature.
    1. If it says TC error, this means that the thermocouple is probably touching the oven wall & not reading (this will be fastened to some FR4 soon).
  3. Press the left red button to start the curve. If you need to stop it for any reason, press the same button again
  4. When toaster reaches the top of curve (245 C for kester profile), crack the door open 1-2" to start cooling. This is necessary due to considerable insulation and the powerful quartz elements, which make the oven slow to cool. Keep door cracked until temp gets to 100C or so (it will beep then). Best not to open the door completely, as you don't want to cool it so fast that thermal shock is an issue.

To do: Add USB jack to front (toaster sends data log out 57600kbps serial, and also allows tuning of PID parameters) program other curves, as needed or additional functions. The second right button will cycle through options, but currently does nothing...

Solder paste and flux is kept by warden -- it should be in the toxic mini fridge below the bench.

Do not eat solder or solder food.

The new oven uses a Rocket Scream 1.20 reflow shield.

It also features an arduiino uno, a 12V DC power supply (inside), a cooling fan in back, a type K thermocouple, and a solid state relay. If relay requires replacement, it must be able to handle 15Amps or more (this is a 1200W oven when going full tilt).

PID last tuned by Lorin Parker. Rocket Scream Basic Firmware and Curve can be found here as well.

Legacy Toaster (RIP):

The reflow oven works. It has a fairly basic profile in it based on the standard Kester profile

DaveB did all the work so far on this unit. You can consider it in part a bizarre found-object sculpture because very few parts were actually purchased to make it work - almost everything was found @Hive13 or in Dave's ManCave (tm).

Basic Operation

There are two lights on the dev board.

  • Green LED is for the heater element. If the green LED is on, the heaters are on.
  • Blue LED is for the fan. If the blue LED is on, the fans are on.

There are two buttons on the dev board.

  • The Blue button starts a reflow cycle. It has debounce on it so you may have to push it for 1/4 - 1/2 second for it to register.
  • The Black button resets the unit.

When the unit powers up, the default state powers up the fan at an extremely low power to circulate air. The unit is designed to operate with the door CLOSED.

To start a reflow cycle, press the blue button. As soon as the cycle starts, the heater will kick on full blast (i.e. green light on continuous) to preheat the coils before starting PID operation and following the pre-programmed temp curve. After the peak temperature has been reached, the unit will shut off the coils and coast. This portion of operation ever so slightly violates the temperature profile because it does not cool off fast enough. Once the temperatures drop below 180C (i.e. the solder is no longer molten) the fan will kick on (blue led) full blast until the temperature drops to a safe level, at which point the unit resets.

Summary: put your boards in. Push the blue button. Watch and wait. Pretty easy.

Basic History

  • The oven started life as a standard toaster oven. The stock controls were gutted.
  • The lower heating element was moved to the top and then hooked up in parallel with the original top element to increase the thermal heating capacity.
  • The oven was fitted with a random thermocouple (K type, I *think* had reasonable output for room temperature, body temperature and a lighter during testing) found on the floor of the space.
  • A circuit board leftover from a failed product attempt was re-purposed as a thermocouple amplifier, using the AD8495 IC. It is responsible for outputting a 0-5v signal proportional to the temperature of the thermocouple. This is fed to a 0-3.3v ADC on the dev board. The unit never gets close to hot enough to approach the voltage limits of the dev board. There are no explicit protection circuits, i.e. this is kind of ghetto don't point a blowtorch at the sensor - you might fry the dev board.
  • A solid state relay was purchased to control the heating elements. (yes, I cheated and bought this for a whopping $9)
  • A simple controller was constructed from a STM32L-DISCOVERY board floating around the space. The board has a built-in USB SWD programmer/debugger module.
  • Although rated for "3 - 30V DC" on the control input, it was discovered through trial and error that the 3.3V output of the STM32L board was insufficient to fully energize the solid state relay, leading to piss poor heatup times.
  • A random piece of perf board laying around the space, TIP102 darlingon and 7805 regulator salvaged from defunct projects, couple capacitors and 12v wall wart missing a plug were combined in a most horrid way with a mini-USB cable cut in half to provide a sledgehammer solution. The STM32L board is now powered by the wall wart via the 7805 providing 5V to the USB cable. The STM32L now switches the wall wart voltage output (~14V w/o load) to the solid state relay using the darlington and a couple resistors (can you say GAIN?). This piece of perf board is ugly as sin and gooped with solder but it works.
  • A second darlington and couple resistors was added to the perfboard to control a small fan scavenged from the fan bins. The fan blows inwards below the shelf where boards are placed. This is again controlled by the dev board.
  • The STM32L board acting as a controller is running ChibiOS, a free open-source RTOS. (total overkill)
  • It has a simple PID controller on it with a few modifications to better suit the particulars of the situation. Mostly full-blast heat and fan replacing PID in certain circumstances to allow better tuning of the whole operation range.
  • The temperature profile was adjusted with feedback from real world boards to avoid catching them on fire. (oops)
  • The wall wart was shoved in the space where the original controls were along with everything else and the power cord was spliced together so that there is only one power cord required for the unit.


Source is on GitHub. It was built off Chibios version *2.4.2* !!!

Issues and Improvements

  • Recompiling is the only way to change the profile at this time. :(
  • I chose the hardware resources such that the USB peripheral pins are available. ChibiOS supports the USB in its HAL, and we've gotten LibUSB to play nicely. This would be a really nice way to communicate status, etc with a PC. Would also be really nice for programming the desired temp curve.
  • There is no display at this time. :(
  • The board has a provision for a LCD display but I ran out of time trying to marry ST and Chibios libraries and get the display driver provided with the example code to compile. The example code for the dev board is actually a thermometer but it's written for a different compiler with a different set of libraries. Not entirely trivial to meld with Chibi.
  • Believe it or not, the unit does not have enough thermal capacity! Adding an additional 2-4 coils would make it able to ramp as fast as the specification calls for. I manually code the final ramp up as a 100% on duty and still fail to meet the specified ramp rates - too slow. Obviously, this shite ass code should be removed and the PID loop re-tuned if additional thermal capacity is added.
  • The unit has a LOT of thermal inertia. I'm thinking that it might be a good idea to remove the ceramic tubes that currently house the heating elements to expose the bare nichrome wire. Doing so might be a little dangerous but would certainly allow much faster transients I think.
  • The unit also fails to meet the cooldown specs after peak temperature is reached. I'm scared to use the fan for cooling immediately due to the solder being molten. Perhaps some kind of a solenoid or linear actuator to open the door would help it cool faster?