Adaptive control of deep fat fryers
When I first began learning about controls, the emphasis seemed to be all about making sure the system was as accurate as possible while meeting its dynamic specifications. That is still important, but consider a unique situation that I ran into many years ago. It was in the mid 1990s and I was working on the design of a microcontroller-based product to operate a line of commercial electric and gas-fired deep fat fryers.
The manufacturer was the second largest in the country and did not make its own controllers. The problem grew from the fact that the company wanted a unit with some rather unique features that the current supplier was not willing to provide. The controllers at that time had to be tuned individually to operate with one of 17 different model fryers. This created many logistical problems in the field with interchangeability and replacement parts.
I wracked my brain for quite a while. Clearly some sort of adaptive approach was called for, and it dawned on me that in this particular application, tight temperature control while idling was not a requirement. Plus or minus a couple of degrees would not adversely affect any product’s final quality.
I decided to use a forced-limit cycle technique. I would compel the temperature to fluctuate ±2 °F while idling and in the steady state. This is not too different from the way a common household thermostat works. Almost all fryers operate from a power relay that operates either a sophisticated gas valve or a bank of three-phase electric heaters.
The algorithm I used was unusual. I later received a patent (USP 5,575,194) for it. The technique consists of closing the heat source relay for an adjustable on time when the falling temperature crosses the setpoint. The power stays on for a predetermined length of time and then turns off.
It stays off unless the temperature fails to rise back above the setpoint. If this should happen, then another pulse is initiated and its duration is lengthened by a fixed amount of time. The program periodically measures the slope of the temperature curve. In this way, it can tell if the temperature is rising, falling, or if it has peaked or bottomed out.
Four flags are key to the operation of this control. One is set if the temperature is above the setpoint, another if it is below, a third if it is falling, and the fourth if it is rising. Any time one flag is set, its opposite is automatically reset since they are mutually exclusive. In addition to these four flags, the maximum (peak) and the minimum (lowest) values are also determined and saved.
The whole idea of this approach is to establish a fixed minimum to maximum temperature swing and maintain it. As the temperature is falling from its peak, the difference between the maximum and minimum temperatures for the previous cycle is calculated:
- If the swing was less than it should be, then the pulse count is incremented.
- If it is right on, then no change is made.
- If it is too wide, then the pulse count is decremented.
In this way, the limit cycle band about the setpoint is maintained while the fryer is idling. Once the controlled temperature has peaked it will start to fall. The rate at which it falls is less than the rate at which it rises when the heat has been turned on. The net result of this is an asymmetrical oscillation about the nominal setpoint. Initially a provision was made in the program to gradually adjust the nominal setpoint while in operation in order to make the oscillation symmetric about the nominal setpoint. Subsequent actual operation of the control showed that this was an unnecessary complication.
It was fascinating to watch this algorithm at work. On average it took about 5 to 10 min for the control to adapt itself to any given fryer and reach an equilibrium state. What was equally interesting was the information contained in the resulting transient wave form. The negative slope of the falling temperature is a measure of the rate of heat loss to the environment, and the positive slope is a measure of the heat gain.
Fryers have some interesting needs. The use of solid shortening, while not as prevalent today as in the past, requires the use of a melt cycle during start-up. You cannot just turn the heat full on and go. The heat must be pulsed at a rate which will allow the shortening to melt gradually and turn to liquid.
When it has been determined that the melt cycle is over, either by looking at the temperature change or just on the basis of elapsed time, the heat comes full on and stays on until the oil comes up to setpoint. Many controllers will measure the saturated rate of heat rise during this phase and compare it to that measured during the previous start. In this way it’s possible to detect any deterioration in the heating apparatus. Gas valves may need adjusting if for some reason the heat content of the gas supply may have changed. Electrical heating elements can foul or be compromised in other ways. Our adaptive control shut the heat off during the start-up phase at a programmed number of degrees below the setpoint, and then measured the overshoot. If the overshoot was higher than the value for the maximum overshoot, then the cutoff point was adjusted to a lower value or vice versa.
Cooking appliances using even eight-bit microcontrollers are not working very hard. Unless there is a lot of external communication going on, there is ample time to perform other tasks such as diagnostic testing. For example, the controller described here has a feature where it looks during start-up for the oil temperature to stall at 212 °F. This is, of course, the boiling point of water. Sometimes after a fryer has been cleaned, operators forget to drain the water and add fresh shortening. Careless operators like that have been scalded by the roiling water when they start the fryer without thinking.