I came across a post in Hackaday.com a while ago about improving the T-962 reflow oven by Werner Johansson at Unified Engineering in Sweden. I happened to have one too, before seeing this post, I was in the progress of building a replacement controller based on ESTechnical.co.uk design using Arduino. I got to the stage to have the PCBs made because I already have all the parts except the thermocouple amplifiers. Another reason why I want to have the PCB made instead of buying from ESTechnnical is because my T-962, a smaller version of the T962A, it doesn’t have enough space to mount two external solid state relays (SSR) like the one shown on the left.
Another reason is that I don’t want to cut out the SSR part of the board from the original controller, as described in the ESTechnical installation guide . At the end, I designed a new SSR board using 2 Sharp S202S02 SSRs.
I added isolation cutouts on my own PCB to improve the safety, where high mains voltage are separated from the low-voltage input circuit, as you can see from the image below. However, I made the mistake in not using the same Molex SPOX socket like the original, so that I don’t need to modify the original cabling.
While I was busy getting the board to work, Werner’s article came about. It’s a really good hack, and I wish it came out a few months eariler, so that I needn’t have to waste my time and money on the clone design. Nonetheless, I made the detour and try out Werner’s replacement firmware, and needless to say, It works! However, the biggest pit fall is that I still need to rely on the thermocouple amplifier of the original controller which uses simple op-amp design and the CPU’s internal analog-to-digital converter (ADC). I am a bit sceptical with the accuracy of the design. Since I already purchased the MAX31855 thermocouple amplifier for the clone design, I really want to see if this amplifier will make any improvement to the crude op-amp/ADC design of the original.
Werner suggested to use the One-Wire version of the Maxim’s thermocouple amplifier, the MAX31850, which I think was a logical choice, since there isn’t that many free pins available on the original controller. Werner has thoughtfully mapped out all the processor pins usage and place it in the t962.h file in the source code that he provided.
However, there is one problem. I can’t get the MAX31850 from my usual supplier, Farnell UK. Also, it comes only in TDFN-10 package which I have no confident in hand soldering it probably. I only have one reflow oven and it’s in the state of being upgraded.
Since I already got the MAX31855. It’s in SO-8 package and I can hand solder them without any problem. The LPC2134 has 2 SPI ports available, but looking at the pin mappings, the needed SCK0 pin for the first SPI port is being used as input by the F4 button. Part of the second SPI port(MOSI1, MISO1) are also being used by the LCD R/W and EN pin. Damn it!
Another bus on the processor that is of interested is the I2C bus. This bus requires only two wires and it’s brought out to a very convenience place next to the EEPROM. A quick search on Google brought me to this I2C to SPI bridge chip, SI18IS602B, by NXP. To my delight, It’s in hand solderable TSSOP package and Farnell UK stocked them, it only £1.72 each.
With the ESTechnical clone PCB I made earlier, I reuse the thermocouple front-end portion and added the SC18IS602B chip on TSSOP proto-board.
I wire-wrapped the SPI connections from the MAX31855 chips to the SC18IS602B I2C-to-SPI bridge and soldered the SDA and SCL pins to the two 4K7 pull-up resistors next to the on board EEPROM. Each I2C-to-SPI bridge can address 4 SPI devices, two of which (SS0, SS1) are connected to the MAX31855. I did not take the power from the original controller. Instead, I tapped the raw DC from the bridge rectifier on the original controller and fed it to the 5V and 3.3V voltage regulators on my clone board. This should minimize any noise from the original controller, my clone board also had separate analog ground plane for the MAX31855.(click on the picture to zoom in)
With all the hardware done, it is time to get the software to work with Werner’s modified firmware. Two libraries are needed, the first is the driver for SC18IS602B I2C-to-SPI bridge. According to the datasheet, the chip communicates with the processor through function IDs and data buffers. The chip can hold 200 bytes of data. Once the I2C communication completes, the chip will pass on the data onto the SPI bus to the selected device automatically. At the same time the MISO pin on the SC18IS602B chip will reads in the data and stores them in it’s buffer.
For my purpose, I only need to read from the thermocouple amplifiers. The MAX31855 does not need any command to be written to it, instead, it will output the 32-bit temperature data on it’s DO pin according to the SCK pin. So to get the SC18IS602B to collect the data from the MAX31855, we need to do a dummy write to the chip, which MAX31855 will ignore, at the same time SC18IS602B reads the data via it’s MISO pin and store them in it’s internal buffer. From there onward, the processor can read out the data from the I2C-to-SPI bridge buffer.
To work with this design, you’ll need at least v0.3.0 code or later. Werner has kindly added the support of this design in his latest code release, you can get it here. His latest code will check for the present of One-wire connected MAX31850, if they are not found it will then check for the present of any MAX31855 connected via the SC18IS602B I2C-to-SPI bridge and if non of that are found too, it will fall back to use the internal Op-Amp/ADC.
Next thing I’d like to tackle is the annoying noise level of the internal system fan. Ideally, I’d like PWM control for the system fan based on the board’s temperature. If either the MAX31850 or the MAX31855 are used, there is no need to worry about the cold-junction temperature of the thermocouples, the chips will handle that automatically. I can reuse the DS18B20 temperature sensor as the board temperature monitor and control the speed of the system fan accordingly. In next part of this series, I’ll have the full schematic available and the board design ready to be submitted to the PCB house.