User Tools

Site Tools


tempcontroller:feedback

Feedback v Open loop

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:

open loop

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.

closed loop (with feedback)

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).

The sacred feedback diagram

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

Cool!

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.

/home/ladyada/public_html/wiki/data/pages/tempcontroller/feedback.txt · Last modified: 2016/01/28 18:05 (external edit)