This project is a temperature controller. What we want to do is change the temperature of some mass (like a tub of water, or aluminum plate, or a box of air)
Temperature controllers are feedback devices - they use sensor input that feeds back into the controller. The other option is to have an open loop controller - one that has no feedback
Here is an example showing the difference between the two:
Lets say you want a pot of water that is at exactly 50degrees. If you did not have any feedback mechanisms, you would put the pot of water on a bunsen burner, and set it to 'low'. If you're lucky, the heat of the burner, and the cooling of the pot of water in the room will balance out and you'll get the exact temperature you want.
This time, you put the pot of water on the burner, but you also put a thermometer inside the pot with a readout. You turn on the burner to medium. Every a few minutes you check the temperature. If its too low, you turn up the heat. If its too high, you turn down the heat.
As you can see, doing anything open loop is very difficult and you're not likely to get what you want. While some systems are stable, it always better if you have a feedback system. In fact, pretty much everything we do has feedback, from traveling to places (we check for landmarks) to talking on the phone (the mic feeds into the speaker to help us regulate volume) to meals (our stomachs tell us when to stop eating).
Behold! The feedback block diagram!
It may appear in different forms and with different letters, but its always the same. We have some 'input' (say, the temperature we want the bath to be, or how fast the car should go), we have the 'plant' (the system that we're controlling, like a bunsen burner or an engine), we have the 'output' (what the temperature or speed really is!), the 'sensor' (thermometer, speedometer), and then the feedback path (turning the heat up or down, pressing or releasing the pedal)
Normally these are just referred to as four elements but we'll consider the sensor separately since although it is part of the feedback path, its got its own particularities
Some examples of feedback elements
Input | Plant | Output | Sensor | Feedback | |
---|---|---|---|---|---|
Pot of water | Desired temperature | Flame heating water | Actual temperature of water | Themometer | Turn knob up/down |
Automobile | Desired speed | Transmission & Engine | Car actual speed | Speedometer | Press or release pedal |
Moving computer mouse | 'Start' button | Arm muscles | Movement of cursor | Eyeballs and finger nerves | Brain changes muscle movement and strength |
Airplaine heading | Final destination | Airplane controls (which have their own feedback!) | Current location | GPS | Turning plane to correct heading |
Cooking | Tasty soup | Recipe & pot of water | Taste and smell of soup | Human tongue and nose | Add salt or other ingredients |
OK so by now I should have been able to convince you that feedback is awesome. Its also everywhere (so look for it!) and useful for building temperature controllers. Now the theory is solid, but the implementation is the tough part. Building a feedback system that works is an engineering exercise - choosing the proper sensor and picking the feedback algorithm can be a serious endeavour.