前阵子调一台三相LCL型并网逆变器样机,卡在最后一道关口上:并网电流THD怎么都压不进5%。功率分析仪测出来一直在6%上下浮动,5次和7次分量特别显眼,同时还伴有一点高频毛刺。后来把电容电流反馈、电网电压全前馈、5/7/11/13次谐波补偿三套策略放到一起,重新整定参数,总算把THD稳定在了3.5%附近。我复盘完整套思路,觉得这三个点很适合拆开讲,正好又都是LCL型并网逆变器项目里绕不开的控制重点。这篇内容不是纯理论堆砌,而是从工程调试角度看这三套策略分别解决什么问题、参数怎么选、有哪些坑,希望能给做并网变流器、光储逆变器或者电能质量方向的朋友一点直接能用的参考。
1. 拆开标题看门道:LCL、阻尼、前馈、谐波抑制各自的角色
1.1 LCL滤波器带来的滤波收益和“三阶系统的脾气”
先用一句话交代为什么要用LCL。同样是滤高频开关纹波,单个电感L要做到同样的抑制效果,电感值得选得非常大,体积、重量、铜损全部上去。LCL用两个小电感和一个电容组成三阶滤波网络,高频段的衰减速率比单L高得多,因此在相同体积和损耗约束下,滤波效果更好。代价是:三阶系统在某个频率附近会出现一个明显的谐振峰,相位从-90°直接穿过-180°,这个峰如果不处理,电流环很难稳定。所以“滤波效果好”和“稳定性难保证”永远是LCL滤波器的两面。
很多人刚接触LCL时容易犯一个错,就是只盯着“滤波器衰减特性”看,觉得谐振峰反正离开关频率远,可以不管。实际上谐振频率往往在2到4kHz左右,而电流环带宽通常会设计到500Hz到1kHz,两者频带并不远。一旦电网阻抗波动、电容老化或者温度漂移让谐振点发生偏移,就可能掉进控制带宽范围内,系统会在某个瞬间突然啸叫或失控。
1.2 三套控制策略的分工边界和叠加顺序
标题里其实包含了三套控制策略,它们各管一摊:
- 电容电流反馈:负责压制LCL谐振峰,本质是给系统加阻尼,解决稳定问题;
- 电网电压全前馈:负责把电网电压扰动(包括基波和背景谐波)在控制环路里提前抵消,改善动态响应和并网点波形;
- 5、7、11、13次谐波补偿:针对电网低次谐波和逆变器自身低次纹波,用多个谐振控制器做选择性补偿,把THD压进目标值。
我见过不少初学者把这三件事混在一起调,结果越调越乱。正确做法是先定阻尼,再整定主电流环,然后加前馈,最后才加谐波补偿。顺序换过来,波形上的好转很容易被误判成某一步的功劳,后面一旦出问题,你就根本不知道应该动哪个旋钮。打个比方,这就像先给房间装好承重墙,再去贴隔音棉,最后才做声学细调,而不是先贴棉再敲墙。
2. 电容电流反馈有源阻尼:压住谐振峰的底层原理
2.1 从传递函数看谐振峰怎么出现
LCL滤波器里,逆变器侧电感L1、滤波电容C、电网侧电感L2构成一个三阶对象。忽略电阻时,从逆变器输出电压到并网电流的传递函数可以写成:
Gid(s) = 1 / [s(L1 + L2 + s² L1 L2 C)]
这个式子很有意思:低频段,它近似为1/[s(L1+L2)],也就是一个积分环节串联一个总电感;高频段,它近似为1/(s³ L1 L2 C),斜率变陡,滤波效果确实好。问题出在中间,当分母里的s²项让系统产生一对虚轴极点时,传递函数在这个频率处会出现尖峰。
令s²(L1+L2)和 -1/(L1 L2 C)的条件满足,可以得到谐振频率:
f_res = (1 / 2π) √[(L1 + L2) / (L1 L2 C)]
在我后面给出的算例参数下,谐振频率约2.5kHz。在这个频率附近,增益会冲上去一个尖峰,相位则快速往-180°以下掉。如果控制环路在谐振点附近还有增益,系统很可能会在谐振频率处振荡,表现出来就是并网电流里叠了一层稳定的高频振铃,严重时直接过流保护。这个频率下的谐振峰,就是LCL系统最“拧”的一颗螺丝。
2.2 反馈为什么能“变”出一个虚拟电阻
传统做法是在电容支路里串联或并联电阻,叫无源阻尼。耗能元件直接把谐振峰削平,简单可靠,但坏处也很明显:电阻上持续流过电容无功电流,损耗不可忽略,在大功率场合还得解决散热。功率等级越高,这个方案就越不划算,而且电阻一旦发热漂移,阻尼效果也跟着变。
有源阻尼的思路是不额外加发热元件,而是通过控制算法让逆变器“模拟”出一个电阻效果。电容电流反馈是其中应用最广的一种:把滤波电容上的电流采回来,乘以一个系数后叠加到调制波上,等效于在电容支路上并联了一个虚拟电阻。从能量角度看,这个虚拟电阻能阻尼谐振回路里的振荡能量,但系统里没有任何物理电阻在发热,损耗近似为零。
关键点是“等效”两个字。电容电流和电容两端电压变化率直接相关,把电容电流反馈进调制器,相当于改变逆变器输出电压与电容电流之间的阻抗关系,宏观效果和并联电阻一样,但实现手段是算法。所以这个策略很适合大功率变流器,也适合对效率敏感的储能、光伏并网逆变器。
2.3 阻尼系数的折中:采样点、噪声和微调
虚拟电阻的取值有一个粗略的出发点:先按无源阻尼的经验公式估算一个“特征阻抗”√(L_total/C),作为虚拟电阻的大致量级,再根据仿真或实测的谐振峰衰减效果上下调整。反馈系数的换算关系大体是 Kd ≈ Rd × C,其中Rd是虚拟电阻目标值,Kd是反馈叠加到调制信号的比例系数。实际数值还需要折合直流母线电压、采样比例和调制方式的影响,所以工程中往往是先给一个初值,然后现场微调。
这里要特别注意:阻尼系数不是越大越好。系数太小,谐振峰压不住;系数太大,电容电流里的开关纹波噪声会被放大,调制波上出现很多毛刺,反而让电流波形变差。我调过的一台机器,阻尼系数微调超过20%之后,THD从3%涨到5%以上,原因就是噪声被放大。
采样上最容易出问题的是电容电流的采样时刻。电容电流里含有开关纹波,如果ADC采样点落在开关管开通或关断瞬间,采样值会叠加很大的噪声,反馈进来不仅不阻尼,反而引入毛刺。我的习惯是把PWM载波设计成三角波,ADC触发点放在载波的波峰或波谷时刻,也就是开关器件的中心点附近。这时候采样到的电容电流相对平滑,阻尼效果才真实。另外,电容电流的采样分辨率要足够细,否则小信号下反馈量化误差会直接影响阻尼的强弱。
3. 电网电压全前馈:把电网当作看得见的扰动源去抵消
3.1 电网电压扰动为什么不能靠反馈兜底
并网逆变器不是工作在理想电压源环境里的。实际电网存在背景谐波、电压跌落恢复、幅值波动,这些扰动会通过电网侧电感L2和电容C的阻抗网络直接耦合到并网电流,轻则让波形失真,重则启动瞬间出现冲击。
如果只靠电流反馈去抑制这些扰动,控制带宽是有限的。反馈环在低频段增益高,能压住;到了中高频段,增益一旦降下来,扰动抑制能力也随之下降。任何反馈控制都有这个本质约束。而前馈的思路完全不同:既然电网电压是可以测量的,那就提前把它的影响算出来,加一个相反的补偿量到调制波里。扰动还没传进电流环,就已经被抵消了,这是一种“开环式”的对抗,频带限制小得多。这也是标题里把“电网电压全前馈”单独点名的原因。
3.2 全前馈的本质:匹配扰动路径,而不只是比例补偿
电网电压前馈有简繁之分。最简单的做法是把电网电压直接乘以一个比例系数叠加到调制信号,比如dq旋转坐标系里把Vgd、Vgq前馈进电流调节器输出,抵消基波电压分量。这在很多PI控制的逆变器里已经很常见,也是实现成本最低的做法。
但“全前馈”不满足于只抵消基波。从LCL的拓扑结构看,电网电压到并网电流的扰动传递函数不是纯比例关系,还包含由L1、L2、C决定的频率特性。理想的全前馈函数,应该和这个扰动传递函数相匹配,在频域里表现为包含比例项、一阶微分项、二阶微分项的组合。从控制论上说,这相当于利用模型逆来抵消扰动的全部传输路径。
实际控制中,电网电压的背景谐波体现为dq分量里的几十到几百赫兹波动,全前馈把这些波动也补进调制波里,让逆变器主动“吐”出与电网谐波电压对应的补偿电压,而不是等电流误差作用完了才去补救。所以全前馈的“全”字,指的是完整补偿模型,不是单纯加一个比例系数。在数字控制里,我通常把它实现成比例项加上一阶/二阶差分项的组合,并配合低通滤波。这样设计的好处是:电网电压里的基波、低次谐波都能得到补偿,而开关频率附近的测量噪声不会直接被放大进调制波。
3.3 数字实现里的延时、滤波与启动限幅
数字控制里,电网电压一般只能拿到一拍之前的采样值,天然有一个周期延迟。完全精确的前馈做不到,但工程上没有必要追求绝对完美。前馈的目的是把大部分扰动提前抵消,剩下的残差交给反馈环和谐波补偿器处理。我通常在相加之前对采样到的电网电压做两级滤波:一级是模拟抗混叠滤波,一级是数字低通,转折频率设在开关频率的1/10左右,比如1kHz。这样既保留前馈需要的谐波成分,又把开关频率附近的尖刺挡在环路外面。
还有一个很容易被忽略的问题:启动瞬间的电网电压前馈量可能非常大。在母线电压还没稳定、锁相环还没完全收敛的时候直接全量前馈,并网瞬间会顶出很大的冲击电流,严重时直接触发硬件保护。我的做法是给前馈量做斜坡投入,分成几个毫秒逐步从零加到满值,同时在软件里限制单拍前馈步长。这样电网电压剧烈波动时,前馈不会像锤子一样猛砸调制波。
4. 5、7、11、13次谐波补偿:THD压进5%的关键设计
4.1 三相系统里为什么是6k±1序列
三相三线系统里,3的倍数次谐波是零序分量,没有通路流入电网,所以电网上最常见的背景谐波是6k±1次:5、7、11、13、17、19……其中5次负序,7次正序,11次负序,13次正序。不同谐波源产生的谐波成分不一样,但5、7次往往是占比最大的,11、13次也常见于整流类负载。标题里只挑5、7、11、13,在工程上是一种清醒的选择:用最少的谐振支路踢掉贡献最大的几路谐波,既不浪费计算资源,也尽量少侵蚀相位裕量。
如果THD目标是5%,那低压三相并网场景里常见标准对5次、7次也有单独限额,所以不能只盯着总THD。我习惯把设计目标定得比5%更狠一点:先按照THD压在3.5%左右去设计补偿器,给实际电网波动、温度变化留出余量。也就是说,标题里的“THD<5%”不是用满5%去做设计,而是把内部目标设在更严格的区间,最后留出工程余量。
4.2 多谐振控制器的结构和参数选择
在αβ静止坐标系里,低次谐波都是固定频率的交流量,直接对应多个谐振频率。我常用的结构是“基波PR + 多谐振补偿”:
G(s) = Kp + Kr1 × (2ωc s) / (s² + 2ωc s + ω0²) + Σ Krn × (2ωc s) / (s² + 2ωc s + (nω0)²),其中n取5、7、11、13。
每个谐振支路都只在自己中心频率附近提供很高的增益,对其它频率基本不关心。这样做的好处是选择性非常强:加5次补偿,它不会把11次的波形搅乱。同时也能理解为什么不能只靠增加Kp把波形压好,Kp大了会把整个频带的噪声都放大,而谐振支路的带宽始终可以被窄带的ωc约束在几百赫兹以内。
ωc的选择是个权衡。取大了,对电网频率偏移的容忍度好,但会在中心频率附近拖出一条较宽的增益带,影响相邻频率甚至碰响LCL谐振峰附近的中频段;取小了,补偿带宽很窄,一旦电网频率偏离或锁相环有一点静态误差,补偿效果就衰退。我的经验是ωc取2π×5到2π×10 rad/s,也就是5到10Hz半径。这个范围既覆盖电网实际频率波动,又不会让各谐振支路互相打架。
4.3 补偿支路的叠加和投入策略
多谐振控制器并不是越多越好。每多一个谐振支路,它在低频段都是滞后性质的,叠加多了,主电流环的相位裕量会被吃掉。我在实测中遇到过加完17、19次补偿后系统在弱电网下振荡的情况,后来把多余的谐振支路关掉才稳下来。所以要克制,只保留对THD贡献最大的几次。
参数整定的顺序也很重要。我先整定出基波PR的Kp、Kr,保证主环稳定;然后从5次开始逐个增加谐振支路,每加一个就看一次相位裕量的变化,并把Kr控制在一个合理范围内。我见过有人把某个谐振支路的Kr调得特别大,结果是该频率上电流反而出现小幅振荡,那是因为支路增益过高之后,和数字延迟一起形成了局部负阻尼。正确做法是让补偿强度跟随并网电流的有效值做一个归一化,轻载时少补一点,重载时多补一点,避免轻载下THD因分母变小反而飙高。
5. 一套可以照抄的参数算例与整定过程
5.1 主电路参数和控制目标
为了不让你只看着概念飘着,我把一套调试时实际用到的参数列出来。这套参数对应一台30kW三相并网逆变器,你可以按这个思路去做你自己的装置:
| 参数 | 数值 | 说明 |
|---|---|---|
| 额定功率 | 30kW | 三相并网 |
| 电网电压 | 380V / 50Hz | 线电压有效值 |
| 直流母线电压 | 700V | 额定工作点 |
| 开关频率 | 10kHz | 采样与PWM同步 |
| L1 | 1.2mH | 逆变器侧电感 |
| L2 | 0.6mH | 电网侧电感 |
| C | 10μF | 滤波电容(星形等效) |
| 虚拟阻尼电阻 | 约13Ω | 初始折算参考值 |
按这套参数算出的谐振频率约2.5kHz,离10kHz开关频率还有很大距离,留出了阻尼空间。额定电流约45.6A,总电感1.8mH在工频下的感抗约0.57Ω,电流流过时产生的压降接近相电压的12%,这是LCL设计里比较常见的折中比例。开关纹波电流的峰值大约为直流母线电压、开关周期和L1三者共同作用的结果,算下来约占额定峰值电流的7%左右,对母线电容和并网电流来说都可接受。
5.2 电流环与阻尼的整定顺序
第一步先把电容电流反馈系数放进去,在仿真模型或实际控制器里扫一遍谐振频率处的增益,确认谐振峰被压到0dB以下,同时观察是否有高频毛刺放大。第二步整定电流外环,用开环Bode图看穿越频率,一般安排在500Hz到1kHz之间,留40°以上的相位裕量。Kp从较小的值开始往上拉,拉的时候盯住谐振频率附近的增益有没有重新冒头,如果冒头,就回头稍微加大一点阻尼系数。
这里有个工程经验:电流环带宽不要超过采样频率的1/10。对10kHz采样来说,1kHz是上限附近了。带宽设得太高,数字控制的拍延迟影响就大,相位裕量很难保住;设得太低,动态响应又跟不上,电网波动时波形恢复很慢。我在多次调试中更偏向把带宽放在600到800Hz之间,整套系统的“手感”最稳。
单靠Kp是压不出低THD的。Kp只决定基波跟踪和中频段的动态响应,对5次、7次的稳态误差,必须靠对应频率的谐振支路去削减。这也是一个常被新手误解的点:以为把比例增益调大,所有次谐波都会变小。实际上比例增益把有用信号和噪声一起放大,换来的可能只是整体波形变“毛”。
5.3 谐振支路的离散化与调试台账
离散化时我习惯用双线性变换(Tustin)并做预畸变,保证离散后谐振峰位置和连续域一致。每个谐振支路在DSP里就是二阶差分方程,形式大致是:
y[k] = b0·e[k] + b1·e[k-1] + b2·e[k-2] - a1·y[k-1] - a2·y[k-2]
系数b0、b1、b2、a1、a2由ωc、中心频率和采样周期决定。实际电网频率不是永远精确50Hz,所以谐振器中心频率最好跟随锁相环输出的实时频率,锁相环已经给出频率信息,直接用它更新谐振器系数即可。
我建议在调试时建一个简单的表格,每加一路补偿就记录四样东西:本路Kr、主环相位裕量、目标谐波幅值、总THD。这样你可以清楚看到哪一路补偿有效、哪一路在消耗相位裕量却没什么收益。我几次遇到问题回头看台账,都能很快定位到当时是动了哪个参数才引发了振荡。
6. 仿真、样机验证和现场排查经验
6.1 分阶段建模,不把问题混在一起
我不是一上来就搭完整的并网模型,而是把仿真拆成三个阶段。阶段一只跑LCL空载和阶跃响应,观察谐振频率处的波形,确认阻尼参数的作用;阶段二搭电流内环和电网电压前馈,在理想电网和带背景谐波的电网两种工况下分别看网侧电流;阶段三加入多谐振补偿,用FFT逐次查看各谐波分量的降幅。
之所以拆这么细,是为了避免问题混在一起。之前有个模拟项目,前馈和补偿器同时加进去,波形确实变好,但说不清是哪个环节起主要作用,后面微调时就没了依据。分开之后,每个阶段的变化都能归因到具体参数,调试效率反而更高。
6.2 样机调试和测量细节
实机调试的流程和仿真类似,但有几个细节是仿真里看不见的。第一,并网瞬间前馈给太大,接触器合闸瞬间会顶出冲击电流,我通常让前馈量在几个毫秒内斜坡投入,等锁相环稳定后再加谐波补偿。第二,谐波补偿支路不要在并网瞬间全开,先让基波回路稳定几十毫秒,再逐步把5、7、11、13支路的Kr从零加到设定值。第三,功率分析仪的电流钳尽量挂在电网侧电感之后,并注意探头方向,否则测出来的相位会误导你对补偿正负的判断。
除了纯THD数值,我还会额外看并网电流的d、q分量波形。比如5次负序在dq坐标系里表现为6倍频波动,7次也表现为6倍频波动,但相位特征不同。如果补偿量加对了,dq分量里的6倍频纹波会明显减小。这是快速确认补偿效果、又不完全依赖频谱仪器的土办法,实测很管用。
6.3 弱电网与轻载两个特殊工况
我印象最深的一次,是一台装置在实验室里THD做到了3%,到了现场电网容量很弱,5次谐波补偿一投入,电流反而振荡。排查下来发现:弱电网下电网阻抗变大,LCL的等效谐振频率被改变了,正好和5次补偿支路的频率靠得比较近,谐振支路把电网阻抗和LCL形成的复谐振峰激励起来了。处理办法是降低5次支路的Kr,同时把阻尼系数往上提一点,让谐振峰离补偿频率更远。这个例子提醒我,谐振补偿器不是“加进去就完事”,它的效果和并网点短路比、电网阻抗强相关。给不同现场做装置时,参数不能一套走天下。
另一个反差很大的问题:补偿器加多了以后,轻负载下THD反而升高。原因是轻载时基波电流很小,同样的谐波电流在THD分母里的占比变大了。这时候不要盲目加增益,正确做法是让补偿强度跟随有功功率做一个前馈式调节,或者直接按并网电流有效值对Kr做归一化。轻载场合宁可适当减小补偿强度,也不能为了追求满载THD好看而牺牲整个负载范围内的稳定性。
对这套策略,我自己的体会是:单独看每一环都不算复杂,难的是三环配合的整定顺序和参数边界。电容电流反馈先稳住谐振频率附近的幅频特性,电网电压全前馈在中高频段把扰动提前“抹掉”,多谐振补偿器则在关键谐波频率上做精准收口,三者缺一不可。如果你也在调LCL型并网逆变器,建议先按“阻尼→主环→前馈→补偿”的顺序搭控制,再根据现场的THD频谱逐项对应调整,每次只动一个变量,记录下THD和相位裕量的变化,你大概率能比我更快把波形调合格。