Hi guys. 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:
Use PID without building full model.But what to do with persistence of heating elements
To build linear model but I don't know how. I'll be appreciate for any idea or link. Thanks.
Just how closely do you need to control the temperature, and how big is the room?
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.
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. Denis.
This wouldn't be a student assignment, would it? A few points that might be helpful:
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 control.
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 application.
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.
---------------------------- 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. Thanks.Denis.
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.
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 more information.
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 mercury switch.
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.
(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 that type 0 systems will return to the initial steady state. Speed returns to zero and temperature returns to ambient.
The type 1 system could represent a simple position system. If the control is removed, the system will just coast to a position. It does not return to the initial position.
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 transfer function if you believe in pole placement techniques.
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.
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" situati> Answer for Walter Driedger:
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 love it!)
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. Thanks.Denis.