I am new to control area.
I have got a task.
There is room with central heating, fancoil, ventilation,
warm floor, one window, one door.
And I have to develop system that would be able
to keep steady temperature. I can control valves on radiator of
central heating, on fancoil.
Also I have sensors inside room, on tubes, and outside.
Can anybody advise me some way of solving.
I see two ways:
1. Use PID without building full model.But
what to do with persistence of heating elements
2. To build linear model but I don't know how.
I'll be appreciate for any idea or link.
Just how closely do you need to control the temperature, and how big is
You will have to look at the various contributions of the individual
elements, and how each responds to being started and stopped.
Start with a simple heat and mass balance of the room. How many btu's
are leaving through the walls and windows at any given room and outside
temperature? What is the heat capacity of the furniture? How much solar
radiation comes in the window? How much leaves the door.
Look at the behavior of each control element as it is started, run, and
turned off in a bump test. You may find that one element works best as a
base load, while others are a bit more controllable. Central heat, for
example, may not give a great turndown ratio but can supply a lot of btu's
in a hurry. The radiators might be great to turn on to keep drafts down,
but can't heat the entire room. The floor might be too slow for rapid
changes, and too weak to warm the room quickly.
Now you have some choices to make. Are all the BTU's created equal? How
much does each element cost to run? How controllable is each one? Choose a
priority of control elements.
You can use a set of controllers which respond to certain things, for
example, the radiators may heat up based upon the difference between the
outside temperature setpoint and the actual outside temperature (ok, bring
the jokes on, I know what you guys are thinking). The floor might turn on
when the outside temperature drops below some particular point (indicating a
need for constant heat), and the fan coil might take care of small upsets.
As far as the persistence of elements, you may very well find that the size
of the room takes care of this nicely. A little derivative control will
start to turn them off before the room hits setpoint. Your trick is to tune
them properly to do that.
Your query is not specific enough to yield on-target answers. No
problem; it happens all the time in this group.
The group has many kind and experienced contributors who all have said
at some time:
" I don't even know enough to ask a question"
Here is a link showing 33 tutorial articles in the field of process
heating, temperature and power control.
On this list, #6 on PID control is a place where you can fill in your
background knowledge and vocabulary. And give yourself a springboard
from which to launch your specific query.
While you are there sample and download some of the the other
Answer for Herman Family:
I can't describe the room. Because I need to design universal
controlller for any room. It can have warm floor and heat
exchanger or only fan coil or another combination of heat devices.
It can have any size and so on. But I really need some
mathematical model for testing my controller with PC. If You can help
me with that I'd very appreciated.
Answer for Arthur Holland :
I have read Your articles. They helped me better understand my
task.Thanks. But I still have questions. I have such view on my future
design. There should be PI or PID controller for every heat
device(they can be combined in one controller as simultaneous tasks).
I should use outdoor temperature for feedforward. But how? Can You
explain me this subjuct more clearly? Also I should use some rules
for switching between heating devices. For example turn on warm floor
when outdoor temperature is below some point and the same way with
other devices. May be You can advice some scenario?
And question for everybody. I think in my situation self-tuning is
necessity.Because it is impossible to manual tune in scores of
rooms(30-40) Can you advice me some useful links,source code, etc.
This wouldn't be a student assignment, would it? A few points that might be
1 - Heating / cooling problems are amount the easiest to solve because
heating is an integral system. That makes it quite forgiving. Often on/off
control is quite sufficient. The primary specification is how much swing is
tolerable. Incidentally, pulse width proportional control is simply a
fancier name for on/off. The higher you turn the gain, the more even the
temperature but the more wear will occur to the system. In other words,
tight control costs maintenance. That is the only real reason to use
proportional control in this application.
2 - Being an integrating system makes derivative very helpful. Where I live
we experience rapid ambient temperature swings and deep winter excursions.
The houses are heated with natural gas. Heat is distributed with forced
air. The thermostats are simple on/off devices with a very small heating
element inside. The purpose of the heating element is to provide a bit of
derivative effect so that the furnace is cut off before overshooting the
temperature setting. The entire system provides entirely satisfactory
3 - The most important modeling factor you need is to know the maximum heat
demand so that the supply is adequate. When you need less, you can use
proportional control. Or simply run the furnace for shorter intervals.
4 - You don't need self tuning. You need very little tuning at all. My
house thermostat has only one tunable value and that is the amount of
internal heating. It has NEVER been adjusted by anyone.
5 - The most important factor in your entire design is good heat
circulation. Heat rises. You need to add heat at the bottom. If too much
collects at the top, you need a way to bring it down again. Modeling all
these effects will be far more difficult that controlling a real
6 - Having an independent sensor, controller and heating source for each
room will greatly simplify the problem.
The reason I ask if this is a school assignment is that the amount of
intellectual effort required to analyze this problem far exceeds what would
be needed for a simple empirical solution.
Answer for Walter Driedger:
It is a pity but it isn't a student assignment. I've finished
University last year and we quite never got tasks that are really
similar to practical. So now I work for small office in Ukraine(Lviv).
They develop and produce different hardware. Now one of their basic
direction is "Intellectual house"(E-house). So last task that I had
was light control(light/fade by RS232 and EIB).
And now I have a new task to control temperature(+-2 degrees) in the
room. It is not specific room because E-house has hundreds rooms. But
every one has controlled heating elements like warm floor plus fan
coil or heat exchanger + fan coil or everything together. Every one
has controlled ventilation and probes inside and outside the room, on
pipes that go to heating elements and inside the floor.
You think proportional control would be enough? And it will cope with
lags of the room and floor? And feedforward for outside temperature
is unnecessary? No self-tuning? But how I can choose proportional gain
apppropriate for any room?
Wait for Your and anybody's answers.
Since temperature is an integrating system, integral is probably not needed
much. Because of process lag, derivative may be useful. For integrating
systems, the proportional gain can be made very high without affecting
stability. This means that you can start with a high initial gain and
simply leave it there.
The most important gain constant is that the heater is matched in size to
the demand. If this is done perfectly, your process gain is exactly 1. If
the heater is too small, the controller cannot help you. If the heater is
too large, the controller must turn it down. Since your rooms will have
roughly the same size, i.e. within a factor of 10, and your heating system
will somehow be scaled to the size of your room, not a lot of controller
tuning is needed.
You have not told us at all what type of heating system you are using. It
makes a lot of difference. When you say "heating element like a warm floor"
I have no idea if you are talking about electric, hot water, steam, or
perhaps something else. I don't see a lot of need for fed forward with an
electric heater but there is certainly a use for it with a hot water system.
It sounds like you have a number of control loops here but you have to give
1 - Is there a central heating plant producing hot water or steam?
2 - How is it controlled, or is that part of the problem?
3 - Is it part of a cogen system?
4 - The controlled ventilation is part of the system. How is it controlled?
Overall, you have to provide a detailed set of objectives before a control
system can be designed.
The simple answer is use an on-off switch unless you are willing to add a
microcontroller to your system. My home temperature controller is a simple
mercury switch on top of a spring. The spring has an adjustment that makes
it effectively smaller for narrow band control and or longer for a wider
band control. The temperature adjustment works by tilting the spring and
If the your system is:
G/(tau*s+1) use a simple on-off or PI controller.
G/((tau1*s+1)(tau2*s+1) use a PID or sliding mode control.
Note that both of these are type 0 systems. A type 1 system would require a
refrigeration unit to remove heat. Some how my house manages to loose heat
with the aid of a refrigeration unit in the winter. I know my house is a
type 0 ( non-integrating) system.
Velocity control system are type 0. Temperature systems are type 0. The
simplest model is G/(tau*s+1).
Position control systems are type 1. A simple model is G/(s*(tau*s+1)).
Note the extra s in the denominator. That makes it a type 1 system.
It's an interesting fact that the variation in time constants etc for
real processes designed according to normal static criteria don't
actually diverge that much - so the control tuning settings are
reasonably independent of scale.
If you try and heat a large room with a 1 kW heater, you won't get very
far, but if you put a 20 kW heater into a very samll room it will be
massive overkill. Unless you have a really strange situation (such as a
room with massive areas of glass but very little solar pickup the kW
needed to maintain an acceptable working environment for people an be
pretty well scaled to the room dimensions. To a first approximation, kW
is pretty well proportional to surface area (since that is where the
losses come from) and the material to be heated will also depend to a
fairly great extent on area (if you have a room full of stuff you can't
get many people in it.)
So for a "normal" situation, the time constants, gain etc for any
controller won't change by a lot for quite a wide range of room dimensions.
I am not familiar with the term "type 1". Heat input is integrated to
produce temperature. The process variable is not heat flux, it is
temperature. This is very similar to level which is the integral of flow.
A way to categorize systems is by counting the number of "full"
integrators in the forward path, so no integrators would be type 0, 1
would be type 1, etc.
A type 1 system will show zero constant-state error to a step input,
type 2 will show zero constant-state error to a ramp, etc.
A furnace/room system isn't fully integrating -- you will reach a point
where the furnace is working it's heart out and not heating the room.
For bang-bang control this doesn't make a difference, but if you feel
motivated to use a PID then it does.
(Where do you live? Even at -40 deg our furnace has not maxed out.)
OK. But real world systems integrate and lose at the same time. So we end
up with a time constant. Level without evaporation or leakage is a pure
integrator. Starting with a cold house, its temperature will rise linearly
at first and then ramp over to the final steady state value. Does that make
it type 0.5?
I see you are also advising on/off. Simple is better. But take the cover
off your room thermostat and have a look. The last one we had had a tiny
heating element in series with the mercury switch. This pre-heated the
bimetal strip thus anticipating the heat-to-come and preventing overshoot.
There was a small adjustable slider contact. I doubt anyone ever touched
it. Our current Honeywell model has the 24 VAC signal connected to the
inside of the bimetal spiral. The wire to the mercury switch attaches to
the outside of the spiral. In this way the spiral is directly preheated
whenever the temperature is below setpoint and the furnace is (presumably)
running. It is entirely untunable.
A transfer function of G/(tau*s+1) is type 0
A transfer function of G/(s*(tau*s+1)) is type 1
The type 0 system could represent a simple temperature or velocity system.
I don't think of type 0 systems as integrating. Tim gave a good techinical
explaintion of type 0 and type 1 systems. Another way to look at it is
type 0 systems will return to the initial steady state. Speed returns to
and temperature returns to ambient.
The type 1 system could represent a simple position system. If the control
removed, the system will just coast to a position. It does not return to
If one asks for advice on how to tune a system and a valid transfer function
has not been provided then don expect a valid answer.
Not all systems tune the same way.
There are different equations for calculating the PID gains each type of
if you believe in pole placement techniques.
Actually, we tune systems without a valid transfer function all the time.
That's the only kind of system I ever get to deal with. That's what tuning
is all about. If we had a valid transfer function we could calculate the
gains as you suggest. But then it wouldn't be tuning.
In the process industries everything is non-linear, time variant and has
unpredictable disturbances occurring at unknown points in the loop. Even
models that are linear around an operating point experience abrupt changes
in gains. Pumps are started and stopped, valves are opened and closed, rain
and winds come and go. Transfer functions have no meaning except as an
educational tool. Nevertheless we tune loops effectively. That is because
reality is usually a lot more tolerant than theory.
Speaking of which, in theory, practice and theory are the same, but in
practice they aren't. (It was someone in this NG who first said that. I
Probably because you have a decent furnace. Around here furnaces are
sized for about 0F, when things get much below that you start getting
cold (and the frost line gets low enough to burst pipes). Particularly
if you haven't serviced it lately...
Technically it makes it a type 0, but if the equilibrium point is way
above wherever you are then you can often call it type 1 -- it depends
on how much error qualifies as "significant" for your application.
Yes, I was oversimplifying the home thermostat -- those things have to
be a classic in low-cost closed-loop control.
Good day dear Sirs.
Thanks everybody for answers.
Now I've composed simple system(G/(tau*s+1))
for warm floor simulation in Simulink.
My model takes account only of pipe and floor(concrete),
no room air, etc. Also for simplifying of model I don't
use valve but change temperature of the pipe. So I made
PID control and it shows great result.But!
When I implement limits for controled temperature of pipe
my system begins to oscillate.
Can you help me to understand why it happens.
Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here.
All logos and trade names are the property of their respective owners.