学Simulink——基于Simulink的图腾柱无桥PFC的CRM模式控制

目录

手把手教你学Simulink——基于Simulink的图腾柱无桥PFC的CRM模式控制​

摘要​

一、背景与挑战​

1.1 为什么图腾柱PFC独得恩宠,却又让人又爱又恨?​

1.2 CRM模式:化骨绵掌,四两拨千斤​

1.3 破局痛点与设计目标​

二、系统架构与核心控制推导​

2.1 拓扑拆解:快慢双打组合​

2.2 CRM控制律:恒导通时间(COT)与零电流检测(ZCD)​

2.3 控制架构流图​

三、Simulink建模与仿真步骤(手把手实操)​

3.1 核心模块清单与参数预设​

3.2 Step 1:搭建功率级主电路 (Power Stage)​

3.3 Step 2:打造 CRM 控制大脑 (Control Logic)​

3.4 Step 3:添加保护与时序校准​

四、仿真结果与分析​

4.1 稳态波形“验货”​

4.2 动态负载跳变测试​

五、工程建议与实机部署​

5.1 跨越仿真与现实的鸿沟​

5.2 一键生成产品级代码​

六、结论​


手把手教你学Simulink——基于Simulink的图腾柱无桥PFC的CRM模式控制

(附:恒导通时间COT秘籍 + 零电流检测ZCD实战 + 变频控制避坑指南)

摘要

在追求极致效率和超高功率密度的今天,传统的CCM(连续导通模式)图腾柱PFC正面临着严峻的挑战:高频mos管的体二极管反向恢复问题如同梦魇,不仅带来巨大的开关损耗,还引发了严重的EMI困扰。

如何打破这一僵局?临界导通模式(CRM,也称BCM或TCM)应运而生!通过让电感电流在每个开关周期自然回落至零,CRM不仅天然实现了主开关管的软开关(ZVS或谷底开通),还省去了昂贵的快恢复二极管。但变频控制带来的复杂性也让无数工程师挠头。

本期,我们将手把手带你深入Simulink的“数字车间”,从零搭建一个基于恒导通时间(COT)与零电流检测(ZCD)的图腾柱无桥PFC CRM控制模型。无论你是电源设计小白还是资深嵌入式攻城狮,这套保姆级攻略都将成为你攻克宽禁带半导体(GaN/SiC)高频应用的通关密码!


一、背景与挑战

1.1 为什么图腾柱PFC独得恩宠,却又让人又爱又恨?

相比于传统的全桥PFC,图腾柱无桥PFC凭借极简的拓扑(少了两个整流二极管)和超高的效率,成为了车载充电机(OBC)和服务器电源的新宠。然而,它有一个致命弱点:

在高频升降压动作中,慢管(工频管)的体二极管会产生严重的反向恢复电荷(Qrr)。如果在CCM模式下强行硬开关,瞬间的大电流尖峰足以让你的demo板冒烟。

1.2 CRM模式:化骨绵掌,四两拨千斤

CRM(Critical Conduction Mode)的核心思想是“顺势而为”:不再强制维持电感电流连续,而是让电流自由下降到零,检测到“空载”后再开启下一个周期。

  • 天然软开关:电流为零时关断,电压为零(或谷底)时开通,开关损耗直线下降;

  • 省去快管:续流路径走慢管的体二极管,因其工作在工频,反向恢复不再是瓶颈;

  • 控制极简:无需复杂的双环PI整定,一个比较器 + 定时器就能搞定。

1.3 破局痛点与设计目标

虽然CRM理论上很美,但在Simulink仿真中,你会面临“变频控制的时间同步难题”“过零检测的数字化抖动”

本文设计目标:输入 220V AC / 50Hz,输出 400V DC,满载 3.3kW。实现输入电流完美跟随电压(PF > 0.99),THD < 5%,且电感电流呈现完美的“锯齿状”临界导通波形。


二、系统架构与核心控制推导

2.1 拓扑拆解:快慢双打组合

一个标准的图腾柱PFC包含四个开关管:

  • 高频快管 (Q1, Q2):通常使用 GaN 或 SiC MOSFET,工作在几十到几百kHz;

  • 低频慢管 (Q3, Q4):通常使用 Si MOSFET,工作在工频 50/60Hz;

  • 储能电感 (L):位于输入端,负责升压与滤波;

  • 输出电容 (C):稳压与滤除高频纹波。

2.2 CRM控制律:恒导通时间(COT)与零电流检测(ZCD)

在CRM模式下,我们通常采用电压外环 + 电流内环(滞环或COT)的结构:

  1. 电压环 (Slow Loop):采样输出电压 Vo​,与基准 Vref​比较,经 PI 调节后生成一个与输入电压相位同步的正弦基准电流幅值 Ipk∗​;

  2. 导通时间生成 (TON Generator):基于 Boost 拓扑的占空比公式 Ton​=Vin​L⋅Ipk∗​​,当输出电压稳定时,Ipk∗​恒定,输入电压 Vin​按正弦变化,这意味着 Ton​也会随 Vin​变化;

  3. 零电流检测 (ZCD):实时监测电感电流 IL​。当 IL​下降至 0(或设定的微小负值)时,ZCD 模块立刻翻转,触发下一次 Ton​的导通。

2.3 控制架构流图

graph TD
    Vin[AC Input] -->|采样| ADC_Vin[ADC Vin]
    Vout[DC Output] -->|采样| ADC_Vout[ADC Vout]
    
    ADC_Vout --> Verr((Verr))
    Vref --- Verr
    Verr --> Vpi[Voltage PI]
    ADC_Vin --> Abs1[Absolute Value]
    Vpi --> Mult((Mult))
    Abs1 --> Mult
    Mult --> Ipk_star[$I_{pk}^*$]
    
    Ipk_star --> Comp_H[Comparator High]
    IL_current --> Comp_H
    IL_current --> Comp_L[Comparator Low / ZCD]
    
    Comp_H -->|Set| SR[SR Latch]
    Comp_L -->|Reset| SR
    SR --> PWM_Output[Gate Drive Q1/Q4]

三、Simulink建模与仿真步骤(手把手实操)

3.1 核心模块清单与参数预设

模块名称

功能描述

Simulink 路径

关键参数设置

PMSM​ (替换用)

-

-

MOSFET (Ideal)

功率开关管 Q1-Q4

Simscape / Electrical / Specialized Power Systems / Power Electronics

Ron = 0.01 Ohm, Vf = 0.8V

AC Voltage Source

交流输入源

Simscape / Electrical / Specialized Power Systems / Sources

Peak Amplitude = 311 V, Frequency = 50 Hz

Current Sensor

电感电流采样

Simscape / Electrical / Specialized Power Systems / Sensors

-

Relational Operator

零电流比较 (ZCD)

Simulink / Logic and Bit Operations

Operator = <=, Threshold = 0

PID Controller

电压环调节器

Simulink / Continuous(或 Discrete)

P = 0.5, I = 10, D = 0

Abs

输入电压绝对值

Simulink / Math Operations

-


3.2 Step 1:搭建功率级主电路 (Power Stage)

  1. 新建 Simulink 模型,设置求解器为 Fixed-step,步长 1e-7秒(以满足高频开关细节捕捉);

  2. Specialized Power Systems库拖入 4 个 MOSFET搭建图腾柱拓扑:

    • 输入交流源正极 -> Q1漏极 -> Q1源极/Q2漏极(开关节点)-> 电感 L -> 输出正极;

    • 开关节点 -> Q3漏极 -> Q3源极 -> 交流源负极/输出负极;

    • 输出正极 -> Q4漏极 -> Q4源极 -> 输出负极;

    • 负载电阻与电容并联接在输出端;

  3. 在电感前端和后端分别接入 Current Measurement模块。

3.3 Step 2:打造 CRM 控制大脑 (Control Logic)

这是最关键的一步,我们将实现 ZCD 控制的滞环/比较器逻辑:

  1. 电压外环:使用 Discrete PID Controller,将输出电压误差(400V - Vout)转化为电流基准 Iref​;

  2. 乘法器塑形:将 Iref​与输入电压的绝对值 ∣Vin​∣相乘,再除以 311V(归一化),得到随时间按正弦包络变化的峰值电流指令 Ipk∗​;

  3. 滞环比较器 (Bang-Bang)

    • 使用 Relational Operator模块。设置 Upper limit = Ipk∗​,Lower limit = 0;

    • 当电感电流 IL​≥Ipk∗​时,比较器输出 0(关断开关);

    • 当电感电流 IL​≤0时(ZCD触发),比较器输出 1(重新导通开关);

  4. 高低频管逻辑分解

    • 高频管 Q1 和 Q2 的驱动直接取自比较器输出(带高频死区,约 100ns);

    • 低频管 Q3 和 Q4 根据输入电压的正负半周交替导通(正半周 Q3 常通,负半周 Q4 常通)。可使用 Sign模块判断输入电压极性。

3.4 Step 3:添加保护与时序校准

  1. 在 ZCD 比较器后加入 Unit Delay(1个步长) 防止代数环;

  2. 添加最小关断时间限制(可选,防止轻载时频率过高进入音频范围);

  3. 连接示波器(Scope)监控 Vin​、Iin​、输出电压和电感电流波形。


四、仿真结果与分析

4.1 稳态波形“验货”

运行仿真 0.5 秒,打开 Scope 观察:

  • 输入电流追踪:你会发现输入电流 Iin​是一个完美的正弦波,且与输入电压 Vin​同相位(PF逼近0.99)。

  • 电感电流锯齿波:放大时间轴至毫秒级,电感电流 IL​呈现清晰的“三角波”,每次上升到指令值后下降,在到达零时立刻触发下一个周期(CRM特征),没有死区时间,也没有负向电流。

4.2 动态负载跳变测试

在 0.3 秒时,将负载电阻突然减半(满载跳变):

  • 电压环韧性:输出电压短暂下降后,电压 PI 迅速增加 Ipk∗​,电感电流锯齿波的“高度”瞬间拉升以提供更大功率,在不到 100ms 内输出电压恢复稳定;

  • THD表现:即使在动态过程中,由于 CRM 的本质是瞬时电流滞环控制,输入电流的畸变依然被压制在极低水平(THD < 5%)。


五、工程建议与实机部署

5.1 跨越仿真与现实的鸿沟

  • 数字实现中的“比较器延迟”:在真实 DSP(如 TI C2000)中,ADC 采样和比较器响应存在固有延迟。这会导致 ZCD 检测到零电流时,实际电流已经稍微变负。对策:在 Simulink 中的 ZCD 路径加入一个微小的 Transport Delay(如 50-100ns) 来模拟这一延时,并观察系统是否依然稳定;

  • 变频带来的 EMI 谱扩散:CRM 本质是变频控制(轻载频率高,重载频率低)。这在 Simulink 中表现为开关周期不固定。对策:若需定频交错,可考虑在模型中加入“最大频率钳位”和“突发模式(Burst Mode)”控制逻辑。

5.2 一键生成产品级代码

当你的 Simulink 模型验证无误后:

  1. 将所有控制逻辑中的浮点运算替换为 fixdt(1,32,17)等定点数据类型;

  2. Hardware Implementation​ 中选择你的目标板(如 TI F2837xD);

  3. 点击 Build,Embedded Coder 将自动生成 .c/.h 工程文件,直接烧录进 DSP 即可跑通你的 CRM 控制核心!


六、结论

  • 掌握核心科技:通过本文的实战演练,你不仅打通了图腾柱 PFC 的 CRM 控制任督二脉,还深刻理解了 ZCD 与 COT 在 Simulink 中的数字化实现方法;

  • 规避高频陷阱:模型真实地反映了无桥拓扑中高低频管的配合时序,为解决实际的体二极管反向恢复问题提供了虚拟沙盒;

  • 无缝对接硬件:这套基于基础数学运算和逻辑比较器的控制模型,不依赖任何昂贵的工具箱,轻量化且极易转化为 C 代码,真正做到了“仿真即生产”!

在下一期的“手把手教你学Simulink”中,我们将挑战电源界的“圣杯”——《基于Simulink的LLC谐振变换器软开关(ZVS/ZCS)全景仿真与优化》,教你如何用 MathWorks 的工具精准拿捏神秘的谐振腔!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值