Heating and cooling commands calculation

g.mccormick

Lifetime Supporting Member
Join Date
Jul 2012
Location
IN
Posts
960
I have a room (test cell) that I am going to be controlling the temperature of. Longterm the plan is for the space to be able to control temperature from -40-150F. As of right now, no heat is in the space.

What I have for control loops.

1. Space temperature loop.
target = room temperature setpoint
output/command = Value from -50 to 160 that is use as the input to control loop for heater/cooler air out setpoint.

2. DX Evaporator air out loop.
target = air out setpoint from set by command from space temperature loop.
ouput/command = saturation temperature setpoint for evaporator suction pressure.

3. DX Evaporator suction pressure control loop
target = saturation pressure from temperature command out of previous control loop.
output/command = electronic pressure control valve. 4-20MA

4. DX superheat loop
target = 5F superheat
output/command = electronic expansion valve command. 4-20MA


5. Electric heater loop (Note not implemented yet, no actual heater in space)
target = air out setpoint from set by command from space temperature loop.
ouput/command = command to heater scr



Note. There are two dx refrigeration circuits, my plan would be to have both have the same setpoints, but stage the circuits on/off to meet demand.

So my question comes to all of this. How best to handle demand???

I need to figure out a way to handle staging on of cooling units and heater so that both refrigeration circuits and/or heater are not running if not needed.
So I need to have a way to come up with a "cooling command" and " heating command".

I was thinking something like this.
Cooling command:
Min = -50
Max = Room setpoint + 5
Command = ((Max - Space_Temp_Command) / ( Max - Min)) * 100

Example: Space setpoint = 70; Space_Temp_Command (from PID loop 1) = 50
Cooling Command = ((75 - 50)/(75 - -50)) * 100 = 20%
At 20% cooling, I would only need to call for 1 stage.


Heating Command:
Min = Room Setpoint - 5
Max = 160
Command = ((Space_Temp_Command - min)/(max-min))*100

Example:
Space setpoint = 70; Space_Temp_Command (from PID loop 1) = 85
Heating Command = ((85 - 65)/(160-65))*100 = 21


The heating/cooling commands can then be used to stage on/off equipment.
ie. Heater enable on when command goes over 7%, off when command drops below 3%.

DX stage 1, on when command goes over 7%, off when command drops below 3%.

DX stage 2, on when command goes over 60%, off when command drops below 40%.


Any thoughts?
 
The evaporator can be controlled with only 1 expansion valve control, You will need a room sensor, and a setpoint for it.
and a suction pressure sensor and temperature sensor on same suction line, to be able to control the superheat of the evaporator.
When the room temperature is reached you just put close the expansion valve, thus the flow will be lower.

For the compressor you will need a suction setpoint about 10 K lower as the evaporator.
This should switch the compressors on/off or a bypass valve....
check on codesys building.lib for nice control loops.
 

Similar Topics

I'm looking for a way to determine if the temperature of a zone is rising or falling over a relatively long period of time, say 1 to 2 seconds...
Replies
9
Views
2,883
Hi I was modifying some code and saw a strategy for heating and cooling that had me wondering. BAsically the PID output (0-100.0%) is compared...
Replies
5
Views
3,069
In one of the previous posts, someone talked about extruder control forced air versus water cooled. I have both types of extruders, I am using...
Replies
1
Views
2,998
Did anyone please help me with gsd file of krones heating module(make Siemens)
Replies
0
Views
74
Did anyone please help me with gsd file of krones heating module(make Siemens)
Replies
0
Views
85
Back
Top Bottom