1. 项目概述:无桥PFC与逆变方案设计
去年在做一个工业电源项目时,客户特别强调需要高效率的功率因数校正方案。经过多轮方案对比,最终选择了无桥PFC拓扑结构。相比传统PFC电路,无桥方案减少了整流桥的导通损耗,实测效率提升了2-3个百分点。这个项目从原理设计到代码实现花了近三个月时间,今天就把整个开发过程的关键技术点梳理出来。
无桥PFC的核心优势在于其精简的功率路径设计。传统Boost PFC需要在输入端放置整流桥,而无桥结构直接将交流输入接入Boost电路。这种设计带来的直接影响是:
- 导通器件从4个二极管减少到2个
- 导通损耗降低约50%
- 整体效率提升明显
但同时也带来了控制复杂度增加的问题,特别是在电流过零检测和同步整流控制方面需要特别注意。
2. 硬件设计关键点
2.1 主功率电路设计
主功率电路采用双MOSFET的无桥Boost拓扑,关键参数如下:
- 输入电压:AC220V±15%(实际设计需考虑187-253V范围)
- 输出电压:390VDC(根据后级逆变需求确定)
- 开关频率:150kHz(权衡磁性元件体积和开关损耗)
功率器件选型时特别要注意:
- MOSFET的Vds额定值需≥650V(考虑电压尖峰)
- 体二极管反向恢复时间要快(选用碳化硅二极管可显著降低反向恢复损耗)
- 驱动电路需要具备负压关断能力(防止米勒效应导致误开通)
实测中发现,在轻载时(<50W)效率下降明显。通过分析发现主要是开关损耗占比增大导致的,后来通过动态调整开关频率(重载保持150kHz,轻载降至100kHz)改善了轻载效率。
2.2 采样电路设计
电压电流采样是控制环路的基础,设计中采用了以下方案:
电压采样:
- 输入交流电压:采用精密电阻分压+运放缓冲
- 输出直流电压:分压电阻需考虑长期稳定性(选用金属膜电阻)
- 采样点要尽量靠近被测点,避免引线引入干扰
电流采样:
- 输入电流:采用电流互感器+精密整流电路
- 电感电流:使用50mΩ采样电阻+差分放大
- 关键点:采样信号需进行二阶低通滤波(截止频率设为开关频率的1/10)
特别注意:采样电路的相位延迟会影响控制环路稳定性,在设计PCB时要尽量缩短采样路径。
3. 控制算法实现
3.1 数字PFC控制策略
采用平均电流控制模式,在STM32中实现的算法流程:
-
电压外环:PI控制器计算电流幅值参考
c复制// 电压环PI参数 #define KP_V 0.05f #define KI_V 0.001f float VoltageLoop(float Vref, float Vfb) { static float integral = 0; float error = Vref - Vfb; integral += error; return KP_V * error + KI_V * integral; } -
电流内环:PR控制器跟踪正弦参考
c复制// 电流环PR参数 #define KP_I 0.8f #define KR_I 50.0f #define WO 314.0f // 2*pi*50Hz float CurrentLoop(float Iref, float Ifb) { static float x1 = 0, x2 = 0; float error = Iref - Ifb; x1 = error; x2 += WO * x1; return KP_I * error + KR_I * x2; } -
数字PWM生成:通过HRTIM实现
- 配置为中央对齐模式
- 死区时间设置为150ns
- 采用对称PWM生成方式
3.2 保护功能实现
完善的保护电路是系统可靠运行的保障,实现了以下保护机制:
-
输入过压/欠压保护:
- 检测交流输入电压有效值
- 超出范围时软关断PFC
-
输出过压保护:
- 硬件比较器+软件双重保护
- 触发后立即关闭驱动信号
-
过流保护:
- 逐周期电流限制
- 峰值电流保护阈值设为额定值的120%
4. 软件架构设计
4.1 主程序流程
采用时间触发调度器架构,确保关键任务的实时性:
c复制void main(void) {
Hardware_Init();
while(1) {
if(10ms_flag) { // 10ms任务
Voltage_Control();
Protection_Check();
Display_Update();
Clear_10ms_flag();
}
if(100us_flag) { // 100us任务
Current_Control();
Clear_100us_flag();
}
}
}
4.2 关键外设配置
HRTIM配置要点:
- 时钟源选择PLL输出(170MHz)
- 配置Timer B为PFC主定时器
- 死区时间寄存器设置:
c复制hhrtim.Instance->sTimerxRegs[HRTIM_TIMERINDEX_TIMERB].DTR = 0x1F; // 约150ns
ADC采样策略:
- 采用注入通道+规则通道组合
- 电压采样使用过采样技术提高分辨率
- 电流采样与PWM同步触发
5. 调试经验与问题解决
5.1 常见问题排查
-
电流波形畸变:
- 现象:过零点附近波形失真
- 原因:采样电路相位延迟
- 解决:调整滤波器参数,增加相位补偿
-
轻载振荡:
- 现象:输出电压低频波动
- 原因:电压环参数过于激进
- 解决:减小积分系数,增加比例系数
-
EMI超标:
- 现象:传导骚扰测试150kHz附近超标
- 原因:PFC电感饱和导致谐波增大
- 解决:更换为分布式气隙电感
5.2 性能优化技巧
-
效率提升方法:
- 优化死区时间(实测130-180ns最佳)
- 采用SiC二极管降低反向恢复损耗
- 合理布局减少寄生参数
-
PF值改善:
- 提高电流环带宽(但不超过开关频率的1/5)
- 优化参考波形生成算法
- 校准采样通道的增益和偏移
-
动态响应优化:
- 增加前馈补偿
- 实现负载电流前馈
- 采用变参数控制策略
6. 实测数据与波形分析
经过优化后的系统性能:
- 效率曲线:
- 230V输入时:95.2%@满载,92.8%@半载
- 115V输入时:93.5%@满载,90.1%@半载
- PF值:
-
0.99@满载
-
0.97@20%负载
-
关键测试波形:
- 输入电压电流波形(相位基本重合)
- 开关管Vds波形(振铃控制在20%以内)
- 电感电流波形(连续模式,纹波<30%)
在长期老化测试中发现,输出电容的ESR会随工作时间增加而增大,导致输出电压纹波逐渐变大。后来在选型时特别关注了电容的寿命参数,改用固态电容后问题得到解决。