1. 项目概述
这个无桥PFC与逆变方案项目是一个典型的电力电子应用实例,主要解决交流输入电源的功率因数校正和直流-交流转换问题。作为一名电力电子工程师,我在实际工作中发现,传统PFC电路存在整流桥损耗大、效率低的问题,而无桥PFC架构正好能解决这些痛点。
项目核心参数设定非常具有代表性:
- 输入电压:AC220V/50Hz(国内标准市电)
- PFC输出:390V DC(适合后续逆变级)
- 开关频率:150kHz(高频设计)
- 最大功率:400W(中小功率应用)
这样的参数配置在LED驱动、服务器电源、工业控制等场景中都很常见。选择150kHz的开关频率是个折中方案 - 既能减小磁性元件体积,又不会导致过高的开关损耗。
2. 无桥PFC拓扑解析
2.1 传统PFC与无桥PFC对比
传统Boost PFC电路需要在输入端使用整流桥,导致两个二极管正向压降损耗(约1.4V)。对于220V输入来说,这看起来不多,但在低输入电压时(如110V),损耗占比就变得显著。
无桥PFC的巧妙之处在于:
- 省去了整流桥
- 将两个开关管同时用作整流和PFC控制
- 电流路径上的半导体器件数量减半
实测数据显示,在相同400W输出时,无桥PFC效率可提升2-3%,这在能源敏感应用中非常宝贵。
2.2 本方案采用的拓扑结构
我们选择的是双升压型无桥PFC拓扑(Dual Boost Bridgeless PFC),其优势在于:
- 共模噪声较低
- 开关管电压应力与传统Boost一致
- 电流连续模式(CCM)下工作稳定
关键器件选型:
- 开关管:选用STW88N65M5(650V/18A MOSFET)
- 升压二极管:C3D06060A(600V/6A SiC二极管)
- 升压电感:自制,使用PC40磁芯,电感量220μH
提示:无桥PFC的PCB布局要特别注意高频回路面积最小化,否则EMI问题会很严重。
3. 硬件设计详解
3.1 功率级设计
输入滤波电路采用π型滤波器:
- 差模电感:3mH(线绕工字电感)
- X电容:0.47μF/275VAC
- Y电容:2.2nF/250VAC(安规电容)
升压电感计算过程:
目标纹波电流取满载电流的20%(约0.4A)
code复制L = (Vin_min × D) / (ΔI × fsw)
= (220×√2 × 0.5) / (0.4 × 150k)
≈ 220μH
实际制作时留20%余量,最终选用220μH。
3.2 采样电路设计
电压采样采用电阻分压+运放缓冲:
- 高压侧电阻:2MΩ 1206封装(5颗400k串联)
- 低压侧电阻:10kΩ 0.1%精度
- 运放:TLV07(带宽10MHz)
电流采样使用LEM LA25-NP霍尔传感器:
- 额定25A
- 响应时间<1μs
- 供电±12V
3.3 驱动电路
采用专用驱动芯片STGAP2S:
- 隔离电压:4.8kV
- 驱动能力:4A sink/2A source
- 传播延迟:<75ns
- 自带死区时间控制
4. 控制算法实现
4.1 数字PFC控制流程
- 电压外环:PI控制输出基准电流幅值
- 电流内环:PR控制实现正弦电流跟踪
- 前馈补偿:输入电压瞬时值参与计算
关键代码片段:
c复制// 电压外环PI计算
void VoltageLoop_Update(void)
{
static float integral = 0;
float error = Vref - Vout_meas;
integral += Ki_v * error;
Iref_amp = Kp_v * error + integral;
Iref_amp = LIMIT(Iref_amp, 0, I_max);
}
// 电流内环PR计算
float CurrentLoop_Update(float Iref, float Imeas)
{
static float prev_error = 0, prev_out = 0;
float error = Iref - Imeas;
float out = prev_out + Kp_i*(error-prev_error) + Kr_i*error;
prev_error = error;
prev_out = out;
return out;
}
4.2 HRTIM配置技巧
150kHz PWM生成的关键配置:
c复制// HRTIM定时器B配置
hhrtim.Instance->sTimerxRegs[0].PERxR = 560-1; // 150kHz @84MHz
hhrtim.Instance->sTimerxRegs[0].CMP1xR = 280; // 50%初始占空比
hhrtim.Instance->sTimerxRegs[0].CHPxR = HRTIM_CHP_CHPEN | HRTIM_CHP_CHPDT(100); // 死区时间100ns
4.3 ADC采样同步
使用HRTIM触发ADC采样,确保采样时刻在PWM周期中点:
c复制// ADC触发配置
hadc1.Instance->CR2 |= ADC_CR2_EXTEN_0; // 上升沿触发
hadc1.Instance->CR2 |= ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_0; // HRTIM_TRG2
5. 调试经验与问题解决
5.1 常见问题排查表
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 启动时保险丝熔断 | 输入电容短路 | 检查电容极性、耐压 |
| PF值低于0.9 | 电流采样相位偏差 | 调整采样延迟补偿 |
| 输出电压波动大 | 电压环参数不当 | 减小Kp,增大积分时间 |
| MOSFET过热 | 驱动不足或死区不当 | 检查驱动波形,调整死区 |
5.2 实测波形分析
在400W满载时测得:
- THD <5%
- PF >0.99
- 效率94.2%
小电流(50W)时:
- THD约15%
- PF约0.92
- 效率89%
5.3 PCB设计教训
-
初次布局EMI超标严重:
- 高频回路面积过大
- 解决方案:重新布局,缩短功率回路
-
采样受干扰:
- 模拟与数字地处理不当
- 解决方案:采用星型接地,增加滤波
-
散热不足:
- MOSFET温升过高
- 解决方案:增加铜箔面积,添加散热孔
6. 性能优化方向
经过实际测试,这套方案还有以下优化空间:
-
采用GaN器件可将开关频率提升至500kHz以上,进一步减小磁性元件体积。但需要注意:
- 驱动电路需要重新设计
- PCB寄生参数影响更大
- 需要更精确的死区控制
-
改进控制算法:
- 加入重复控制改善THD
- 实现自适应电流环参数
- 增加非线性补偿
-
散热优化:
- 采用热管散热
- 优化PCB铜厚和层叠
- 考虑强制风冷
这个项目从原理验证到实际调试完成,前后历时约3个月。最大的收获是认识到无桥PFC对layout的极高要求 - 有时候电路理论上是正确的,但实现细节决定成败。建议大家在类似项目中:
- 预留足够的调试接口
- 做好热设计余量
- 准备多个参数版本的电感进行对比测试
最后分享一个实用技巧:在调试PFC时,可以先用电子负载代替后级电路,等PFC稳定后再接入逆变级,这样可以分阶段排查问题。