16制冷系统台架
蒸气压缩循环 + 工况输入 + 与 FOC 闭环耦合
本模块主旨
把 P-h 4 状态点 + EEV 过热度控制 + 系统故障特征 + APF 标定串成压缩机变频器的完整工程闭环。学完应能回答
- 能在 P-h 焓压图上指认 4 状态点(吸气过热气 / 排气 / 冷凝过冷液 / 节流两相)的物理含义
- 能口算压缩比、单位功 w = h₂ − h₁、单位冷量 q_c = h₁ − h₄ 与 COP = q_c / w
- 能解释循环侧 W_comp → τ_load → Iq* 的耦合链路:为什么变工况后 FOC 的 iqRef 必须跟随
- 能从 P_s / P_d / T_d / SH 四表读数差异区分冷媒泄漏 / 冷凝堵塞 / EEV 卡死 / 不凝气
- 理解 EEV 必须基于 SH = T_suct − T_sat(P_s) 而非吸气温度做 PI,否则工况漂移触发液击
- 理解过冷度 SC 在冷凝侧的工程意义:保证节流前 100% 液态、提升单位冷量、防止 EEV 气塞
- 能说出 APF 与单点额定 COP 的差别,以及变频压缩机在部分负荷下 COP 反而更高的物理原因
总览
制冷台架是电机控制工程师最常忽略也最容易被反咬的领域:电机做得多稳都救不了循环本身。掌握 P-h 图 + COP 推导,能让你和系统工程师同频沟通,也能在客户投诉面前一眼看出问题在系统侧还是电机侧。零基础速入
类比
电机和算法做得再好,最后用户感受到的是"压缩机吹出来的冷风够不够冷、耗电多不多"。这一节把整个制冷系统拉进来——给定室外/室内温度、蒸发/冷凝温度,模拟蒸气压缩循环,看真实的吸排气压力、流量、COP,反过来印证电机需要多大的 Iq。核心概念
蒸气压缩制冷四步走:① 压缩机把低压气压缩成高压高温气;② 冷凝器把热放给室外;③ 膨胀阀让高压液降到低压两相;④ 蒸发器从室内吸热回到低压气。压差由 T_e/T_c 决定,压差越大 → 压缩功越大 → 电机 Iq 越大、COP 越低。为什么要学
- 工况变化时(夏天 vs 冬天 / 高负载 vs 低负载),FOC 的 Iq 给定根本就是工况映射出来的,不是凭空设的。
- 排气温度是压缩机寿命的命门——超 110℃ 会烧 PVE 油、毁绕组绝缘。
- 客户投诉"制冷不行"几乎都是循环侧的问题(缺氟/堵塞/冷凝差),先看吸排气压力比看电流更直接。
- COP 是节能认证(一级能效 / APF)的核心指标,工况优化空间往往大于电机优化。
第一手操作
调蒸发温度 T_e 从 5℃→12℃,看吸气压力如何变化、COP 怎么涨——这是夏天空调"温和模式"和"强劲模式"的真实切换。学习目标
- 把蒸气压缩制冷循环的 4 状态点(吸气-排气-冷凝-节流)搞清楚,会读 P-h 图。
- 会从工况(蒸发/冷凝温度、过热度、室外温度)反算压力比、容积效率、排气温度。
- 理解 COP 与电机 Iq 的耦合:循环侧需求决定电机侧 Iq 给定。
- 能识别"系统侧问题"(缺氟、堵塞)vs"电机侧问题"(控制参数、采样故障)。
核心概念
- 蒸气压缩循环是逆卡诺循环的工程实现——耗电做功,把低温处的热搬到高温处。
- 压缩比 = P_d/P_s = 饱和压力比;空调典型 3-5,冷冻可达 8+。
- 容积效率 η_v = 1 - C·((P_d/P_s)^(1/n) - 1):余隙气在排气结束后膨胀回吸入冲程,挤占新气进入空间。
- 排气温度 T_d 由多变压缩 T_d = T_s · (P_d/P_s)^((n-1)/n) 决定;n≈1.18-1.25。
- 单位制冷量 q_c = h_1 - h_4,单位功 w = h_2 - h_1,COP = q_c/w。
- 过热度的双面性:过低(<3K)有液击风险,过高(>10K)牺牲制冷量、抬升排气温度。
公式
压力-温度对应(Antoine 简化)
ln(P_MPa) = A - B/T_K
A、B 是制冷剂常数。本仿真三种制冷剂的 (A, B):R-32 (8.515, 2382)、R-410A (8.474, 2376)、R-134a (8.505, 2658)。
多变压缩排气温度
T_d = T_s · (P_d/P_s)^((n-1)/n)
n = 多变指数。R-32 取 1.20,R-410A 取 1.18,R-134a 取 1.13。压缩比每翻倍,排气温度涨 ~30%。
容积效率
η_v = 1 - C·((P_d/P_s)^(1/n) - 1)
C 是余隙比,常见 3-8%。压比 5 时容积效率从 95% 跌到 70%。
质量流量
m_dot = ρ_1 · V_disp · η_v · N
ρ_1 是吸气密度(与 T_e 强相关),V_disp 是排量 (m³),N 是转速 (rps)。
COP 与电流耦合
τ = W_comp/ω, Iq = τ / (1.5·Pp·ψ_f)
系统侧算出 W_comp → 机械扭矩 τ,反推 FOC 需要的 Iq。这是闭环耦合的桥梁。
工程意义
- 电机调试看似在调电流环,最终决定客户体验的是"该工况下能不能稳态运行 + COP 多少"。
- 排气温度、吸排气压力是压缩机寿命指标,比电机绕组温度更早预警系统问题。
- EEV 控制和 FOC 速度环往往是同一个 MCU 跑的,懂台架才能写好系统状态机。
- APF/能效认证看的是系统级 COP 不是电机效率,工况优化空间通常更大。
STM32 移植指南
- EEV 控制:常见用 PG/Beck/Sanhua 的步进式电子膨胀阀,通过 GPIO 串行驱动,开度对应步数(0-500 步)。
- 过热度反馈:吸气管贴 NTC,对照饱和压力得到 SH = T_suct - T_sat(P_s)。EEV PI 控制目标常设 SH=5K。
- 排气保护:T_d > 105℃ 即降频,> 115℃ 直接停机。NTC 用 100kΩ B3950,ADC 通道独立。
- 高低压保护:吸气压力传感器 (0.5-4.5V → 0-2.5MPa)、排气压力传感器 (0.5-4.5V → 0-5MPa),触发硬件比较器直停 PWM。
- 室外温度:贴在冷凝器进风侧,作为变频降频和 EEV 前馈的输入。
- 工况-频率映射:T_outdoor、T_indoor、目标 ΔT 三维插值表 → 目标转速;典型表:5kHz × 3kHz × 5kHz=75 个工作点。
常见误区
- 凭电流大小判断工况,忽略 EEV 是否开够。EEV 卡死小开度时 Iq 会偏大但其实是循环堵塞。
- EEV 反馈环用蒸发出口温度而不是过热度。一旦 P_s 漂了,温度就没意义。
- 冷凝风机停转后还在催高频,结果 P_d 飙升触发高压保护。需要先降频再停机。
- 工况-频率表只标定常温,极端高温(>40℃)和低温(<-5℃)外推会爆。
调试方法
- 手测:吸气压力 + 吸气温度 → 算 SH;排气压力 + 排气温度 → 算 SC(实际系统是 P_d 上的过冷度)。
- 快充快放观察:稳态后切大负载,看 P_d 多久稳住,电机 Iq 是否能跟上——这是 EEV/PFC/FOC 速度环带宽的综合体现。
- 冷媒泄漏诊断:相同工况下 m_dot 变小、SH 变大、COP 下降 → 缺氟。
- 冷凝堵塞诊断:相同工况下 P_d 升高、T_d 升高、COP 下降 → 冷凝器脏堵或风机失速。
建议实验
- 对比 R-32 vs R-410A:同样 T_e/T_c 下,R-32 流量小 1/3 但 COP 高 5-8%。
- 提升过热度从 5K 到 12K:制冷量降 8%,排气温度升 8℃。看哪个先到红线。
- 室外温度从 35℃ 升到 45℃:T_c 跟着升 → 压比涨 → η_v 跌 → 流量小 + 单位功大 → COP 从 3.5 跌到 2.2。
- 开启闭环耦合后改变 T_c,回到 06 号 FOC 模块看 iqRef 是否同步变化。
STM32 C 代码骨架
/* ============================================
* 工况采集 + 压缩机变频器主循环(简化)
* ============================================ */
typedef struct {
float Te_C, Tc_C; /* 由饱和压力反算 */
float Ps_MPa, Pd_MPa; /* 直读传感器 */
float Tsuct_C, Tdisch_C; /* NTC */
float SH_K, SC_K; /* 派生 */
float T_outdoor_C, T_indoor_C;
uint16_t eev_steps; /* 0..500 */
} bench_state_t;
/* 1kHz 慢任务:工况采集与保护 */
void bench_slow_task(bench_state_t *s) {
s->Ps_MPa = adc_to_pressure(adc_low_side_channel);
s->Pd_MPa = adc_to_pressure(adc_high_side_channel);
s->Tsuct_C = ntc_to_temp(adc_suction_channel);
s->Tdisch_C = ntc_to_temp(adc_discharge_channel);
/* 反查饱和温度(查表 / Antoine 反推) */
s->Te_C = sat_temp_from_p(s->Ps_MPa, REFRIGERANT);
s->Tc_C = sat_temp_from_p(s->Pd_MPa, REFRIGERANT);
s->SH_K = s->Tsuct_C - s->Te_C;
s->SC_K = s->Tc_C - ntc_to_temp(adc_subcool_channel);
/* 排气温度保护 */
if (s->Tdisch_C > 115.0f) {
emergency_stop("DISCHARGE_OVERTEMP");
} else if (s->Tdisch_C > 105.0f) {
derate_rpm_target(0.85f);
}
/* 高压保护 */
if (s->Pd_MPa > pd_threshold_for_outdoor(s->T_outdoor_C)) {
derate_rpm_target(0.7f);
}
}
/* 100Hz EEV PI 控制:过热度跟踪 */
void eev_pi_task(bench_state_t *s) {
static float integ = 0;
const float SH_TARGET = 5.0f; /* 5K 过热度 */
float err = SH_TARGET - s->SH_K;
integ += err * 0.01f;
integ = clampf(integ, -50, 50);
int16_t delta_steps = (int16_t)(2.0f * err + 5.0f * integ);
/* SH 偏低(过湿)→ 关 EEV;SH 偏高(过干)→ 开 EEV */
s->eev_steps = clamp_u16(s->eev_steps - delta_steps, 0, 500);
eev_drive_steps(s->eev_steps);
}
/* 工况→频率映射(三维查表) */
uint16_t lookup_target_rpm(float T_outdoor, float T_indoor, float deltaT_target) {
/* table[T_out][T_in][dT] → rpm */
return rpm_lookup_3d(T_outdoor, T_indoor, deltaT_target);
}
/* 主循环 */
void main_loop(void) {
bench_state_t bench = {0};
while (1) {
if (slow_tick_1khz()) bench_slow_task(&bench);
if (slow_tick_100hz()) eev_pi_task(&bench);
uint16_t target_rpm = lookup_target_rpm(
bench.T_outdoor_C, bench.T_indoor_C, get_user_setpoint() - bench.T_indoor_C);
speed_loop_set_target(target_rpm);
/* FOC 快环(10kHz)独立由 ADC 中断驱动,不在这里 */
}
}
下一步
- 回到 06 号 FOC 总流程模块,关闭闭环切到手动 Iq,对照本台架算出的负载需求观察电机响应。
- 再去 09 号三闭环模块,测试速度环对工况突变的抗扰能力。
- 到 12 号故障与调试模块复盘"液击/堵转"等本节衍生的故障形态。
随堂题
室外 35℃→45℃ 时 COP 主要因为什么下降?
- 压缩比变大同时容积效率下降 (正确)
- 冷媒比热变化
- 电机效率变化
- 室内温度变化
提示:T_c 升高 → P_d 升高 → 压比变大 → 多变压缩耗功增加 + 容积效率(η_v)下降,单位流量做的有用功更少。
排气温度逼近 110℃ 通常表明:
- 冷媒充注过多
- 过热度过低且压比过大 (正确)
- 冷凝压力偏低
- 电机绕组温度偏高
提示:排气温度 = 吸气温度 ×(压比^((n-1)/n))。SH 太高(吸气温度高)+ 高压比是双重原因。
电子膨胀阀 EEV 通常用什么作为反馈量?
- 排气温度
- 冷凝压力
- 吸气过热度 SH (正确)
- 吸气压力
提示:EEV 的核心目标是让蒸发器出口处于"刚刚气化干净 + 一点过热",即 SH 控在 3-7K。
工况突然加重(T_c 升高)时,FOC 模块的 Iq 给定应该如何变化?
- 不变,电机自动适应
- 降低 Iq
- 升高 Iq (正确)
- 反向 Iq
提示:T_c 升 → 压缩功 W_comp 升 → 机械扭矩升 → FOC 速度环为了维持转速必须增大 Iq。这就是闭环耦合。
COP=3.5 的物理含义是?
- 1 kW 电搬走 3.5 kW 的热 (正确)
- 电机效率 350%
- 冷媒流量是电流的 3.5 倍
- 蒸发温度是冷凝温度的 3.5 分之一
提示:COP = Q_c / W_input。注意它是"性能系数"不是"效率"——可以大于 1,因为能量来源还包括从环境吸收的热。