View Full Version : Heat treat furnace: The controller

04-08-2010, 09:46 PM
This has taken a while to design and build as I have other things to do as Spring approaches.

The controller is a complete stand alone unit. It has very repeatable temperature control with a precision of about +- 10 degrees F. Accuracy is dependent on the thermocouple and how well the calibration is carried out. The circuitry is very simple although the theory of operation is less simple.

The unit is generally easy to build although it has a lot of internal wire connections. There are also a couple of parts that I used because I had them that may be hard to obtain. In that event there are alternatives that may work even better at the cost of a little more complexity.

The main features:

Fail safe control of both legs of the 240 vac supply. If the controller loses power the 240 ac supply is disconnected. Also, the main power relay is never called on to switch under load. This prevents wear and tear on the contacts and the possibility of contact welding.

Very flexible ramp up and ramp down from a rate of 100C per hour to the maximum furnace capability.

Easy addition of computer control using any version of Windows. The additional circuits for computer control are minimal and no special adaptor or cables are required beyond possibly a cheap USB to serial port adaptor and a standard serial cable. The software is not dotnet based.

With computer control complex staged heat, hold and cool down cycles can be easily implemented. Cycle programming is in natural English.

The circuit is so simple that I haven't designed a circuit board for it as yet. I probably will but for this prototype I used a small bit of prototyping board.

The box I used is steel rather than aluminum as I feel that is a safer option when dealing with 240ac power. It also helps to shield the low power portion of the electronics.

The high voltage components are inside the black steel shield. They are the main power relay, the solid state relay and the small 110 ac step down transformer that powers the analog logic. The rear connector block for the high voltage has a cover that screws on to prevent contact with the terminals.


The knobs on this unit are one of the very hard to find items I mentioned. They are planetary geared with a ratio of 10 to 1 for very precise setting of the temperature and ramp. Another item that may be difficult to find is the potentiometer that sets the temperature regulation. It is a 500 ohm, 1 ohm per winding turn wirewound potentiometer. This means that it is extremely repeatable and unaffected by changes in the environment. The knobs are calibrated with one hundred and one index marks from zero to 10. This allows for easy and repeatable manual setting to within ten degrees Celsius over a range of 1000 degrees Celsius.

The top switch controls the main power relay and the power to the logic. Since the SS relay cannot be turned on until the main power is turned on it is impossible to close the main power relay into the load under power.
The centre switch enables the SS relay and turns on the heat. The bottom switch sets either ramp up or ramp down operation. The bottom knob sets the charging or discharging rate on a .1 farad supercapacitor that has virtually zero leakage and will give a very accurate time delay even at extremely slow charge rates.

Each of these items may be substituted although the supercapacitor will have to be substituted by a slightly more complex timing circuit. The meter may be subtituted by an ordinary digital voltmeter and the circuit provides for calibration so that the volt meter reads temperature directly in the units of choice.


The calibration was performed using a high quality kiln pyrometer with a platinum/palladium thermocouple. Several heating runs were made and the values plotted in Excel to determine the tracking profile of the type K thermcouple. This profile can be used by the software to provide a real time correction.


This is the schematic for the controller. I haven't shown the power components as the hookup of those is very straight forward.


04-08-2010, 10:20 PM
Very interesting Evan. That looks like an old Heathkit project that you mutilated. :-)

04-09-2010, 01:13 AM
Nicely done, Evan.

04-09-2010, 11:24 AM
Very well done Evan.

Very well thought out.

The sign of a professional.

Thanks for sharing it with us.

Do you mind if others make one?

I have several furnaces who need their controls updated.


04-09-2010, 11:48 AM
I don't mind at all. That is why I am publishing it here. The computer software will also be available when I finish and debug it. It can be implemented in a number of ways with the simplest being in open loop mode. The software will use the serial port which is open on all versions of Windows or a Virtual USB serial port to access a single cheap serial to parallel shift register in the stand alone controller. Via one of the three output lines available on a serial port it will clear the shift register and then it will send the correct number of pulses to produce the binary equivalent of the proper temperature.

The parallel output of the shift register is connected to a simple R2R ladder which acts as a D to A converter the output of which is applied to the temperature comparator. The third output line is used to control the SS relay. With 8 bits over a range of 2000F that gives a resolution of +- 7 degrees which is good enough for most any job.

BTW, the supercapacitor I used is a memory backup capacitor. They used to be available from Radio Shack for a couple of dollars.

The software is in a early stage and is subject to change from the screen shot I posted. I have already added an e-stop button to it.

Here is a better shot of the controller. I still need to add a couple of labels and make a new scale for the meter.


04-10-2010, 03:33 AM
I wired up the controller to the furnace this evening and ran some calibration tests. The first was to set it to 300C and see how close I came on the initial setup. The initial adjustments were made using the millivolt values I recorded when comparing the two thermocouples so I knew it would be pretty close. I was still very surprised to find that it settled to within 5 degrees c of the dialed in value. Running it up to 500c had it stable at about 20 degrees low. That is because of the slightly non-linear response of the type K compared to the expensive thermocouple. The same held true for 600 and 700 degrees so I decided to adjust it so they would be correct and not worry about the small offset that results at 300 degrees.

I will be doing further testing and it may be necessary to make a small correction card to refer to when setting temperature. In no case is it off by more than about 25 degrees and that is entirely the fault of the thermocouple. This won't be an issue under computer control as it wll have a built in correction table.

The controller has just the right amount of hysteresis and holds the temperature to within +- 3 to 4 degrees or so. At 700 degrees C it cycles about every 30 seconds for 15 seconds on time. The SSR is a zero crossing switch type and it barely makes a noticable flick in the power when it turns on/off. The heat sink for the SSR is just the right size as it runs at about 120F at the most. The calibration is very easy to adjust and all of my calculated values for the circuit design are within the required ranges.

04-10-2010, 07:26 AM
One source of 10 turn Knob dials...
A little different style, but should work fine...


04-10-2010, 08:43 AM
I have some of those too. They are intended to use multi-turn helical pots and they count the number of turns in a small window. Very cool but hard to read because the window is very small, at least on the ones I have. The main criteria is the use of a wirewound pot for the temp control. They aren't prone to generating noise and they are very repeatable. It is the one item worth looking for and spending some money to obtain instead of substituting with some other type.

04-10-2010, 08:49 AM
How do you intend to transfer the analog value to the PC?
How does the current controller handle the overshot? I see no PI regulator.
100C / hour is way to fast for stress relieving.


04-10-2010, 09:50 AM
Overshoot is taken care of by the thermocouple being in the direct view of the heat from the elements. It heats more quickly than the oven and shuts off the heat a little early. It then sneaks up to the correct value. The type K thermocouple has a very fast response.

I haven't tested the ramping function yet as that will obviously be a slow process. If it ramps too fast that is easily changed by changing R2 to a 1 megohm pot.

For more accurate ramping control without a computer a 555 timer can be used to increment a 14 stage cmos ripple counter. The ripple counter outputs are connected to a R2R ladder and the output of that becomes the comparator reference. Adjusting the oscillation rate of the 555 sets the ramp rate. I will draw up the simple schematic for that portion a little later.

To read the analog value into the PC the 555 is put on hold by the SSR control line being switched off which also clears the ripple counter and the ripple counter is incremented by the pc until the output from the R2R ladder exceeds the analog value of the thermocouple in a comparator. This only requires one input and uses the spare op amp to implement. After taking the reading the 555 is enabled and the ripple counter continues from the present temperature. This is the same system that is used to set the temperature from the PC. When using the PC to control ramping the ramp rate control on the controller is set to slowest.

04-10-2010, 10:13 AM
Overshoot is taken care of by the thermocouple being in the direct view of the heat from the elements. It heats more quickly than the oven and shuts off the heat a little early. It then sneaks up to the correct value. The type K thermocouple has a very fast response.

I do have two heat treating ovens. One is a vinatge Heraeus that has exactly zilch electronics. Just a mercury switch to switch on and off. Here, the platinum sensor is heated to avoid overshot. Sounds a bit strange, but works perfect. Regulates to +/-5C (air temperature).

The other oven is an not as old one with a decend PID regulator I installed (got that in excange for some collets). It has a K-element that sticks into the chamber, seeing only the air in the chamber. If I set 830C, it heats up to about 650C at full throttle and then stops heating. It hits the 830C to within 1C without any correction. But full throttle means about 1500C/h.

So, you'll face overshot sooner or later.

If it ramps too fast that is easily changed by changing R2 to a 1 megohm pot.

Ramp angle is not a linear function of the duty cycle. Heat losses increase with temperature, so duty cycle will have to be bigger the higher the temperature. You'll need a means to cool the furnace down to have a controlled down slope on the ramp.