
一句话介绍: 这套程序建立了一个完整的 R134a 蒸气压缩式冰箱制冷循环,动态模拟压缩机、冷凝器、膨胀阀、蒸发器和冰箱箱体之间的质量、能量与两相流动,并通过回差控制自动启停压缩机,使箱内温度维持在设定值附近。
冰箱制冷并不是“给箱内直接施加一个低温”。
真正的过程是:
制冷剂吸收箱内热量 → 压缩机提高压力和温度 → 冷凝器把热量排向环境 → 膨胀阀降压 → 蒸发器重新吸热 → 循环重复
与此同时,外界环境还会不断通过冰箱保温层向箱内传热。
因此一个完整模型需要同时回答:
R134a 在循环中怎样发生液相、两相和气相变化?
压缩机开启后压力、质量流量和功率怎样变化?
冷凝器怎样向环境放热?
膨胀阀怎样改变流通面积并造成降压?
蒸发器怎样从冰箱内部吸热?
箱温达到设定值以后,压缩机何时停、何时重新启动?
这套程序把这些环节放在同一个动态 Simscape 模型中:
箱温反馈 → 压缩机启停 → R134a 循环流动 → 冷凝放热 → 节流降压 → 蒸发吸热 → 箱温变化 → 再反馈
1. 这个工程真正包含什么?
工程的主模型是:refrigerationCycle.slx
启动入口是:startup_refrig.m
核心结构可以压缩成 5 个子系统:
子系统 | 主要作用 |
|---|---|
Compressor | 提高制冷剂压力,并驱动循环质量流量 |
Condenser | 向外界环境放热,使高温制冷剂冷凝 |
Expansion Valve | 通过可变节流面积产生压力下降 |
Evaporator | 从冰箱内部吸热,使制冷剂蒸发 |
Refrigerator Compartment | 模拟箱内空气、储存物和保温层的热过程 |
工程还包含自定义 Simscape 两相制冷剂库,以及 R134a 物性查表数据。
所以它不是单纯用几条公式求一个稳态 COP,而是一个:
具有流动惯性之外的压力损失、热交换、两相物性和温度反馈控制的动态制冷系统模型。
2. 当前模型使用什么制冷剂?
模型使用:R134a:R134a 的物性没有在程序中写成一个简单常数,而是通过二维查表获得。
主要物性表以:压力 p + 比内能 u
作为输入,并查得:
比容 v、温度 T、动力黏度 μ、导热系数 k、Prandtl 数 Pr
饱和液体 / 饱和蒸气内能
工程说明指出,这些物性数据来源于 NIST Chemistry WebBook。
两相区采用:均相平衡假设(Homogeneous Equilibrium)
因此程序能够让制冷剂从液态跨越两相区进入气态,而不是把工质始终当成单相理想气体。
3. 当前冰箱模型的核心工况
源码预加载的主要参数如下:
项目 | 当前值 |
环境温度 | 293 K,约 19.85 ℃ |
箱内目标温度 | 277 K,约 3.85 ℃ |
初始制冷剂压力 | 0.6 MPa |
初始干度 | 0.2 |
压缩机指令质量流量 | 0.004 kg/s |
冷凝器 / 蒸发器管长 | 均为 15 m |
制冷管内径为 15 mm,铜管壁厚为 0.5 mm。
整个模型默认仿真:0~3000 s
并采用 ode15s 求解器处理这类具有明显不同时间尺度的动态物理系统。
4. 制冷循环中的 4 个状态点分别在哪里?
程序在循环中布置了 4 组状态传感器。
可以按典型蒸气压缩循环理解为:
状态 1:蒸发器出口 / 压缩机入口
状态 2:压缩机出口 / 冷凝器入口
状态 3:冷凝器出口 / 膨胀阀入口
状态 4:膨胀阀出口 / 蒸发器入口
整个循环就是:
1 → 压缩 → 2 → 冷凝 → 3 → 节流 → 4 → 蒸发 → 1
程序会记录这些位置的:
压力 p、比内能 u、比容 v、温度、蒸气干度 x
并进一步用于观察制冷循环状态。
5. 为什么要使用压力—焓 p-h 图?
制冷工程中经常使用压力—比焓图观察循环。
程序根据传感器数据计算比焓:
h = u + p·v
其中:
h:比焓;u:比内能;
p:压力;v:比容。
由于模型中的 p 使用 MPa、u 使用 kJ/kg,绘图脚本进行了对应的单位换算。
将 1、2、3、4 四个状态点放到 p-h 平面以后,就可以直观看到:
压缩 → 放热冷凝 → 节流 → 吸热蒸发组成的闭合循环。
相比只观察单独一条压力曲线,p-h 图更能体现制冷剂在整个热力循环中的状态变化。
6. 压缩机在程序中怎样工作?
压缩机子系统接收一个:
On = 0 或 1的控制信号。
开启时,目标质量流量为:
ṁ_cmd = 0.004 kg/s
程序没有让流量瞬间从 0 跳到 0.004 kg/s,而是加入一个约:20 s
的压缩机动态时间尺度,使实际流量逐渐建立。
压缩过程内部依据近似等熵关系:
du = -p·dv
逐步计算制冷剂内能变化。
压缩机向制冷剂提供的功率则按照入口和出口的总流动能量差计算,可概括为:
Ẇ = ṁ[(h₂ + V₂²/2) - (h₁ + V₁²/2)]
所以压缩机的作用不仅是“让制冷剂流起来”,更重要的是:
把低压制冷剂提升到高压状态,为后面的冷凝放热创造条件。
7. 冷凝器为什么能够把热量排到环境?
压缩机出口的 R134a 是高温、高压制冷剂。
冷凝器使用一根:15 m 铜管
模拟制冷剂流动,同时考虑:
管内摩擦压力损失;管内对流换热;
铜管壁导热;铜管本身的热容量;
翅片与环境之间的对流换热。
管内制冷剂与管壁之间的换热可以概括为:
Q̇ = h_c A(T_wall - T_fluid)
其中换热系数 h_c 并不是固定常数,而是根据 Reynolds 数、Prandtl 数和 Nusselt 数关系动态计算。
当前环境温度为:293 K
因此高温制冷剂能够通过冷凝器不断把热量传递到环境中,并逐渐从蒸气向液相方向变化。
8. 膨胀阀为什么能让制冷剂降压?
冷凝器出来以后,制冷剂需要从高压侧进入低压蒸发器。
程序使用一个:Controlled Local Restriction模拟膨胀阀。
节流通道面积不是固定值,而是在:0.1~2.7 mm²范围内变化。
阀门控制器根据膨胀阀出口温度调整开度:
约 280 K 时,面积接近 0.1 mm²;
温度降低到约 230 K 时,面积增大到约 2.7 mm²;
中间区域按线性关系变化,并限制在上下界内。
流体经过局部小面积节流后产生明显压力损失。
从制冷循环角度看,这一步完成:
高压冷凝侧 → 低压蒸发侧
的压力切换,使低压制冷剂进入蒸发器以后能够在较低温度下继续吸热汽化。
9. 蒸发器为什么能把冰箱内部变冷?
蒸发器同样使用:15 m 管路模拟 R134a 的动态流动和换热。
经过膨胀阀后,制冷剂压力降低,并进入适合蒸发吸热的状态。
冰箱内部热量经过:
箱内空气 / 储存物 → 对流 → 蒸发器铜管 → 制冷剂
不断传给 R134a。
制冷剂在低压下吸收热量并逐渐汽化,然后重新回到压缩机入口。
所以真正“制造低温”的不是压缩机本身,而是:
蒸发器中的低压制冷剂持续从箱内吸收热量。
10. 程序还真正建立了一个冰箱箱体
模型不仅包含制冷剂循环,还建立了冰箱内部热模型。
其中包括:
1 kg 箱内空气;3.8 kg 水作为储存物热容量;
4.5 m² 内表面积;6 m² 外表面积;30 mm 聚氨酯泡沫保温层;
外界空气与冰箱表面的自然对流。
泡沫导热系数设置为:0.03 W/(m·K)
因此环境温度高于箱内温度时,热量仍会持续穿过箱体进入内部。
这使模型形成了真实冰箱中的两个竞争过程:
蒸发器不断把热量带走
同时:
外部环境不断向箱内漏热
控制器需要通过周期性启动压缩机,让两者达到动态平衡。
11. 为什么压缩机不是一直开着?
箱内目标温度设为:277 K
控制器计算:
温度误差 = 实际箱温 - 277 K
并使用带回差的 Relay 控制。
当前:温差带 = ±2 K
所以大致控制逻辑为:
箱温高于 279 K → 开启压缩机
箱温低于 275 K → 关闭压缩机
在 275~279 K 之间,控制器保持之前的状态。
这样做比“温度刚超过 277 K 就开、刚低于 277 K 就关”更合理,因为它可以避免压缩机在设定点附近频繁启停。
也就是说,程序不是把箱温固定死在 277 K,而是:
让温度围绕目标值在一个小范围内周期变化。
12. 为什么这套程序比理想四状态点循环更接近真实冰箱?
最简单的制冷循环计算通常假设:
压缩瞬间完成;换热器没有动态热容量;
管路没有摩擦;箱体没有热惯性;控制器不存在;
所有状态立即达到稳态。
当前程序则同时加入:
两相物性 + 管路压力损失 + 换热动态 + 铜管热容量 + 冰箱热负荷 + 压缩机启停 + 膨胀阀控制
因此它能够研究:
系统从初始状态开始,经过几百到几千秒以后怎样逐渐建立周期性的制冷运行状态。
这也是 Simscape 动态物理建模相对于只计算一个理想循环点的主要价值。
13. 程序最终能够得到什么?
运行仿真后,plotRefrigerationModel.m 会从 Simscape 日志中提取并分析:
压缩机入口 / 出口压力;压缩机压力比;
压缩机功率;压缩机与膨胀阀质量流量;
冰箱内部被带走的热流率;
蒸发器入口温度;冰箱箱内温度;
1~4 状态点的蒸气干度;
4 个循环状态点的压力与比焓。
程序还会把循环状态随时间映射到 R134a 的 p-h 图上,从而观察系统从启动过程逐渐进入正常制冷循环。
当前工程重点输出的是动态状态、热流和压缩机功率,本身并没有在脚本中直接给出一个固定 COP 数值。
14. 这种建模方法理论上为什么合适?
R134a 在蒸发器和冷凝器中会发生明显相变。
程序使用实际物性查表,而不是给温度、密度、比热设置一个固定常数,因此更适合跨越液相—两相—气相的循环过程。
自定义 Simscape 管道同时计算质量流入流出、压力损失、流体能量变化和壁面换热。
所以压力、温度、流量和相态变化是相互耦合得到的,而不是各自独立指定。
蒸发器吸热会改变箱温,箱温又决定压缩机是否开启。
因此模型能够形成:
物理系统 → 温度传感 → 控制器 → 压缩机 → 物理系统
的闭环。
因为模型保留了流体、铜管、空气、水等热容量,所以不仅能看最终状态,还能观察系统达到目标温度需要怎样的动态过程。
15. 它适合用在哪里?
可以把压缩、冷凝、节流和蒸发四个经典过程与真实动态模型对应起来。
可以观察状态点压力、焓和干度随时间怎样跨越液相、两相和蒸气区域。
通过目标温度和回差控制,可以理解家用制冷设备为什么会周期性启停压缩机。
工程同时耦合流体、热传导、对流换热、控制和两相物性,非常适合学习物理网络模型怎样搭建完整设备。
16. 怎么运行?
入口脚本是:startup_refrig.m
运行后它会自动:
加入工程路径 → 注册需要的单位 → 编译自定义 refrigeration Simscape 库 → 打开 refrigerationCycle.slx
然后直接运行 Simulink 模型。
仿真完成后,模型中的 Plot Latest Results 会调用结果脚本读取 Simscape 日志;Plot Fluid Properties 用于查看 R134a 物性。
工程需要 MATLAB、Simulink 和 Simscape,并且运行过程中要保留 Simscape logging 数据。
如果做扩展实验,最值得改变的是 目标箱温、压缩机质量流量和环境温度,它们分别直接影响温控目标、制冷循环强度和冰箱外部热负荷。
17. 一句话看懂这个项目
这是一个 MATLAB / Simulink / Simscape R134a 动态冰箱制冷循环模型:R134a 依次经过压缩机、15 m 冷凝器、0.1~2.7 mm² 可变节流膨胀阀和 15 m 蒸发器完成蒸气压缩循环,同时冰箱箱体还考虑空气、水、聚氨酯保温层和环境漏热;控制器以 277 K 为目标,在约 275~279 K 的回差区间内自动启停压缩机,仿真中可以得到压力、质量流量、功率、吸热量、蒸气干度、箱温以及四状态点在 R134a p-h 图上的动态循环过程。