NorECs / Support / Application notes / Furnace control II Search FAQ Order and Enquiry Contact Language
Omega software: Furnace control II

In high temperature electrochemistry a typical goal is to obtain impedance sweeps of the sample at multitude of temperatures (and as a function of atmospheric conditions). This process will take considerable amount of time and effort becasue it is typically operated manually due to lack of software able to control all included instruments. Omega can be programmed to control all the instruments and acquire data automatically at set conditions such as stabilized sample conductivity and sample target temperature.

In this document we will concentrate on controlling the furnace dynamically. Another example can be found on Automated sweeps II page step 6B

Furnace control is a combination of two nodes. First we need a node to measure or retrieve the furnace temperature. This is typically (ET) type node that just asks for furnace temperature from the furnace controller. This information is then used as feedback to another node controlling the furnace called action (AU) node. The action node is marked always active and the target setpoint and ramp rate are calculated with a formula according to user needs. The special feature of AU node when it is set to control a furnace is that it sends the new setpoint and ramprate values only when they change, and leaves it up to the furnace controller to calculate the current working setpoint.

Furnace behavior discussion, comments and examples

Furnace that is controlled with it's own thermocouple is often fast to react and does not overshoot much. The temperature read from the controller is however not the same as the sample temperature inside ProboStat. If it is not necessary to know the sample temperature exactly, this setup is good enough and easy to use.

When the user wants to know the sample temperature precisely, a thermocouple must be placed next to the sample inside ProboStat. This thermocouple can be read by either a multimeter (connected to Omega) or the thermocouple can override the thermocouple fo the furnace. This setup is many advantages but few caveats also: The setup is more prone to overshoot, and the furnace needs overheating protection system. (all furncaes we sell with this option also have overheating protection).

The mass of ProboStat sample holder between the furnace heating elements and the thermocouple inside cause delay that makes it harder for the PID algorithm in the furnace controller to control the temperature precisely, causing over and undershoots when changing temperature setpoint. With Omega it is easy to adjust to this behaviour and avoid these over and under shoots by changing the ramp rate prior the furnace arriving at target temperature.

In general the overshooting is worse at lower temperatures where the amount of heat energy is low compared to the thermal mass: heating and cooling takes longer. At higher temperatures the ratio between energy and mass is more favourable and things happen faster.

Furnace setpoint is the target temperature. The furnace could try to achioeve this immediately, but often this fast heating is not good for the items inside the furnace. To protect the items, the heating rate must be limited. A limit to the heating rate is called ramp rate. The ramp rate controls the speed of change of something called working setpoint, a temporary target temperature. Working setpoint is controlled by the furnace controller as where the target setpoint and the ramp rate can be controlled by Omega. When target setpoint or ramp rate is changed, the furnace calculates new 'slope' for the working setpoint from current temperature to the target temperature.

The control loop is rather complicated. Most of the time it does not matter but in case excapt predictibility is required it is important to understand the process. The Measurement data and user provided expressions control the Omega software. The Omega sends instructions to the furnace controller, that has it's secret inner logic. The furnace controller determines the amount of power to send to the furnace heating elements then in the end determines what happens to the temperature. This info is then eventually read back to Omega and it may or may not do new things according to what it is instructed to do.

Furnace behaviour (guiding thermocouple inside ProboStat)

Furnace was set to go to: 800
Ramp rate expression: IF(ABS(800-$N1.ET)<25, 10, 100)

In human language: If difference between target temperature and measured furnace temperature is bigger than 25, use ramp rate 1 degree per minute, otherwise use 10 degrees per minute.

Overshoot was 0.8 degrees and lasted less than 10 minutes.

Here is easy to see the difference between target setpoint, working setpoint and ramp rate. Target setpoint was always 800 in this picture, but ramp rate changed the moment that the actual temperature was 25 degrees away from 800, causing the working setpoint to reset and determinate another angle.


Experiement where instead of using furnace actual temperature as feedback we use furnace working setpoint as feedback.

Furnace was set to go to: 700
Ramp rate expression: IF(ABS($N6.AF1-$N1.WSP)<15, 20, 100) 


Furnace was set to go to: 600 (result of AF1)
Ramp rate expression: IF(ABS($N6.AF1-$N1.ET)<15, 20, 100)

When new working setpoint is calculated inside the furnace controller, the accumulating result from PID function is most likely set to 0, causing the PID always to overshoot on a newly acquired setpoint.

Furnace was set to go to: 200 (result of AF1)
Ramp rate expression: IF(ABS($N6.AF1-$N1.ET)<15, 10, 100)

Settings that would work relatively OK at high temperatures do struggle at low temperatures. The oscillation is 15 minutes and overshoot is almost 5 degrees.


Furnace was set to go to: 400 (result of AF1)
Ramp rate expression: IF(ABS($N6.AF1-$N1.ET)<25, 15, 100)

Despite the early cutoff at 25, and slow ramp rate of 1.5 degrees per minute, the furnace still overshoots.

This article is the property of its author, please do not redistribute or use elsewhere without checking with the author.