2. 平均电流控制PFC仿真
任务定义
本案例实现基于平均电流控制的Boost PFC变换器仿真模型。控制目标为:在220V/50Hz交流输入、400V直流输出条件下,使输入电流跟踪输入电压波形,实现单位功率因数。仿真平台采用PLECS或Simulink/Simscape,以下给出与平台无关的数学控制模型及PLECS实现步骤。
平均电流控制原理
平均电流控制由电压外环和电流内环构成。电压环输出为电流幅值指令,电流环使电感电流平均值跟踪正弦参考。电流环采用PI调节器,其输出经PWM调制驱动开关管。与峰值电流控制相比,平均电流控制对噪声不敏感,且无需斜坡补偿,适合连续导通模式(CCM)运行。
控制参数设计
设计规格:输入220Vrms/50Hz,输出400V/500W,开关频率100kHz,电感L=1.5mH,输出电容C=470μF。电流环穿越频率设为10kHz(开关频率的1/10),相位裕度≥50°;电压环穿越频率设为10Hz,保证输入电流THD满足要求。
仿真模型实现
以下为PLECS模型搭建步骤,控制部分采用C-Script实现数字控制算法,便于后续移植到DSP。
// PLECS C-Script: 平均电流控制PFC
// 输入: v_in(整流后电压), v_out(输出电压), i_L(电感电流)
// 输出: duty(占空比)
// 参数定义
#define V_REF 400.0 // 输出电压参考
#define Kp_V 0.05 // 电压环比例
#define Ki_V 2.0 // 电压环积分
#define Kp_I 0.15 // 电流环比例
#define Ki_I 500.0 // 电流环积分
#define V_FF_MAX 0.9 // 前馈限幅
#define TS 10e-6 // 采样周期(100kHz)
// 状态变量
static float int_v = 0.0; // 电压环积分
static float int_i = 0.0; // 电流环积分
static float prev_v_out = 0.0;
// 主函数
float pfc_control(float v_in, float v_out, float i_l) {
float v_err, i_ref, i_err, duty, v_feedforward;
// 电压环PI
v_err = V_REF - v_out;
int_v += Ki_V * v_err * TS;
if (int_v < 0) int_v = 0; // 抗积分饱和
i_ref = Kp_V * v_err + int_v;
// 输入电压前馈(提高动态响应)
if (v_in > 20) {
v_feedforward = 1.0 - v_in / V_REF;
if (v_feedforward > V_FF_MAX) v_feedforward = V_FF_MAX;
if (v_feedforward < 0) v_feedforward = 0;
} else {
v_feedforward = 0;
}
// 电流环PI
i_err = i_ref - i_l;
int_i += Ki_I * i_err * TS;
if (int_i > 0.5) int_i = 0.5;
if (int_i < -0.5) int_i = -0.5;
duty = Kp_I * i_err + int_i + v_feedforward;
// 限幅
if (duty > 0.95) duty = 0.95;
if (duty < 0.05) duty = 0.05;
return duty;
}
PLECS电路搭建
电路拓扑:交流源→整流桥→Boost电感→开关管(MOSFET)→二极管→输出电容与负载。控制部分:采样整流后电压v_in、输出电压v_out、电感电流i_l,送入C-Script计算占空比,经PWM调制器(100kHz锯齿波比较)驱动开关管。
仿真参数设置
求解器: 固定步长, 步长=1e-6s (开关周期1/100)
仿真时间: 0.2s (观察稳态波形)
负载: 电阻R=320Ω (500W@400V)
验证方法与判定标准
运行仿真后,观察以下波形并记录数据:
- 输入电流波形:稳态时(0.1s后)输入电流应为正弦波,与输入电压同相位;
- 功率因数:使用PLECS的功率分析工具测量PF值,要求PF>0.99;
- 输出电压:稳定在400V±5%范围内,纹波<10V;
- THD:输入电流总谐波失真应<5%。
判定标准:若PF≥0.99且输出电压稳定在380~420V,则平均电流控制策略验证通过。
预期仿真结果
根据控制参数设计,稳态时输入电流峰值约为3.2A(对应500W输入功率),与220V正弦电压同相。输出电压经0.05s动态调节后稳定在400V附近。电流环带宽10kHz保证对100kHz开关纹波的有效抑制,电压环带宽10Hz确保输入电流波形畸变小。
关键注意事项
- 电流采样需使用LTSpice/PLECS中的零阶保持器模拟ADC采样,采样频率与控制频率一致(100kHz);
- 电压环积分器需设置限幅(0~2A),防止启动过冲;
- 整流后电压v_in存在100Hz纹波,前馈项可有效抑制其对电流波形的影响;
- 实际DSP实现时,需将C-Script代码改为中断服务函数,并注意Q格式定点数转换。