简介:这份《中央空调冷却水循环节能控制系统设计》毕业设计文档,面向电气自动化、机电一体化专业的在校学生与工程技术人员,聚焦中央空调系统冷负荷波动大、水泵长期满负荷运行导致的能耗浪费问题。内容围绕PLC自动控制系统与变频调节技术展开,讲解如何依据冷却水进出水温差与进水温度实施混合控制,动态跟踪制冷机排热需求与冷却塔排热能力,并对三台5.5kW、380V冷却水泵的变频/工频切换、延时互锁、37℃超温保护跳闸等设计要求作出说明,同时涉及热力学与动力学机理及控制策略算法。资源为单个PDF文件,压缩包约9KB,篇幅精炼,可直接作为毕业设计选题参考与论文框架模板。目前已有123人学习下载,适合需要搭建节能控制方案、撰写设计说明书或开展空调系统节能改造的读者查阅借鉴。
1. 冷却水循环的节能空间不在主机,而在那三台常年满频的水泵
一栋写字楼里,中央空调电耗能占建筑总电耗的六成以上,主机可以根据负荷自动加减载,冷冻水泵和冷却水泵却往往从开机到停机一直跑在 50Hz,靠阀门和旁通把多余的流量憋回去——大流量、低温差、高压力,电机照样吃满功率。设计院选泵时按最热天加 10%~20% 余量,而一年中冷负荷在 5%~60% 区间波动的时间超过七成,泵的输送能耗和实际需求长期错位。这份浙江工业大学成教学院电气自动化专业的毕业设计,做的是冷却水侧这一段的改造:三台 5.5kW/380V 冷却泵,用 PLC 加变频器的结构,按冷却水进出温差决定加泵、减泵和频率升降,用冷却塔进水温度做修正,出水温度越过 37℃ 就保护性跳闸停机。它解决的是"泵随负荷走"而不是"负荷去迁就泵",对做暖通自控、建筑节能改造和电气类课程设计的人都能直接复现。
2. 冷凝器热平衡、水泵相似定律与温差-流量模型
2.1 冷却水带走的热量与进出水温差的物理含义
冷却水回路的任务很单一:把冷凝器排出的热量搬到冷却塔散掉。冷却水在冷凝器里吸热升温,出水温度高;经冷却塔淋水填料与空气换热后降温,进水温度低;温差 ΔT 就是这一段热量搬运的结果。稳态下热量守恒写成:
Q_k = c × m × ΔT
Q_k 是冷凝热负荷,c 是水的比热容(4.187 kJ/(kg·K)),m 是冷却水质量流量,ΔT 是进出水温差。冷凝热不等于制冷量,Q_k ≈ Q_0 × (1 + 1/COP),一台 1000kW 制冷量、COP 取 5 的主机,冷凝热约 1200kW。
这个式子最关键的一点是:温差是流量的镜像。负荷掉下来以后,如果不减流量,ΔT 必然缩小。现场最典型的现象就是"原来 37/32℃ 的 5℃ 温差,变成 34/31℃ 的 3℃ 温差,泵还在满频转"。反过来说,控制上只要把 ΔT 钉在设定值附近,流量就自动跟着负荷走了,这就是变温差控制的物理依据。
| 参数 | 典型设计值 | 说明 |
|---|---|---|
| 冷却水出水温度 | 37℃ | 冷凝器出口,超限跳闸的判据点 |
| 冷却水进水温度 | 32℃ | 冷却塔集水盘后、泵进口 |
| 设计温差 ΔT | 5℃ | 定流量系统的设计工况 |
| 变温差控制区间 | 3.5~6℃ | 低于下限降频,高于上限加泵 |
| 冷却水流量 | 约 200 m³/h(1000kW 主机) | 按 Q_k/(c·ΔT) 反算 |
2.2 变频泵的功率-频率关系与节能量估算
水泵的相似定律给了变频调速的节能底气:流量与转速一次方成正比,扬程与转速二次方成正比,轴功率与转速三次方成正比。频率从 50Hz 降到 40Hz,转速降到 80%,理论轴功率只剩 0.8³ = 51.2%。当然这是理想情况,实际要扣掉管路静扬程——闭式冷冻水系统近似无静扬程,节能比例最漂亮;冷却水系统是开式的,冷却塔布水器有几何高差、喷嘴需要最低工作压力,静扬程占比不容忽视,所以频率下限不能压得太低。
用一段脚本把不同频率下的流量、扬程和功率算一遍,比拍脑袋估节能率靠谱:
# 冷却水泵变频节能估算:相似定律 + 静扬程修正 def pump_at_freq(f, f_rated=50.0, q_rated=200.0, h_rated=32.0, h_static=8.0, p_rated=5.5, eta_ratio=0.92): """ f 当前运行频率 Hz q_rated 额定流量 m3/h h_rated 额定扬程 m h_static 静扬程 m(冷却塔高差 + 布水器最低压力折算) p_rated 额定轴功率 kW """ n = f / f_rated q = q_rated * n # 流量 ∝ 转速 h_dyn = (h_rated - h_static) * n**2 # 动扬程部分 ∝ 转速平方 h = h_static + h_dyn # 总扬程 = 静扬程 + 动扬程 p_shaft = p_rated * (q * h) / (q_rated * h_rated) # 功率 ∝ 流量×扬程 # 低频时电机与变频器效率略降,用一个经验效率比修正 p_input = p_shaft / (eta_ratio if f >= 35 else eta_ratio - 0.05) return q, h, p_input for f in (50, 45, 40, 35, 30, 25): q, h, p = pump_at_freq(f) print(f"{f:>3}Hz 流量 {q:6.1f} m3/h 扬程 {h:5.1f} m 输入功率 {p:5.2f} kW")跑出来的趋势很明显:50Hz 时功率接近 5.5kW,40Hz 时掉到 3kW 出头,30Hz 时不到 1.8kW。三个频率点如果一天各占 8 小时,单台泵一天就省三四十度电,三台泵加轮换运行,一个制冷季的账很好算。
需要注意,流量降到 70% 以下时要核对冷凝器的最小允许流量。主机厂家一般要求冷却水流量不低于额定值的 60%~70%,否则冷凝压力升高、压缩机排气温度上升,省下来的电费还不够修主机。
2.3 温差主控 + 进水温度修正的混合控制选型
只看出水温度控制是行的,但滞后大:主机加减载、冷却塔风机启停、室外湿球温度变化,都会让出水温度漂,等它漂到设定值再调泵,泵的动作永远慢半拍。只做温差控制也有问题:ΔT = 5℃ 在进水 32℃ 时是正常工况,在进水 28℃ 时就说明流量给多了、冷却塔能力还有富余,这时候应该更激进地降频。
这份设计的做法是把两个量合起来用,分工明确:
- 温差做主环,决定频率升降和加泵减泵。温差高于设定上限,说明流量不够,先升频,升到 50Hz 还压不住就转工频并追加一台泵变频。
- 进水温度做修正(前馈),代表冷却塔的排热能力。进水温度低,前馈项把频率基准往下拉;进水温度高,说明冷却塔吃紧,限制降频幅度。
- 出水温度做安全边界,只用于 37℃ 跳闸和高温预警,不参与常规调节,避免它和温差环互相打架。
三者叠在一起,才有了"实时跟踪制冷机排热需求和冷却塔排热能力"这句话的落地形态。控制量分工可以用一张表定死:
| 被控量 | 角色 | 作用范围 | 采样点 |
|---|---|---|---|
| 进出水温差 ΔT | 主调节量 | 3.5~6℃ 区间内调频 | 冷凝器进/出口 |
| 进水温度 T_in | 前馈修正量 | 修正频率基准 ±5Hz | 冷却塔集水盘后 |
| 出水温度 T_out | 安全边界 | ≥37℃ 报警、跳闸 | 冷凝器出口 |
| 频率上下限信号 | 加泵/减泵触发 | 对应温差上下限 | PLC 内部逻辑位 |
3. 三泵变频/工频轮换的状态机与接触器切换时序
3.1 轮换状态机与频率上下限信号
三台泵的轮换逻辑,本质是一个带方向的状态机:一台泵负责变频调节,其余泵要么工频定速运行,要么停机待命。按设计要求的推演顺序是——
- 1 号泵单台变频运行,频率在 25~50Hz 区间内随温差变化。
- 温差超过上限、变频器升到 50Hz 仍压不住,频率上限信号动作:1 号泵转工频运行,同时起动 2 号泵变频运行。
- 温差回落到下限,频率下限信号动作:1 号泵停机,2 号泵继续变频运行。
- 温差再次超过上限:2 号泵转工频,起动 3 号泵变频运行。
- 依次循环,三台泵轮流当"调节泵",避免某一台长期工频、某一台长期变频造成磨损不均。
用状态变量描述更清楚,程序里用整数状态字实现:
| 状态 | 工频运行泵 | 变频运行泵 | 触发条件 |
|---|---|---|---|
| S1 | 无 | 1 号 | 开机,温差 ≤ 上限 |
| S2 | 1 号 | 2 号 | S1 下频率上限动作 |
| S3 | 无 | 2 号 | S2 下频率下限动作,1 号停 |
| S4 | 2 号 | 3 号 | S3 下频率上限动作 |
| S5 | 无 | 3 号 | S4 下频率下限动作,2 号停 |
| S6 | 3 号 | 1 号 | S5 下频率上限动作,回到起点 |
状态迁移必须加最小运行时间(常见做法是每台泵运行不少于 30 分钟再允许切换),否则温差在阈值附近抖动时,泵会频繁启停,接触器和电机都受不了。
3.2 0.3s / 0.5s / 0.5s 切换时序与程序实现
变频转工频是整个程序里最容易出事的地方。变频器输出没完全停止就合工频接触器,等于把工频电源反灌进变频器输出端,轻则报过流,重则炸模块。设计要求给出的时序是:先让变频器停止输出约 0.3 秒,再断开变频接触器;延时 0.5 秒后闭合工频接触器;再延时 0.5 秒后投入另一台变频器工作。
这套时间不是随手定的:0.3s 留给变频器内部直流母线放电和输出封锁,0.5s 留给接触器灭弧和机械动作完成,最后一个 0.5s 用来避开多台接触器同时动作造成的电压跌落。用结构化文本把这段逻辑写成时序链:
(* 变频转工频切换时序:0.3s -> 0.5s -> 0.5s *) (* 输入:xUpLimit 频率上限信号,xDownLimit 频率下限信号,xAuto 自动模式 *) (* 输出:变频/工频接触器线圈、变频器运行指令 *) IF xAuto AND xUpLimit AND NOT xSwitching THEN xSwitching := TRUE; // 进入切换流程,封锁其他迁移 iStep := 10; // 步骤 10:停变频器输出 END_IF; CASE iStep OF 10: xVFD_Run := FALSE; // 封锁变频器输出 tonStep(IN := TRUE, PT := T#300ms); IF tonStep.Q THEN tonStep(IN := FALSE); iStep := 20; END_IF; 20: yKM_VFD := FALSE; // 断开变频接触器 tonStep(IN := TRUE, PT := T#500ms); IF tonStep.Q THEN tonStep(IN := FALSE); iStep := 30; END_IF; 30: IF NOT yKM_VFD THEN // 确认变频接触器已释放 yKM_LINE := TRUE; // 闭合工频接触器 tonStep(IN := TRUE, PT := T#500ms); IF tonStep.Q THEN tonStep(IN := FALSE); iStep := 40; END_IF; END_IF; 40: yKM_VFD_Next := TRUE; // 投入下一台泵的变频接触器 xVFD_Run := TRUE; // 给出变频器运行指令 xSwitching := FALSE; iStep := 0; END_CASE; // 互锁:变频与工频接触器绝不允许同时为 ON yKM_VFD := yKM_VFD AND NOT yKM_LINE; yKM_LINE := yKM_LINE AND NOT yKM_VFD;逻辑说明:iStep是一个单向推进的步骤号,保证任何时刻只执行一个动作;每一步都用一个接通延时定时器控制停留时间。参数上要留意的是PT := T#300ms这个值——不同品牌变频器的输出封锁时间不一样,大功率机型直流母线放电更慢,调试时要把这一步延长到实际需要的值,宁可慢一点也不能短。步骤 30 里判断NOT yKM_VFD是确认接触器辅助触点已经断开,这一步是程序层面的防呆。
3.3 电气互锁、机械互锁与 Y-△ 启停的取舍
原设计里特别提到,变频与工频接触器应设置电气和机械两种互锁。这两层不能互相替代:
- 电气互锁:把对方接触器的常闭辅助触点串进自己的线圈回路,一方吸合时另一方线圈回路直接断掉,靠硬接线兜底,PLC 死机也有效。
- 机械互锁:接触器上装机械联锁卡扣,电磁铁误动作时靠物理结构顶住,防止触点粘连后仍被强行吸合。
- 程序互锁:如上一段代码末尾的两行,软件层再互斥一次,三层叠加才算完整。
至于原来的 Y-△ 起动,改造成变频系统后基本可以退出历史舞台。原文说得很直白:Y-△ 起动时电流是额定电流的 3~4 倍,一台 90kW 电机起动电流能到 500A,接触器和电机寿命被反复冲击,停泵时的水锤还会打坏阀门、管道和轴承。改成变频起动后,起升到 50Hz 是平滑的,起动电流可以控制在额定值附近,水锤也基本消除——顺便省掉了一只 Y-△ 转换的时间和一套接触器。
注意:工频运行的泵如果超过 5.5kW,单独的工频起动仍建议保留软起动器;这套设计里三台泵都是 5.5kW,工频直起加互锁就可以接受,但主回路必须配齐热继电器、断相保护和短路保护。
4. 模拟量温度采集标定与混合控制算法落地
4.1 PT100/4-20mA 通道标定与数字滤波
温度采样点的选位直接决定控制是否成立:出水温度取冷凝器冷却水出口(回水),进水温度取冷却塔集水盘出口、水泵进口之前。两个点都建议用 PT100 铂电阻配温度变送器输出 4~20mA,再进 PLC 的模拟量输入模块——和直接接热电阻比,4~20mA 抗干扰能力强得多,长距离穿电缆桥架不容易被变频器干扰。
标定时要做两件事:一是量程对应,二是工程量换算。以 12 位分辨率模块(0~4095)为例,4mA 对应 0、20mA 对应满量程:
# 4-20mA 模拟量通道 -> 工程量温度换算(12 位模块,量程 0~100℃) AI_MIN, AI_MAX = 0, 4095 # 模块原始数字量上下限 T_MIN, T_MAX = 0.0, 100.0 # 变送器量程 def ai_to_temp(raw, t_min=T_MIN, t_max=T_MAX): if raw <= 0: return None # 0 或负值:断线/短路,按故障处理 raw = min(max(raw, AI_MIN), AI_MAX) return (raw - AI_MIN) * (t_max - t_min) / (AI_MAX - AI_MIN) + t_min def temp_filter(new_val, last, alpha=0.25): """一阶低通滤波:alpha 越小越平滑,但响应越慢""" return alpha * new_val + (1 - alpha) * last t_raw = ai_to_temp(2050) # 约 50.1℃ t_flt = temp_filter(t_raw, 50.0) print(t_raw, t_flt)换算逻辑是标准线性映射,raw <= 0的判断很关键——4~20mA 断线时模块读数为 0 或负漂,如果不做这个判断,程序会认为温度是 0℃,然后一直降频,最后把主机憋到高压报警。滤波系数alpha = 0.25是经验值,采样周期 200ms 时对 1~2℃ 的随机波动足够平滑;如果温差信号还要更稳,可以改成 8 点滑动平均,代价是增加几十毫秒的滞后。
4.2 温差主环 PID 与进水温度前馈的合成
温差主环用 PID 算频率基准,前馈项根据进水温度修正。合成时取"主环 + 前馈"再限幅,注意下限要卡死:
# 温差主环 PID + 进水温度前馈,输出变频器频率指令 F_MIN, F_MAX = 28.0, 50.0 # 频率下限保护冷凝器最小流量,上限受电网频率限制 DT_SET = 5.0 # 温差设定值 ℃ T_IN_REF = 32.0 # 进水温度基准 ℃ K_FF = 0.8 # 前馈增益:进水温度每低 1℃,频率基准降 0.8Hz def freq_output(dt_pv, t_in, pid_out): # 前馈:进水温度低于基准说明冷却塔有余量,可以往下压频率 f_ff = 40.0 + K_FF * (t_in - T_IN_REF) f = pid_out + f_ff return max(F_MIN, min(F_MAX, f)) def pid_step(sp, pv, kp, ki, kd, ts, state): err = sp - pv state['i'] += ki * err * ts state['i'] = max(-20.0, min(20.0, state['i'])) # 积分限幅,防饱和 d = kd * (err - state['last']) / ts state['last'] = err out = kp * err + state['i'] + d return max(-10.0, min(10.0, out)), state # 输出限幅到 ±10Hz参数说明和整定顺序:先把ki、kd置 0,只加kp,从 1.5 左右起调,观察温差恢复到设定值的过程——等幅振荡说明kp偏大,回不到设定值说明偏小。kp定下来后再加ki,每次减小积分时间,直到静差在一两个周期内消掉;kd在温差信号噪声不大时可以只给很小甚至不给,给多了会让频率指令抖得厉害。前馈增益K_FF不要超过 1.0,太大会让进水温度的波动直接传到频率上。
4.3 37℃ 保护跳闸、水流开关与故障连锁
保护逻辑独立于调节逻辑,绝不能写成"温差环的一部分"。它应该是一个只读温度、只做判断的旁路程序,而且带延时确认,防止单次采样尖峰误跳。出水温度越过 37℃ 且持续 3 秒,输出跳闸信号,停所有泵、停冷却塔风机、给主机发停机连锁。用一段独立的任务块表达:
(* 出水温度保护:独立于调节程序运行 *) tonOT(IN := (rT_out >= 37.0), PT := T#3s); tonFlow(IN := NOT xFlowSwitch, PT := T#5s); IF tonOT.Q THEN xTrip := TRUE; // 超温跳闸标志 xAlarmHighTemp := TRUE; ELSIF tonFlow.Q THEN xTrip := TRUE; // 水流开关断,延时 5s 确认 xAlarmNoFlow := TRUE; END_IF; IF xTrip THEN yKM_VFD := FALSE; yKM_LINE := FALSE; // 停所有泵 yFanTower := FALSE; // 停冷却塔风机 yHostStop := TRUE; // 给主机停机连锁信号 END_IF;保护项清单建议做成一张表贴在电柜门内侧,调试和检修时逐条核对:
| 保护项 | 判据 | 动作 | 延时 |
|---|---|---|---|
| 冷却水超温 | 出水 ≥ 37℃ | 跳闸停机、报警 | 3s |
| 水流中断 | 水流开关断开 | 跳闸停机、报警 | 5s |
| 变频器故障 | 变频器故障触点闭合 | 本泵停机,切换备用泵 | 0s |
| 电机过载 | 热继电器动作 | 本泵停机、报警 | 0s |
| 断相/欠压 | 电压检测继电器 | 跳闸、禁止起动 | 2s |
| 频率越限 | 变频器输出 < 28Hz 或 > 50Hz | 限幅,不跳闸 | — |
5. 现场调试顺序与节能率的验证方法
调试最容易犯的错是上来就整定 PID,结果连基线流量和温差都没测准。合理的顺序是:先手动全频验证硬件 → 再单泵变频找频率下限 → 然后整定 PID → 最后启用轮换和保护,逐步放开。
第一步手动模式下把三台泵逐个工频运行,测冷凝器进出水温差、冷却塔布水情况和主机冷凝压力,确认设计工况下表面对得上。第二步让单台泵变频,频率从 50Hz 往下压,盯住两个红灯:冷凝器进出水温差是否开始偏离 5℃ 过多,主机冷凝压力是否上升。降到某个频率时压力开始爬,那个频率加 2~3Hz 就是实用下限,通常落在 28~32Hz,比教科书上的 25Hz 更靠谱。第三步才整定 PID,整定完再看轮换逻辑。
节能率的验证别只看电费单,要做同工况对比。用一台带通信的电能表挂在水泵主回路上,记录变频器输出频率、功率和进出水温差,跑一周导出数据做比较:
| 对比项 | 改造前(定流量) | 改造后(变温差) |
|---|---|---|
| 水泵平均运行频率 | 50Hz | 36~42Hz |
| 单泵平均输入功率 | 约 5.5kW | 约 2.8~3.8kW |
| 冷凝器进出水温差 | 2~3.5℃(偏低) | 4.5~5.5℃ |
| 水泵日耗电量 | 基准值 | 下降 35%~48% |
| 主机冷凝温度 | 偏高 | 基本持平或略降 |
几个我踩过、也见过别人踩的坑:温差会在阈值附近抖,所以状态迁移的最小运行时间一定要给,30 分钟起步,切换次数从一天几十次降到五六次;取样点位置错了比参数错更致命,进水温度取在冷却塔出水口和取在集水盘后,差出来能有 1℃ 以上,前馈项就跟着偏;变频器长期低频运行会让电机散热变差,机座温度超过铭牌温升就说明频率下限压过头了,这时候抬高下限比装轴流风扇更实际。
提示:三台泵轮换周期建议和主机运行季节挂钩——制冷季按状态机自动轮换,过渡季单台变频就够,把轮换功能关掉只留一台,减少空转损耗。
本文还有配套的精品资源,点击获取