☰
Boost PFC平均电流控制与相位补偿的PLECS仿真建模
2026/10/21 16:55:56 网站建设 项目流程

开头我想先讲一个实际场景:手头一个单相PFC电源模块,输入220V交流,输出380V直流,功率1kW。用功率分析仪测到的THD不算差,在8%左右,但功率因数卡在0.98不往上走。打开输入电流波形和电网电压波形一对比,问题就很明显——电流波形整体比电压波形慢了大概1.5个毫秒,基波相位滞后拖了后腿。

于是我在PLECS里搭了一套Boost-PFC功率因数校正仿真模型,控制方案选了CCM平均电流控制,又在电流参考环节加了一个电流相位补偿控制模块,用来修正输入电流相对电网电压的相位滞后。经过一整轮的建模、参数整定和仿真验证,PF终于冲到0.997。这篇内容就把这次仿真建模的完整思路拆开讲清楚,覆盖Boost PFC拓扑的核心工作逻辑、平均电流控制环路的搭建与整定、电流相位补偿控制的必要性及实现,以及PLECS仿真中的各种实操细节。适合正在做电源开发的工程师、研究PFC控制算法的同学,以及所有想把功率因数控制调到最优的硬件开发者参考。

1. Boost PFC为什么非要用平均电流控制——从拓扑到控制律

1.1 Boost PFC的基本工作逻辑

PFC的本质任务是让输入电流的波形尽可能复刻输入电压的波形。输入电压是正弦波,那么输入电流也必须是同频同相的正弦波,系统对电网来说才是一个纯阻性负载。Boost PFC电路在整流桥后面接了一个升压电感、一个快恢复二极管和输出母线电容,通过控制开关管的占空比,让电感电流的包络跟随整流桥输出的“馒头波”变化。只要电感电流平均值在一个开关周期内被强制跟踪到正弦参考,能量就能以正弦形式从电网抽入,最终在输出端维持稳定的直流母线电压。

这里面有两个层面要分清楚:开关频率层面和工频层面。开关频率层面,Boost电感和开关管动作决定了电感电流的高频锯齿波;工频层面,整流桥输出是100Hz的脉动直流,所以PFC控制环路的电流参考也是一个100Hz的半正弦包络。控制回路要做的,是让电感电流的开关周期平均值精确跟随这个100Hz包络。只要做到这一点,在电网电压侧看到的自然就是一个正弦电流。

1.2 “平均电流”到底在平均什么

CCM平均电流控制的“平均”,不是低通滤波那种粗糙的平均,而是通过电流误差放大器的高增益,迫使电感电流的开关周期平均值等于给定参考。具体来说,电流环输入是参考电流与实际电感电流的误差,输出直接作为占空比指令。由于误差放大器对开关频率纹波有很强的抑制能力,理论上开关周期的平均值被精确控制在参考值上。

这个方式的物理意义很重要:如果电流环做得足够好,占空比会自动调整到刚好让电感电流的平均值等于正弦参考,而不用关心电感电流在每个开关周期的瞬时尖峰是多少。在CCM模式下,电感电流连续流动,开关管导通期间电流上升,关断期间电流下降,只要平均值可控,输入侧得到的能量按照正弦规律变化,功率因数自然就上去了。

1.3 为什么是平均电流而不是峰值电流

峰值电流控制是另一种常见方案,它的思路是当电感电流上升到参考值时就关断开关管。这种方案在小功率反激里很常见,但用在Boost PFC里有几个天然问题:占空比超过0.5时会出现次谐波振荡,需要额外加斜坡补偿;比较器对开关纹波和噪声非常敏感;输入电流的平均值并不严格等于参考值,导致THD不如平均电流方案好看。平均电流控制没有这些问题,它在整个PWM周期内都在调节平均值,抗噪能力强,占空比更大时依然稳定。

另外从工程实现角度看,大多数专用PFC控制芯片的内部架构也都是基于平均电流控制来设计的,芯片外围要配一个电流误差放大器和一个乘法器。在PLECS里搭这个结构,恰好能高度还原实际芯片的控制行为。所以如果你要做的是可量产的单相Boost PFC,平均电流控制基本是首选。

2. 电流相位补偿控制的必要性:不补偿时你会看到什么

2.1 电压环带宽受限导致的参考畸变

PFC系统有两个控制环路:电压外环和电流内环。电压环负责稳住输出母线电压,但它必须对母线电容上的100Hz二倍频纹波不敏感,否则这些纹波会通过电压环传递到乘法器上,把电流参考污染掉。所以电压环带宽被压得很低,通常只做到10~20Hz。

但低压宽带来的副作用是系统对电网电压动态的响应变慢,电流参考的相位会和输入电压之间积累出明显的延迟。再叠加电流环本身的采样延迟、PWM执行延迟,输入电流的基波就会比电网电压滞后。滞后角度一旦超过几度,位移功率因数下降,PF马上从0.995掉到0.98甚至更低。标题里的“电流相位补偿控制”就是针对这个问题来的——它专门用来修正参考电流的相位,让输入电流重新对齐电网电压。

提示:遇到PF不达标就盲目加大电压环带宽是常见的错误操作。带宽拉高后二倍频抑制变差,THD会更难看,PF反而可能继续掉。

2.2 过零附近电流失真的根源

整流桥在输入电压过零附近有一个很特殊的工况:市电电压接近零时,整流二极管导通条件不足,电感电流在这个区间很难建立起来,于是输入电流出现一段近似为零的“死区”。这个死区虽然只占了很小的一段角度,但它直接在电流波形上制造了尖峰和畸变,在FFT里对应出较高比重的高次谐波。

过零死区本质上不是电流环的跟踪能力问题,而是电路拓扑在过零点的固有失真。平均电流控制在这里还会产生一个额外现象:电流误差放大器为了追赶参考值,会把占空比推到接近极限,一旦整流桥恢复导通,电感电流又会冲得过高,形成一个过冲尖峰。相位补偿控制作为辅助手段,可以让参考电流在过零区间附近提前调整斜率,缓解这种“憋住后释放”的冲击现象。

2.3 相位补偿的三种可行实现路径

我在仿真里尝试了三种补偿策略,按复杂度从低到高排列:

路径A是串联一阶超前网络,在电流参考支路上加一个传递函数C(s)=k×(1+Tz×s)/(1+Tp×s),设计为在100Hz附近提供预期角度的相位超前。这种方式实现最简单,连续域和离散域都容易落地,适合作为第一版方案。

路径B是输入电压前馈补偿,将整流后的输入电压直接引入乘法器参考生成,让电流参考不再完全依赖电压环的缓慢响应。这个方法对电网电压突变有不错的抑制效果,但对固定相位滞后改善不明显。

路径C是在数字控制器里做电网电压相位估计,用DPLL锁定电压相位后,在正弦参考表里直接修正相位角。这种方案最灵活,可以在任意相位上做加减补偿,但工程实现量也最大。

在我这次PLECS仿真里,路径A足够说明问题效果,所以下面都围绕它的实现展开。

2.4 为什么只提高电流环带宽解决不了

有些同学看到相位滞后,第一反应是加大电流环比例增益,把带宽往上提。这个直觉在伺服电机控制里成立,但在PFC里并不完全正确。

电流环的作用是跟踪参考电流,而参考电流本身才是相位的“源头”。如果相位滞后主要是电压环调制和电网动态造成的,电流环做得再快也只是忠实地把滞后的参考放大出来。我在仿真里做过对比试验:单独把电流环Kp提高50%,输入电流的高频纹波确实减少了,但基波相对电压的相位几乎没动;而加入超前网络后,电流波形的峰值点和过零点明显前移,PF和THD同时改善。所以相位补偿这件事,必须要在参考侧做文章。

3. PLECS建模实操:功率级、控制环和补偿模块搭建

3.1 功率电路参数估算

我这次仿真设定为220Vrms输入、380V输出、1kW额定功率,开关频率65kHz。先算输入电流有效值:假设效率0.9,输入功率约1.1kW,Iin_rms=1100/220≈5A,峰值电流约7A。

电感值的选取要看电流纹波。Boost电感在占空比D=0.5附近纹波最大,按纹波电流约为平均电流的30%来取,可以推导出L≥Vin×D/(fsw×ΔIL)。取Vin≈190V、D=0.5、ΔIL≈1.5A,算出来的L约为1mH。我实际取了1mH,电感电流峰峰纹波约1.46A,符合预期。母线电容按100Hz纹波电压控制,取470μF/450V,实测纹波约9V,足够。负载电阻用纯阻性负载,380²/1000≈144Ω,仿真开始阶段先挂额定负载,后面再做阶跃。

注意:仿真初期建议全部使用理想开关模型,先把控制逻辑跑通,再慢慢加入导通压降、寄生电阻这些非理想因素。一上来就堆损耗模型,调试时很难分辨到底哪个环节在拖后腿。

3.2 控制环路的PLECS信号连接方式

PLECS的特点是把电路网络和控制信号字网络分开,搭建时要注意元件域别搞混。功率电路用电气域元件搭建,包括交流源、整流桥、电感、开关管、二极管、母线电容和负载电阻。控制回路全部用信号域元件,通过Voltage Sensor和Current Sensor把母线电压和电感电流“翻译”成信号。

控制侧的具体连接顺序是:母线电压采样值输入电压环PI,电压环输出作为乘法器的幅值系数;整流桥后的输入电压采样送到乘法器的另一个输入,两者相乘得到正弦形式的电流参考;电流参考与实际电感电流做差,进电流环PI,输出经过限幅得到占空比;最后接PWM调制器,生成门极信号驱动开关管。乘法器的限幅很重要,电压环输出如果没限幅,启动瞬间很容易冲到很大值,电流参考饱和后功率管会一直导通,仿真直接就飞了。

3.3 相位补偿模块的具体建模

一阶超前网络在PLECS里实现非常直接,用一个Continuous Transfer Function元件,输入接电流参考信号,输出接电流环给定。我设置的起步参数是fz=200Hz,fp=2kHz,对应Tz=1/(2π×200)≈7.96×10⁻⁴s,Tp=1/(2π×2000)≈7.96×10⁻⁵s。这个参数组合在100Hz附近大约能提供10°~15°的相位超前。

不过我要提醒一句:超前网络并不是超前越多越好。补偿过多,电流参考会在过零点附近出现“提前导通”的假象,导致输入电流过零区间产生额外尖峰,THD反而恶化。正确做法是把补偿角度设成可调参数,从0开始慢慢加,同时观察输入电流波形和FFT结果,找到THD出现拐点的位置停下来。

3.4 求解器与收敛性配置

PLECS仿真性能很好,但设置不当照样会收敛失败。我习惯用变步长求解器,然后把最大步长限制在开关周期的1/10以内。65kHz开关频率对应周期约15.4μs,所以最大步长设成1μs也勉强能用,但我实测下来会丢失一些PWM边沿细节,建议设成0.1μs或者0.2μs,每个开关周期可以采样到70个点以上。

仿真的初始条件也要处理。母线电容不设初始电压时,仿真一开始会有一个剧烈的预充电过程,电流环很容易饱和。我习惯把母线电容初始电压设置到额定值的80%左右,比如300V,让系统在接近稳态的位置开始运行。这个操作对加速稳态分析特别有效,但如果你要研究启动浪涌,就必须从0开始。

4. 控制器参数整定的计算流程与调试顺序

4.1 电流环PI参数的工程计算

Boost PFC电流环的被控对象近似为占空比到电感电流的传递函数,在CCM模式下基本可以看作一个积分环节:Gid(s)=Vin/(s×L)。设计穿越频率fc时,取开关频率的1/13~1/10都有工程依据,我按5kHz来设计。PI的比例系数可以估算为:

Kp = 2π×fc×L / Vin_peak

Vin_peak取正弦峰值311V,L取1mH,代入后Kp≈0.10。积分系数Ki则把PI零点放在fc/4附近,比如1.25kHz,Ki=Kp×2π×1250≈785。这个数值可以作为初始值,然后在仿真里微调。

电流环PI输出就是占空比,必须加限幅。理论上Boost占空比范围在0到接近1之间,但实际工程里我会限制在0.05到0.95之间。下限留一点能让电流环在轻载时维持约束力,上限留出一点保护,避免启动瞬间占空比顶满导致电感饱和。

4.2 电压环PI参数的工程计算

电压环的对象近似为Vbus/(s×C),但乘上了电压采样比和乘法器系数之后,直接用公式算容易偏。我建议先用经验值开局:Kp取0.005左右,Ki取1左右。然后给母线电压参考做一个阶跃,比如把输出目标从360V跳到400V,观察母线动态。

如果母线电压出现持续低频振荡,说明Kp偏高,往下调一半再试;如果稳态误差一直收不掉,说明Ki不够,按2倍往上加。电压环的穿越频率目标在10~20Hz,这个低频目标决定了它的响应速度天然很慢,所以观察母线动态时要放到足够长的时间窗口,至少200ms以上,不要只看前几十个毫秒就下结论。

4.3 调试顺序与整定步骤建议

多环联动调试最容易翻车,我每次都按这个顺序来,每步确认无误了再加下一层:

  • 先用固定占空比50%开环驱动Boost开关管,确认电感电流和母线电压变化趋势符合Buck-Boost的基本关系;
  • 然后把电流环单独闭合,把电流参考设成一个直流常数,比如5A,验证电流环的稳态跟踪能力和动态响应;
  • 接着把电压环闭环接上,但暂时用固定乘法系数代替输入电压包络,观察母线稳压效果;
  • 再接上整流桥采样和乘法器,恢复正弦参考,观察输入电流波形;
  • 最后才加入相位补偿模块,做相位和THD的细调。

这样做的原因是每一步都只面对一个问题:开环看电路参数,电流环看控制带宽,电压环看稳压动态,乘法器看参考生成,补偿模块看相位修正。哪一步不对就回到哪一步修,省掉大量排查时间。

4.4 离散化与数字控制预留

如果最终目标是DSP或者MCU实现,仿真阶段就要考虑离散化。PLECS可以在控制信号域使用ZOH和Unit Delay元件来模拟采样保持和一拍延迟。控制频率取10kHz,PWM频率65kHz,每个PWM周期采样一次电流,每N个PWM周期执行一次电压环。

离散PI可以用后向欧拉形式实现,写成迭代式直接在离散域搭建。关键点是延迟拍数要建模进去,否则仿真稳定但实物发散。加入这些延迟后,相位补偿模块的作用会更明显——数字控制的一拍延迟在65kHz PWM时大概对应7.7μs,折算到100Hz就是0.28°,看似不大,但加上采样滤波和PWM更新量化误差,累计起来能到几度,补偿网络正好补这一块。

5. 仿真结果怎么看:静态指标、动态响应和补偿效果的验证

5.1 从输入电流波形判断相位是否对齐

仿真跑稳态后,同时把电网电压波形和整流桥前端的输入电流波形拉出来看。判断相位是否对齐,最简单的办法是看两者的峰值点和过零点是否对应。用PLECS波形窗口的Cursor可以量出电压过零点到电流过零点的时间差,把这个时间差乘以100Hz对应的角频率,就是基波相位差。

不补偿时,我的模型测出来滞后约12°,对应功率因数约0.985。加入超前网络并调整参数后,滞后缩到约3°,PF升到0.997。这里要特别提醒取样位置:输入电流观测点必须放在整流桥前的交流侧,如果放在电感支路,看到的是高频锯齿波和馒头波叠加的样子,没法直接评估电网侧相位。

5.2 THD/PF计算与指标对比

我在仿真里把数据导出后用FFT分析,取整周期的样本避免频谱泄漏。THD的定义是除基波外所有谐波能量和基波的比值,功率因数近似用PF=cosφ/√(1+THD²)来算。这里的cosφ是基波位移功率因数,THD是畸变因数。所以PF下降既要看相位滞后,也要看谐波含量,两者是独立的。

一个直观的对照结果如下:

配置基波相位差THDPF
无相位补偿滞后12°9.8%0.985
加超前网络滞后3°4.6%0.997

相位补偿后THD下降的主要原因,不是补偿本身直接滤掉了谐波,而是过零附近电流畸变缓解后,3次、5次谐波分量大幅缩减。这个趋势和功率分析仪上看到的现象非常一致。

5.3 负载阶跃动态验证

控制设计不能只看稳态。我在仿真里把负载从144Ω突变到240Ω,也就是功率从1kW降到600W,并保持补偿模块在线。结果母线电压过冲约35V,恢复时间大约120ms,输入电流在过渡过程中短暂畸变后回到正弦形态。这说明电压环和电流环的裕量都是够的。

如果母线电压在阶跃后出现来回振荡,多半是电压环Kp太大;如果电流波形在恢复过程中频繁进入限幅,说明乘法器输出限幅值设置得太紧,要把参考电流上限按峰值电流的1.2倍来放宽。相位补偿网络也要在动态过程中观察:母线电压跌落时参考幅值变大,超前网络对过零点的相位修正依然稳定,才算真正通过验证。

6. 实测中的坑和心法:从PLECS到实际样机的距离

6.1 PLECS建模最容易忽略的细节

仿真看似比实物简单,但恰恰因为简单,很多细节会被忽略。第一个坑是仿真步长。步长设置太大会让开关边沿失真,谐波分析结果完全不可信;步长又直接影响运行速度,所以我一般取开关周期的1/50到1/100之间,既能看清纹波,又不至于慢到无法调试。

第二个坑是寄生参数。纯理想模型对THD的评估过于乐观,建议给电感串一个0.1~0.2Ω的等效电阻,给母线电容串一个0.1Ω的ESR,整流桥二极管加0.7V的导通压降。这些参数加入后,THD通常会上升1~2个百分点,反而更接近实测值。第三个坑是启动初始状态,不预充母线电容的话,启动瞬间的浪涌会让仿真看起来像系统不稳定,其实只是初始条件没处理。

6.2 控制参数移植到实际数字控制时的差异

PLECS仿真给出的PI参数虽然可信,但直接拷贝到样机上往往会发现电流环出现振荡或者噪音偏大。原因主要有几方面:采样电路的增益误差、ADC量化噪声、PWM死区时间、驱动芯片的传播延迟。实际样机上把电流环Kp降低20%~40%是常见操作,电压环Kp也会小幅下调。

相位补偿模块移植前一定要把超前网络的零极点参数做成可调变量,留出外部配置接口。上实机后从0开始慢慢加补偿量,同时盯着功率分析仪的PF读数和输入电流波形。如果波形在过零附近开始出现“提前导通”的迹象,就说明补偿过头了。仿真最大的作用其实是给出参数调整的边界和趋势,比如已经知道Kp超过某个值后电流环共振,实机调试时就直接绕着这个值走。

6.3 扩展方向与一点个人体会

这次Boost PFC平均电流控制的仿真模型,后续做几个方向都还有价值:加入输入EMI滤波器后重新评估相位补偿参数,因为滤波器电容本身就会引入相位滞后;把单相拓扑扩展成无桥或者图腾柱拓扑,控制策略会有细节变化;再加入数字控制延迟的精细建模,可以更精确地预测实机性能。

我个人的体会是,PFC仿真真正的价值在于把控制结构和参数区间摸清楚,而不是追求参数一步到位。尤其是电流相位补偿控制这种偏细节的优化点,不做仿真直接上实机调,你会分不清到底是电感选大了、环路慢了还是参考信号相位飘了。仿真里能先把补偿机制验证闭环,实机上就只剩下参数微调这一步。最后分享一个小技巧:相位补偿超前网络的零点频率,可以先按电网电压周期乘上预期补偿时间(把电流环群延时、数字控制一拍延时、采样滤波延时加起来)来估算,再在仿真里做±50%调整。按这个方式起步,通常半个工作日就能把PF稳定调上0.995。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询