第四节 AC-DC整流模块:PFC电路原理、LLC谐振变换器、模块并联均流技术
各位工程师朋友,今天我们来聊聊基站电源里最核心的AC-DC整流模块。说实话,这部分内容我做了十几年,踩过的坑比走过的路还多。但别担心,我会把最实用的经验分享给你。
4.1 PFC电路原理:让电流跟上电压的节奏
先问大家一个问题:为什么需要PFC?说白了,传统的整流电路会让输入电流变成尖峰脉冲,就像一个人吃饭时狼吞虎咽,电网受不了这种冲击。PFC的目的就是让电流波形跟随电压波形,像个优雅的绅士一样平稳地取电。
核心要点:PFC将输入电流从尖峰脉冲修正为正弦波,功率因数从0.6提升到0.99以上。
我刚开始做基站电源时,遇到过这样一个案例:某站点因为PFC没做好,导致电网谐波超标,被供电局罚款。从那以后,我对PFC电路的设计格外重视。
4.1.1 有源PFC vs 无源PFC
这里有个选择问题。无源PFC用大电感滤波,简单便宜,但体积大、效果一般。有源PFC用开关管控制,效果好、体积小,但电路复杂。我个人习惯用有源PFC,尤其是在基站这种对功率密度要求高的场景。
| 类型 | 功率因数 | 体积 | 成本 | 适用场景 |
|---|---|---|---|---|
| 无源PFC | 0.7-0.8 | 大 | 低 | 小功率(<300W) |
| 有源PFC | 0.99+ | 小 | 高 | 基站电源(1kW+) |
4.1.2 临界导通模式(BCM) PFC
这种模式我特别喜欢,因为它控制简单。电感电流在每个开关周期都回到零,开关管实现零电流开通。嗯,这里要注意:BCM模式适合中小功率,大功率时电流纹波太大。
// BCM PFC控制核心代码(简化版)
void BCM_PFC_Control(void) {
// 检测电感电流过零
if (Zero_Current_Detect() == TRUE) {
// 开启开关管
Gate_Drive(ON);
// 计算导通时间
Ton = Vout * L / (Vin * Vin) * Pref;
// 定时关断
Timer_Start(Ton);
}
}
实战技巧:BCM模式下,电感设计要特别注意。我建议用铁硅铝磁芯,损耗低、饱和特性好。曾经有个项目用了铁氧体,结果高温下饱和,炸了一排MOSFET。
4.2 LLC谐振变换器:软开关的艺术
接下来聊聊LLC。为什么基站电源偏爱LLC?因为它能实现全负载范围的软开关,效率高、EMI小。你想想看,48V输出的基站电源,效率每提升1%,一年能省下不少电费。
LLC的核心是谐振腔:一个谐振电感Lr、一个谐振电容Cr,再加上变压器的励磁电感Lm。这三个元件配合,实现了零电压开关(ZVS)和零电流开关(ZCS)。
4.2.1 三个工作区域
LLC有三个工作区域,我当年学的时候也绕晕过。现在用一句话说清楚:
- 区域1(fs < fr): 开关频率低于谐振频率,原边ZVS,副边ZCS。适合轻载。
- 区域2(fs = fr): 最佳工作点,效率最高。设计时尽量让额定工作点落在这里。
- 区域3(fs > fr): 开关频率高于谐振频率,原边ZVS,副边硬开关。适合重载。
避坑指南:我曾经在区域3设计时忽略了副边整流管的损耗,结果满载测试时整流管温度飙升到120°C。后来加了RC吸收电路才解决。记住:区域3的副边损耗不容忽视。
4.2.2 谐振参数设计
设计LLC参数,我有个习惯:先确定谐振频率fr,一般选100kHz左右。然后根据输出功率计算谐振阻抗,再反推Lr和Cr。
// LLC参数计算示例
#define Vout 48.0 // 输出电压
#define Pout 3000.0 // 输出功率
#define fr 100000 // 谐振频率
float Calc_LLC_Params(void) {
float Rload = Vout * Vout / Pout; // 等效负载
float Q = 0.5; // 品质因数(经验值)
float Lr = Q * Rload / (2 * PI * fr);
float Cr = 1 / (2 * PI * fr * Q * Rload);
float Lm = 5 * Lr; // 励磁电感取5倍Lr
printf("Lr = %.2f uH\n", Lr * 1e6);
printf("Cr = %.2f nF\n", Cr * 1e9);
printf("Lm = %.2f uH\n", Lm * 1e6);
return 0;
}
个人经验:品质因数Q值选0.4-0.6比较稳妥。Q值太小,增益不够;Q值太大,轻载时容易进入容性区,导致炸管。我一般取0.5,留点余量。
4.3 模块并联均流技术:让多个电源和谐共处
基站电源通常需要多个整流模块并联,提高容量和冗余。但问题来了:每个模块的输出电压有微小差异,如果不做均流,有的模块出力多,有的出力少,甚至出现环流。
我记得有一次在机房调试,三个模块并联,其中一个电流达到40A,另外两个只有10A。那个40A的模块温度飙升,差点触发过温保护。这就是典型的均流失败案例。
4.3.1 下垂法(Droop)
最简单的方法。每个模块的输出电压随电流增加而略微下降,就像电压源有内阻一样。这样电流大的模块电压自然降低,电流小的模块电压相对高,最终达到平衡。
但下垂法有个缺点:负载调整率变差。我建议在要求不高的场景使用,比如对电压精度要求±5%的系统。
4.3.2 主动均流法
这才是基站电源的主流方案。每个模块通过均流总线共享电流信息,控制环路主动调节输出。
// 主动均流控制伪代码
void Active_Current_Sharing(void) {
// 读取本模块输出电流
float I_local = Read_Output_Current();
// 读取均流总线上的平均电流
float I_avg = Read_Share_Bus();
// 计算误差
float error = I_avg - I_local;
// PI调节,修正电压基准
static float integral = 0;
integral += error * Ki;
float V_ref_adjust = error * Kp + integral;
// 限制调整范围
if (V_ref_adjust > 0.5) V_ref_adjust = 0.5;
if (V_ref_adjust < -0.5) V_ref_adjust = -0.5;
// 更新电压基准
Vref = Vref_nominal + V_ref_adjust;
}
关键参数:均流精度要求通常为±5%。PI参数要仔细调,Kp太大容易振荡,Ki太大响应慢。我一般先调Kp让系统稳定,再加Ki消除静差。
4.3.3 均流总线设计
这里有个容易被忽视的细节:均流总线的抗干扰能力。我曾经在一个项目中,均流总线没有做滤波,结果被开关噪声干扰,导致模块之间来回抢电流,系统振荡。
我的解决方案:
- 均流总线用双绞线,减少共模干扰
- 每个模块加RC低通滤波,截止频率10Hz左右
- 总线两端加100nF电容到地
重要提醒:均流总线不能太长,超过10米要考虑信号衰减。如果模块分布在多个机柜,建议用隔离的均流方案,比如数字通信方式。
4.4 实战总结
好了,今天的内容就到这里。PFC、LLC、均流技术,这三个是基站电源AC-DC模块的三大支柱。PFC让电网干净,LLC让转换高效,均流让系统可靠。
最后送大家一句话:设计电源,细节决定成败。一个电容的选型、一个走线的布局,都可能影响整个系统的性能。多测试、多总结,慢慢你也会成为专家。
下一节我们聊聊DC-DC变换器的低功耗设计,敬请期待。