WARNING: This design involves use of the mains and a heating element, both of which carry inherent safety risks. This project is a one-off prototype and was not designed to be duplicated. This has been posted as an education resource for understanding the concepts involved.
Accordingly, this information comes with absolutely no warranty or guarantee of any kind. Any attempt to duplicate anything found here is not advised and is solely at your own risk.
There are times when I would prefer to use a griddle over a toaster. These times mostly involve sensitive parts like sensors or plastic connectors which are easy to screw up in an oven. Before the age of ROHS, connectors were rarely made with the ability to withstand lead-free soldering temperatures. Sometimes you can get these low-temp connectors from surplus for very cheap. The griddle could potentially make them lead-free temperature friendly. The toaster and griddle control involve the same feedback loop. Temperature indicted by thermocouple output dictates power control. It therefore made sense to make one device to control both.
Device power is supplied from the wall. A mini transformer converts the mains voltage to 5V RMS, which is rectified using 4 discreet Schottsky diodes. Voltage regulation is provided by several linear regulators. The device is housed in an LMB Heeger MDC642 aluminum enclosure which also serves as the heatsink for a TRIAC which controls the mains flow through the heating element. TRIAC controls is accomplished with a zero-crossing detecting opto-isolating triac driver, the Fairchild MOC3031. automatic zero-crossing does not give you the fine level of control you get with doing it manually but it is easier and produces less magnetic noise. For this application, the level of control was sufficient. The particular TRIAC I used is the BTA20, which is a snubberless insulated gate type. The insulated gate was crucial because it allowed the use of the case as a heatsink. The snubberless feature (meaning the snubber is built in or the equivalent) was not really necessary because the load is purely resistive but it can’t hurt and it prevents random turn-on in the case of mains line surges.
Obviously for safety reasons, it is critical that the case be electrically connected to earth ground. This safety advantage and reduced EMI are the key benefits of using a metal enclosure. Cutouts were made for the LCD, the power entry module, which includes a spot for a 10A fuse, and the Cherry 15A rocker switch I use for power. Additional safety measures could include a thermal cutoff in each heating device.
The microcontroller used for this experiment is the Texas instruments Stellaris LM3S815. It is part of the TI ARM Cortex M3 value line. It only has 64k of flash and 8K of ram, plenty for this project. To avoid making yet another custom board, I used a Schmartboard development board to power the MCU and breakout its pins. One benefit of using the Stellaris was the Stellaris graphics library. This made it faster to implement the buttons and the slider controls. It also contains a plethora of fonts ready for use. The graph, however, had to be implemented manually.
The touchscreen used is a monochrome 320×240 from Powertip. I bought a surplus lot of about 800 of them and I have been selling them on eBay. I used the Microchip AR1020 to handle the resistive touch functionality. Unfortunately, I ran into some trouble getting the Stellaris hardware I2C to properly communicate with the chip. Everything looked good on the logic analyzer so I am not sure what the problem was and I have not investigated further. I was able to read from the AR1020 but I did have to hardcode the calibration.
Some would argue that the analog portion of this project is the most difficult to implement correctly. Fortunately, it went very smoothly for this project. The Texas Instruments ADS1147 is mostly to thank for that. TI made this ADC specifically for temperature control applications and it has an analog front end with a 128x programmable gain amplifier built in. The only thing that separates the thermocouple leads and the ADC input is some basic RC filtering. It also has digital filtering built-in. I set the output at the lowest rate of 5 samples for second, plenty for this application. There is absolutely no software filtering in my application, the result from the ADC is used as is and it is surprisingly stable. The 16-bit resolution offers just short of 0.01 degree resolution at about 80 ticks per degree.
I use a separate aluminum box to house the analog components which includes the ADC, a TI TMP275 I2C temperature sensor, and a precision voltage reference. The digital and analog grounds are wired separately from the main unit. The analog module uses its own linear regulator for power. The primary reason I separated the components was to avoid a moving reference temperature. Thermocouples output a voltage dependent on the gap between the tip and the connection junction. Hence, it is a relative measurement. In order to make it absolute, you need to know what the temperature at the junction is. This is referred to as cold point compensation. When the junction temperature wanders, it makes things difficult.
The software is compact at about 32k, especially considering my reckless use of fonts. I did, however, completely avoid using floating point numbers. There is some safety logic implemented for detecting failing thermocouples and disconnected units but improvement should be made. The detection is made by the lack of temperature increases despite power being applied. The ADS1147 has current excitation features designed for bad thermocouple detection that should also be implemented. I also think it should have the ability to measure the mains current and a backup relay in case the TRIAC fails shorted. Of course, even if all of that were implemented, the early prototype nature of the software would make it irresponsible to leave the unit operating unattended.
Some brief tests showed some very good results. A test board with a 0.5mm pitch, 64 pin TQFP PIC32 turned out good with no burning and all pins connected (see video). My only complaint is that griddle is not powerful enough to heat up at the rate the profile calls for. I had to elongate the profile and dull the steep ramps for it to work. It was the smallest griddle I could find, even so, the open air nature of it makes it difficult to heat quickly at high temperatures. Too slow is better than too fast however. The only problem with too slow is the potential to use up all of the flux before melting point. This could cause oxidation leading to poor wetting. For my test board, the LCD breadboard adapters, it didn’t seem to be an issue but they are about a 2 on a 1-10 reflow difficulty scale.
Reflow Controller Into
Soldering With Griddle
Soldering With Toaster