Control of systems
We want to control some system.
In general a “system” has an input, which may be just an on/off switch, and has a measureable response, say temperature.
To control a system we measure the value we want to change (temperature) and make decisions on how to set the inputs
For a simple House heating system, we can measure the temperature and decide how to turn the heating on or off.
Download and run both
start the java program from the shell
java -jar House.jar
Observe the behaviour:
The simple on/off control is called “bang-bang” control.
In some systems this can cause problems.
The office kitchen has a wall mounted water-heater (s8.2.j). The same control scheme as for the house is used (s8.2).
A classic control system measures the error between the measured value and the desired value. It then uses this to calculate how to change the inputs to the system.
The pre-requisite is that the strength of the input can be smoothly varied over the range of possible values and small adjustments made.
When you drive a car, you don’t calculate (in your head) how far to push down the peddle to go at say 30mph. Instead if you need to go faster, you push down a little further, and if you need to go slower, lift your foot a little. If you need to go a lot faster or slower, you move your foot more, and ease off as you reach the speed you need.
A scheme very similar to the way a human drives is called “Proportional control”. The error value is multiplied by some value, and the input changed by that amount. The error is calculated so that a negative value reduces the input, and a positive one increases the input.
cruse