The temperature charts used as illustrations in this chapter were made with a mathematical model of the thermostat system implemented in Excel. Playing around with this model, entering different values that control the feedback, will give you an excellent feel for the kinds of behaviour a system exhibits in the presence of various kinds of feedback.
To experiment with this model, load the Excel worksheet FEEDLAB.XLS. Depending on the display board and monitor your computer is equipped with, you may have to resize the window in order to see the entire worksheet as shown below.
The outside temperature is shown as a thin red line and the inside temperature as a thicker green line. The outside temperature is generated randomly. Every time you enter a number in the control panel, a new outside temperature profile is generated. You can test the existing system with a different data by pressing . Each time you push it a new temperature database is generated.
The temperature data used by the charts in this chapter are included in the FEEDLAB spreadsheet. If you enter 1 in the Book? cell, the book data are used rather than randomly generated temperatures. To return to using random data, enter 0 in this cell.
The other boxes in the control panel specify the parameters of the system as follows.
Proportional. If this cell is 0, the system is bang-bang: the heater is activated only when room temperature falls below the light blue line and the air conditioner only when it exceeds the purple upper limit line. If you enter 1, heating and cooling are used whenever the temperature diverges from the value in the Goal cell, adjusted proportionally based on how far it is from that value. For proportional control, the maximum capacity specified by Power is reached at the limit lines.
Goal. This is the temperature at which the thermostat attempts to maintain the room.
Range. The value in this cell determines how many degrees from the Goal the temperature is permitted to vary before heating or cooling is triggered (if Proportional is 0), or reaches maximum Power (if Proportional is 1). If the Goal temperature is 70° and Range is 10, the temperature limits will be 60° and 80° .
Power. This controls the rate of heating and cooling available, in terms of degrees of change in each 10 minute interval. If you set Power to 0, the heater and air conditioner will have no effect when activated and room temperature will track outside temperature. (Try it.) If you set Power negative, the furnace cools and the air conditioner heats--this rigs the system for positive feedback. Positive feedback from negative Power settings combined with proportional control will usually drive the temperature into wild oscillations.
Random. The amount of daily temperature variation is controlled by this value. It specifies how many degrees the outside temperature can change in a 10 minute interval. For example, if it's currently 75 degrees and Random is set to 3, the temperature at the next 10 minute mark will be picked at random between 72° and 78°. If you set Random to 0, the outside temperature remains constant.
Insulation. The value in this cell expresses how well the room is insulated in terms of the rate at which heat leaks through the walls to and from the outside. Insulation of 0 specifies a perfectly insulated room; changes in the temperature outdoors don't have any effect on the temperature inside. An Insulation value of 1 means total leakage to the outside: a three degree change outdoors will cause an identical change within the room, unless counteracted by the furnace or air conditioner.
Noise. As long as this cell is 0, the thermostat bases its actions on perfectly accurate measurements of temperature. You can observe the effects of random measurement errors by setting Noise to the extent of the error range in degrees. For example, if the temperature is actually 70 degrees and Noise is set to 5, the thermostat will act based on a reading randomly picked between 67.5° and 72.5° . The Noise affects every measurement, perturbing each randomly within the specified range. Nonzero Noise settings allow you to see how inaccurate measurements can trigger destructive positive feedback.
Delay. If this cell is 0, the thermostat measures temperature instantaneously and immediately takes whatever action is indicated. You can introduce delay between measurement and action by setting Delay to the number of 10 minute intervals that elapse between the measurement and the corresponding action. The propensity that delay has to drive even systems with strong negative feedback into oscillation, particularly those with proportional control, can be seen by setting Delay to 1, 2, or 3. Larger values than that make the temperature oscillate even more wildly.
Mathematical details of this model are given in the section ``Calculating feedback models'' on page .
By John Walker