Author Topic: Yet Another Reflow Oven Controller  (Read 7540 times)

0 Members and 1 Guest are viewing this topic.

Offline JimmyMTopic starter

  • Regular Contributor
  • *
  • Posts: 93
Yet Another Reflow Oven Controller
« on: March 21, 2013, 06:13:48 pm »
Well, I'm building a reflow oven controller. Another in the long line of hobbyists building controllers.
I'm currently using a TechFX (now defunct) Reflow2 controller for my 2600W/230V convection toaster oven. It works OK when it decides it wants to talk to the PC. So I figured I'd roll my own to deal with a few issues I don't like about the TechFX. Not the least of which is the horrific overshoot. Primarily it's an opportunity for me to dig into several microcontroller aspects all in one project.
The controller will be an Atmel ATMega644P/324P @16MHz (644P for development right now)
The LCD will be the SparkFun 128x64LCD (No serial backpack). I've used upgraded firmware for SparkFun's own serial backpack to drive the screen directly from the 644 (text, lines, etc all works very nicely now).
PWM control of the backlight(possibly).
PWM control of Heaters and cooling fan via SSR (0.5-1.0 HZ, maybe with min on-off, PFM to not switch the SSR too quickly at high or low duty cycles)
On/Off control of the oven's convection fan.
A MAX7315 8 port I2C I/O expander with PWM and an interrupt pin (indicator LEDs, buttons, etc)
At least 2 MAX81355 Thermocouple cold-junction to SPI chips. (It's the 6675 successor, with error flags, etc)
A rotary encoder for changing settings, etc.
EEPROM storage of temperature profiles, maybe and FTDI-USB connection.
Also going to have the temperature display as a rolling graph while running a profile.

Soooo? What do you guys think? Any feedback? Gotcha's? good ideas for a UI?
 

Offline JimmyMTopic starter

  • Regular Contributor
  • *
  • Posts: 93
Re: Yet Another Reflow Oven Controller
« Reply #1 on: March 21, 2013, 06:39:51 pm »
I'll go into some design detail in the next few posts for those that are interested. I welcome feedback. I am a bit of a beginner in all of this.

Mega644P: I chose this chip so I wouldn't have to use serial data from a 168/328 (fewer pins) to drive a "serial backpack" that uses a Mega168 and costs $20USD. I just upped the ante to a 40-pin chip to do everything. I suppose that If I really tried I could use a Mega328 and use a MAX7313 or 2 to do all input output duties. Heck I might try it any way. But a 644 is only ~$4USD more then the 328.

MAX31855s: These are the successors to the venerable MAX6675 that is no longer recommended for new designs. I'll be building the Thermocouple stages based on the schematic from Maxim's MAX31855EVKIT. Caps, inductors, CANBus protection (basically TVS diodes). Oddly enough, the chip doesn't seem to like to be switched too slowly. 500kHz works nicely on the breadboard. Maybe in PCB I can do 1-2MHz. With a 3.3V supply I use voltage dividers on the clock and chip select lines (3.9k/8.2k IIRC). I'm also using a 1.2K resistor in series with the MISO line. I had forgotten to use the dividers at first and the chip was getting the full 5.0V but did survive. Just had TONS of noise. The 644P has no problems reading a 3.3V MISO line.

MAX7315 is the 8 I/O version of the MAX7313. I may switch to that just for the heck of it. For I2C I'm using Peter Fleury's code. Nice and brief. I don't need the complexity of the TWI code based on AVR315. It works fine at 100, 250, & 400KHz on breadboard. The 32bit packet has 14-bit thermocouple temp, 12-bit internal temp, and error flags for Thermocouple shorts and opens. So the uC can monitor that stuff. It also has a nice !INT line to trigger the uC to read the port register when an input pin has changed. A 0.1uF cap at the interrupt pin on the uC works nicely to suppress noise and doesn't seem to slow down the performance at all. As fast as I can push 2 buttons it reads the register and sends back data to change the condition of LEDs on the 7315 to indicate button state. Quite nice. I'm just getting used to how fast a 16MHz chip is at reading/writing data at 400kHz.
 

Offline JimmyMTopic starter

  • Regular Contributor
  • *
  • Posts: 93
Re: Yet Another Reflow Oven Controller
« Reply #2 on: March 21, 2013, 06:52:40 pm »
The LCD: I picked the SparkFun 128x64 STN display because it was big enough, but not too big that it was too expensive to play around with. It's a parallel interface that requires 13 pins + 1 backlight control. SparkFun makes a serial to parallel "backpack" that has been panned for being glitchy. Someone (summoningdark) has built an "upgrade" firmware that I have read is faster, more functional, and far less glitchy. So I used that as the basis for the LCD control. I just chopped out all of the USART stuff since I'm sending data to the LCD that is generated within the uC itself. The went about reassigning all of the output pins to work with the 644. With the rat's nest of wires that is my breadboard setup, I really good performance. A few oddball pixels here and there caused by switching noise on the 644 generated by switching the 30mA backlight at 3900Hz. Once that was shut off, all works very nicely. A double line border around the screen, a circle, and 12 characters of text are drawn so quickly that it seems to "appear", not be "drawn" in. It also come with 2 font arrays and the ability to store "icons" or "sprites". I switched it from storing the sprites in RAM to Program Space (with more than a little help from summoningdark). The 644 has TONS of program memory.
« Last Edit: March 21, 2013, 06:57:46 pm by JimmyM »
 

Offline Pat Pending

  • Regular Contributor
  • *
  • Posts: 161
  • Country: us
Re: Yet Another Reflow Oven Controller
« Reply #3 on: March 21, 2013, 09:35:46 pm »
I'm about a week into a toaster conversion and getting ready for the controller part.
Reading the posts on the Maxim site it seems some users report MAX31855 problems with phone interference, FYI.
« Last Edit: March 22, 2013, 12:46:20 am by Pat Pending »
 

Offline JimmyMTopic starter

  • Regular Contributor
  • *
  • Posts: 93
Re: Yet Another Reflow Oven Controller
« Reply #4 on: March 21, 2013, 10:13:49 pm »
I'm about a week into a toaster conversion and getting ready for the controller part.
Reading the posts on the Maxim site it seems some users report problems with phone interference, FYI.
I'll have to head over there and see what they're talking about. Have you seen any I2C based thermocouple converters?
 

Offline Pat Pending

  • Regular Contributor
  • *
  • Posts: 161
  • Country: us
Re: Yet Another Reflow Oven Controller
« Reply #5 on: March 21, 2013, 10:54:15 pm »
Try this for an I2C thermocouple interface

https://forum.sparkfun.com/viewtopic.php?f=14&t=25723

12bit conversions times are fast, the MAX31855 chip max's out at 220mS per sample.
« Last Edit: March 22, 2013, 12:47:02 am by Pat Pending »
 

jucole

  • Guest
Re: Yet Another Reflow Oven Controller
« Reply #6 on: March 21, 2013, 11:51:04 pm »
I read your post and it reminded me of my almost finished project; except in reflow the profiles happen much quicker than firing pottery.
https://www.eevblog.com/forum/projects/kiln-controller-project/msg146286/#msg146286
« Last Edit: March 21, 2013, 11:54:15 pm by jucole »
 

jucole

  • Guest
Re: Yet Another Reflow Oven Controller
« Reply #7 on: March 22, 2013, 09:36:26 am »
It also come with 2 font arrays and the ability to store "icons" or "sprites". I switched it from storing the sprites in RAM to Program Space . The 644 has TONS of program memory.

The goofs I made with my kiln controller project was I thought 8K was enough for my code,  then I thought I could do a nice UI display with custom graphics using my 2x20 LCD - I was so wrong on both accounts!

The 644 looks like a beast! - I bet you could do a reflow and my kiln controller and still have enough for code to land a Rover on Mars!! ;-)
 

Offline JimmyMTopic starter

  • Regular Contributor
  • *
  • Posts: 93
Re: Yet Another Reflow Oven Controller
« Reply #8 on: March 23, 2013, 12:54:02 pm »
It also come with 2 font arrays and the ability to store "icons" or "sprites". I switched it from storing the sprites in RAM to Program Space . The 644 has TONS of program memory.

The goofs I made with my kiln controller project was I thought 8K was enough for my code,  then I thought I could do a nice UI display with custom graphics using my 2x20 LCD - I was so wrong on both accounts!

The 644 looks like a beast! - I bet you could do a reflow and my kiln controller and still have enough for code to land a Rover on Mars!! ;-)
I'm at 8K with just testing code in my "main.c". I have "includes" for the lcd, spi/max31855, i2c, some max7315 macros, fonts. It all adds up to just a smidge over 8K. I haven't tried really squeezing things down though. Of course, as long as I stay below 32K I'm all set. I'll be using the 324 in "production". However. I was thinking. Contrary to what other might say, I do think.
The 128x64 screen takes 13 pins to operate, so does the 160x128 screen. The code that summoning dark modified to make her 128x64 LCD upgrade shouldn't be all that hard to use as a roadmap to modify the existing 160x128 code. I've just placed an order for a mega645 and a mega2561 (64 pin devices). I thought I might play around with them a bit. Of course I regret now, not ordering a 100 pin device, just for the hell of it instead of the 2561.
I had this sick idea that I could drive 2 LCDs. But I'll get this working before I drop $120 on a pair of big LCDs.
Of course, it is nice to know that I can drive the LCDs with the 168/328 with just a few pins to spare.
 

Offline JimmyMTopic starter

  • Regular Contributor
  • *
  • Posts: 93
Re: Yet Another Reflow Oven Controller
« Reply #9 on: April 06, 2013, 02:47:07 am »
Quick update...
Got the lcd, max31855s, max7315, rotary encoder, and ssr drivers working. I'll be using a 9-12v 40w laptop supply. I'm working out the menu system now while I'm designing the PCB.
The buttons are read by the max7315 and I use pinchange interrupts to read the encoder without continually polling. The encoder and button work really nicely.
 

Offline hutale

  • Newbie
  • Posts: 3
Re: Yet Another Reflow Oven Controller
« Reply #10 on: April 21, 2013, 07:05:46 pm »
I have programmed and made a Multi Function Temperature Controller, MultiTC from scratch with own C code. MultiTC is a precise PID Temperature and also Reflow Oven / Furnace Controller with programmable set-point, 8 different programmable profiles and parameters. Its functions are base on a further developed AVR ATMega88PA-AU SMD microprocessor. A MultiTC KIT controller set includes a thoroughly tested and calibrated controller assembled on double side, professional SMD PCB, an assembled and tested LCD display and a K-type thermocouple. MultiTC KIT controller sets are available. If you are interested in, you can find documentation, pictures, video on http://multitc.is-best.net/en/ web page.
 

Offline Dreso12

  • Contributor
  • Posts: 17
Re: Yet Another Reflow Oven Controller
« Reply #11 on: June 02, 2013, 09:36:27 pm »
I am using a controller with and AD8495 for the sensor, a dsPIC for the control and a MCP2210 for the USB connection to a computer. It is based on the controller in www.nelectronics.org. It works quite well and it is easy to set.
 

Offline miceuz

  • Frequent Contributor
  • **
  • Posts: 387
  • Country: lt
    • chirp - a soil moisture meter / plant watering alarm
Re: Yet Another Reflow Oven Controller
« Reply #12 on: June 03, 2013, 06:57:25 am »
I've build my reflow oven controller too :)

ATMega8 was enought for a task. What I would suggest you is to look into modular approach I took - temperature sensor conditioning is made on separate board and connects to MCU ADC pin, I've used PT100 platinium sensor because of price and components at hand restrictions, but another board can be swapped if someone wants to switch to thermocouple. I've used SPI port for LCD communication - just add 74hc595 to a 2x16 LCD and you have a serial LCD.

In general, the design you are comming with is ok, but very expensive ;)

Oh, and BTW, make sure your oven is beefy enough, 800W one we used does not need a PID controller, because it's soo slow - it barely reaches the solder melting point when driven on full power. Actually all our controller can be replaced by single switch and illumination inside the oven to see when the solderpaste melts.

Offline JimmyMTopic starter

  • Regular Contributor
  • *
  • Posts: 93
Re: Yet Another Reflow Oven Controller
« Reply #13 on: March 05, 2014, 08:15:07 pm »
I've been away for some time. miceuz, you're right. It is a little on the expensive side. But it's also a design exercise, so I'm OK with the price. The PCB design is about as done as it needs to be. I've fiddled with it now and then, but it's pretty well done. The menu system is quite nice. So far 4 selections.
Config, 2 profiles, and a bake setting.
The config menu will allow you to change PID parameters (really just PD), profile parameters, and thermocouple config.
The bake setting will allow you to select a temperature and duration in hours & minutes. The LCD also displays a graph updated every second with thermocouple temp.
Now to buy the boards. Right now I use PCB Artist by Advanced circuits, but it requires that I use them to have the boards made. $33 each (minimum of 4). So I'm going to switch to a different PCB package that generates Gerbers. Don't get me wrong Advanced Circuits work has been impeccable in the past. Just a little pricey.

hutale, The MultiTC looks nice and I'm sure it would work, but this is a design/coding exercise too. I'd like something I can fiddle with.
Although I wouldn't mind having a peek at your PID code. ;-)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf