最近一直在跟并网逆变器仿真较劲,手头这个活儿很典型:在PLECS平台上做一套10kW三相并网逆变器的同频控制方案,顺便把线路滤波参数从头到尾算一遍。所谓同频控制,就是让逆变器输出电压/电流跟电网电压严格保持同频同相,这是并网能正常工作的前提;而线路滤波参数设计,决定了并网电流里谐波到底能压到什么程度。这两件事分开看不难,放在一起做就会发现,控制方案的带宽、阻尼和滤波器参数其实是互相咬合的,一个参数动,另一个也得跟着调。
这篇内容适合正在搞并网逆变器仿真、或者准备从Simulink转到PLECS做电力电子联合仿真的工程师,也适合刚入门想做LCL滤波器设计的同学。我会按实际调试的顺序,把PLECS建模、同频控制的锁相环和电流环、LCL参数计算、仿真验证和踩坑记录都过一遍,尽量把每一步怎么想、怎么算、怎么看波形讲清楚。
1. 先理清思路:并网逆变器要同时抓住“频率”和“谐波”
1.1 同频控制到底在控制什么
并网逆变器接的不是普通负载,是电网。电网是电压源,频率和相位基本固定,逆变器本质上是一个受控电流源或受控电压源,它必须把自己的输出“贴”到电网电压上。如果输出频率跟电网不一致,或者相位差太大,最直接的结果就是有功功率振荡、无功功率失控,严重的时候过流保护直接跳闸。所以“同频控制”不是一个模糊的要求,而是指通过锁相环实时跟踪电网电压的角度,让逆变器输出的dq轴电流指令能被精确地解耦控制。
从控制结构上看,常见方案是电压外环加电流内环,外环维持直流母线电压,内环控制并网电流。本文只聚焦电流内环这一层,因为滤波参数、锁相环性能、电流环带宽都在这层耦合。先想清楚一个事:电流环是放在dq同步旋转坐标系里的,电网电压的基波分量在dq轴下是直流量,PI控制器可以直接做到无静差跟踪。如果坐标系角度跟电网实际角度有偏差,直流量就会变成交流量,PI就压不干净,电流就会出现低频振荡。这就是为什么锁相环必须先行,而且必须做准。
1.2 滤波器的分量:L、LC、LCL各自的角色
逆变器是PWM调制出来的方波/马鞍波,输出电压里塞满了开关频率附近的高频谐波。这部分谐波直接灌进电网,不仅THD超标,还可能影响别的设备。线路滤波器就是在逆变器桥臂和电网之间加一道“低通屏障”。
L滤波最简单,一个电感搞定,高频-20dB/十倍频衰减,但要把THD压到5%以下,电感值往往要做得很大,体积和压降都受不了。LC滤波在逆变器侧并联电容,对高频有分流作用,但并网场景下电网侧是电压源,LC电容容易被电网阻抗“架住”,效果打折扣。LCL滤波在电网侧再加一个电感,形成二阶低通特性,高频段衰减是-40dB/十倍频,同样衰减要求下总电感量比L小很多。代价是LCL有谐振峰,参数设计不好或者缺阻尼,会在谐振频率附近放大谐波,这就是后面我要重点讲的部分。
2. PLECS建模上手:主电路与控制环怎么搭
2.1 为什么选PLECS而不是通用SPICE级工具
我用PLECS做这个验证,核心原因是它把电气主电路和控制环路放在同一个环境里。传统的SPICE级工具擅长器件级仿真,但要让控制环路跟主电路无缝交互,得反复搭传递函数、做等效电路,工作量大。PLECS里可以直接拉一个IGBT三相桥,控制部分用库里的PI控制器、积分器、比较器搭出来,甚至拉起示波器和FFT分析模块直接在同一个面板上看波形,这种“电路+控制一家亲”的体验,效率高很多。
另外PLECS的仿真速度确实快,因为它在离散时间步长下对开关和线性元件做状态空间平均处理,不需要像SPICE那样每个开关周期做非常细的牛顿迭代。同一套系统,PLECS比SPICE级工具快一到两个数量级。代价是开关细节不精确,比如死区效应只能近似建模,但对控制方案验证来说完全够用。我建议的流程是:PLECS做控制+滤波参数的快速验证,发现问题后再用更精细的器件级工具去复核死区、损耗这类细节。
2.2 主电路搭建与关键元件设置
我在PLECS里搭的主电路就是标准三相全桥:直流电压源(模拟前级输出,我这里设定700V DC)、三相两电平IGBT桥、LCL滤波器、三相电网电压源。
元件路径大致是:
- 直流源:Electrical Sources > DC Voltage Source,设700V
- 三相桥:Electrical > Power Semiconductors > IGBT/Diode(用Three-Phase Bridge模块,选IGBT带反向二极管)
- 滤波电感:Electrical > Passive Components > Series RLC Branch,把C设成0,R设成寄生电阻0.1Ω,L按计算值填
- 滤波电容:同样用Series RLC Branch,L设0,R设阻尼电阻,C设容值
- 电网:Electrical Sources > AC Voltage Source,三相各接一个,幅值按相电压峰值311V,频率50Hz,相位互相差120度
这里容易忽略的是电网电压源的连接方式。我习惯把三个交流源接成星形,中性点直接接地,然后LCL的电网侧电感分别接在三相相线上。这样做的原因是后面PLL要采样相电压或线电压,星形接法比较直观。
桥臂的开关管参数不用抠太细,PLECS里IGBT默认压降和导通电阻够用。但要注意设置“Snubber”或者忽略,不然很容易引入不必要的数值振荡。
2.3 控制环的搭建:PLL、坐标变换与调制信号
控制环我用PLECS的Control库搭,不把控制部分放到Simulink里,保持单平台调试。
- 电压采样:从电网侧采样u_ga、u_gb、u_gc,经过理想电压传感器转成控制信号
- Clark变换:把abc三相转αβ,直接写增益矩阵即可:α = (2/3)(a - 0.5b - 0.5c),β = (2/3)((√3/2)b - (√3/2)c)
- Park变换:利用锁相环输出的θ,把αβ转成dq
- 电流采样类似,只是采样量是逆变器侧电感电流
- 调制信号:电流环输出v_d、v_q,反Park变换到αβ,然后按空间矢量PWM或者正弦PWM生成三路调制波
有一个实践上的建议:调制波在生成之前,务必限幅,限幅值根据调制方式设。如果用的是SVPWM,调制波是马鞍波,限幅范围大概在±0.577Vdc;如果用的是SPWM,限幅在±0.5Vdc。这里的系数决定你最后的电压利用率,调错了输出波形立刻畸形。
3. 同频控制方案设计:锁相环与电流环的协同整定
3.1 锁相环的实现与参数整定
锁相环我用的最常规的dq锁相。原理不复杂:采样三相电网电压,Clark和Park变换成u_d、u_q。正常情况下,如果θ跟电网相位一致,u_q应该等于0,u_d等于电压幅值。于是问题变成一个调节问题:让u_q=0,PI控制器输出角频率修正量,加上电网基波角频率100π,再积分得到θ。
PI参数整定有个经验路径:锁相环带宽通常取10Hz到30Hz,带宽太低则动态响应慢,电网频率跳变时跟不住;太高则容易把电网背景谐波引进来。我习惯先设带宽25Hz左右,再根据被控对象的近似的增益换算PI。
具体算法上,电网电压幅值311V,Park变换后u_q对θ偏差的近似增益就是311。如果锁相环带宽25Hz,角频率ω_pll≈157rad/s,那么Kp_pll ≈ ω_pll / (增益) ≈ 157/311 ≈ 0.5,Ki_pll可以取10倍的Kp除以一个时间常数,或者直接用典型II型系统整定。我实际给的是Kp=0.4,Ki=8,仿真看u_q能快速归零,没有明显超调。这个参数不是唯一解,建议在PLECS里扫一下,看θ的跟踪波形有没有过冲。
3.2 dq电流环的PI参数计算实例
电流内环的被控对象,简化来看是滤波电感L和一阶惯性,外加PWM和数字控制带来的延迟。设计电流环带宽时,有个基本原则:电流环带宽要明显低于开关频率,一般取开关频率的1/10~1/20。我这个系统开关频率10kHz,期望电流环穿越频率取1kHz,大约是开关频率的1/10,留够了稳定裕度。
因为dq轴下电流环被控对象近似为一阶惯性环节:G(s) = 1/(Ls+R)。采用PI控制器时,按典型I型系统整定,把PI零点与被控对象极点对消,Kp和Ki的关系是 Ki/Kp = R/L。此时闭环带宽主要由Kp/L决定,如果期望电流环穿越频率ω_c = 2π×1000 rad/s,那么Kp ≈ ω_c × L ≈ 6280 × 0.0015 ≈ 9.4。这里取的是L=1.5mH也就是逆变器侧电感。Ki由零点对消得到:Ki ≈ Kp × R/L ≈ 9.4 × 0.1/0.0015 ≈ 627。
实际PLECS里我给的Kp=9,Ki=600,仿真效果不错。这里要注意一个问题:如果滤波器总电感里有电网侧电感L2,电流环被控对象其实是L1+L2的总电感,所以PI参数应该按总电感来算,否则带宽就不对。很多人第一次做LCL就会在这里栽跟头。
3.3 数字控制延迟对同频控制的影响
PLECS里如果开的是离散仿真,PWM更新和电流采样都会有延迟效应。两电平PWM典型延迟是1.5个开关周期(采样延迟1个周期加上PWM更新延迟0.5个周期),也就是约150μs。在电流环带宽1kHz时,150μs对应相位延迟约54度,如果完全不考虑,PI参数稍微激进一点就会振荡。
我的做法是电流环带宽不做太高,另外在电流环PI之后、调制波之前加了30度左右的相位补偿,相当于把数字延迟的影响预补偿一部分。更严谨的做法是设计无差拍控制或者加史密斯预估器,但工程上这个方案够用了。在PLECS里验证时,可以把PWM采样时刻设置为载波顶点居中采样,能有效减少采样延迟引入的谐波。
4. 线路滤波参数设计的完整计算链路
4.1 滤波方案选型:为什么工程上默认选LCL
并网逆变器滤波器选LCL,是并网标准和谐波抑制需求共同推出来的结果。L滤波想做到同样的高频衰减,电感值要大到不现实,电感上的基波压降大,动态响应也差。LC滤波在并网场合有缺陷,电网侧感抗很小,电容对高频分量的分流作用被电网短路掉大半。LCL既有总电感小的优势,又能在高频段多滚降20dB/十倍频,代价是谐振峰问题和多一个电感的成本。
选型对比表大致这样:
| 滤波器类型 | 高频衰减 | 谐振风险 | 电感总量 | 并网适用性 |
|---|---|---|---|---|
| L | -20dB/dec | 无 | 很大 | 小功率可接受 |
| LC | -20dB/dec | 无 | 中等 | 不推荐单用 |
| LCL | -40dB/dec | 明显 | 小 | 工程主流 |
当然LCL并不白给,谐振峰在低于开关频率的某个频点,如果阻尼不够,电流环带宽覆盖到谐振点附近,整个系统可能会啸叫。所以LCL参数设计的灵魂不是“算三个元件值”,而是“算完怎么压住谐振”。
4.2 LCL参数计算:电感、电容、谐振频率的约束
LCL设计一般按三步走:
第一步,定总电感量。约束条件有两个:一是基波压降,总电感上的压降一般不超过额定相电压的10%,防止并网功率因数和直流电压利用率太差;二是纹波电流,电感太小则开关纹波太大,一般允许纹波电流为额定电流峰值的15%~30%。
第二步,定电容值。滤波电容的主要约束是无功功率。电容太大,基波无功就大,功率因数被拉低;通常要求电容吸收的无功不超过额定功率的5%。公式是Q_c = 3×ω_g×C×V_ph²,算出C上限。
第三步,定L1/L2的分配和阻尼方式。L1和L2的比例一般在1:1到4:1之间,L1承担大部分纹波抑制,L2控制电网侧谐波。
谐振频率的约束很关键,它必须落在10倍基波频率和0.5倍开关频率之间。低于10倍基波,谐振频率离工频太近,低频段增益被抬高,基波附近谐波会被放大;高于0.5倍开关频率,PWM谐波会直接激励谐振峰。这个区间是个硬约束,设计完必须复核。
4.3 用一组10kW参数走一遍完整计算
拿我这套10kW三相并网逆变器来算一遍。额定线电压380V,相电压220Vrms,额定电流由P=√3×V×I×cosφ估算,cosφ按0.95,I≈10kW/(1.732×380×0.95)≈16A。直流母线电压700V,开关频率10kHz,电网频率50Hz。
先算总电感。总电感上的基波压降不超过10%相电压,即22V,总感抗X_Lmax=22/16≈1.375Ω,对应电感Lmax=1.375/(2π×50)≈4.4mH。所以总电感不能超过4.4mH。再看纹波约束。按纹波系数20%,纹波电流峰峰值ΔI≈20%×16×√2≈4.5A。电感上的纹波公式简化用ΔI = Vdc/(8×L×fsw)(三相体系的占空比因子有差异,这里做近似估算)可得L≈700/(8×4.5×10000)≈1.94mH。两个约束一合,取总电感2mH左右。
然后选L1和L2。按2:1分配,L1≈1.3mH,L2≈0.7mH,取整就是L1=1.5mH、L2=0.5mH,总电感2mH。基波压降复核:X_L=2π×50×2mH≈0.63Ω,压降=0.63×16≈10V,占220V的4.5%,满足。
再算电容。按5%无功约束:Q_c_max=0.05×10kW=500var。Cmax=500/(3×2π×50×220²)≈500/(3×314×48400)≈500/45.6M≈11μF。取C=10μF。
计算谐振频率:等效电感L_eq = L1×L2/(L1+L2)=1.5m×0.5m/2m=0.375mH,谐振频率f_res=1/(2π√(L_eq×C)),L_eq×C=0.375m×10μ=3.75e-9,√≈6.12e-5,f≈2600Hz。检查区间:10倍基波=500Hz,0.5倍开关频率=5000Hz,2600Hz落在中间,合理。
最后选阻尼。无源阻尼最直接,在电容支路串一个电阻,按经验公式R=1/(3×ω_res×C),ω_res=2π×2600≈16336rad/s,C=10μF,算下来R≈1/(3×16336×10e-6)≈2.04Ω。我初始给2Ω,然后在PLECS里扫到3Ω,发现谐振峰抑制更干净,THD也更低,就取了3Ω。这类阻尼电阻最后肯定要通过仿真微调,公式只是起点。
5. PLECS仿真验证:从波形看设计是否达标
5.1 仿真设置与检查清单
在PLECS里跑这个系统之前,有几个设置先确认好,不然后面波形乱得没法看。
求解器选Discrete,固定步长。步长的选择和PWM载波要匹配,我开关频率10kHz,一个开关周期100μs,控制步长我取1μs,这样每个开关周期有100个采样点,波形和FFT分辨率都够。如果有人嫌慢,放到2μs也不是不行,但谐波分析的精度会打折。
PWM调制用PLECS里的比较器加三角波载波实现。载波频率10kHz,调制深度来自电流环输出。采样时刻我设为载波顶点采样,这是数字控制的惯例,可以有效降低采样纹波。
检查清单大致是:
- 直流源电压是否为额定700V
- 电流采样通道是否取自逆变器侧电感
- PLL初始角度是否与电网A相电压初始相位对齐
- PWM调制波是否限幅
- 滤波器电容阻尼电阻是否按计算值设置
- 电网电压源三相相位是否正确
- 电流环PI参数是否按总电感计算
任何一项没核对,都可能花几个晚上查波形。
5.2 稳态与动态波形的评估方法
仿真跑起来以后,主要看三组波形:
第一组是并网电压和并网电流波形。稳态时,电流波形应接近正弦,相位跟电网电压同相(功率因数为1)。直接在示波器里看电流毛刺,如果毛刺太大,说明电感或采样环节有问题。
第二组是电流THD。PLECS里有FFT工具,选取稳态后2到3个工频周期做FFT,看THD是否在5%以内,同时看各次谐波里有没有异常放大的频点。LCL滤波器的谐振频率2600Hz附近如果出现明显尖峰,说明阻尼没压住,回去调R。
第三组是动态响应。可以做一个负载阶跃或者功率指令阶跃,看电流从一档跳到另一档,有没有明显的超调、振铃、拖尾。电流环带宽1kHz时,响应时间大概几个毫秒,超过这个量级就说明带宽没达到,或者有没消除的低频振荡。
6. 调试实录:常见问题与排查技巧
6.1 最典型的四个故障现象及处理
第一个常见问题是PLL锁不住。现象是dq轴电流波形严重畸变,功率因数忽高忽低。排查思路是先看θ波形,如果θ是锯齿状乱跳而不是平滑上升,就是PLL参数有问题或初始角度没对齐。PLECS里我习惯让PLL的积分器初始值设为电网A相电压初始相角,这样启动瞬间就不会有追锁冲击。
第二个问题是启动瞬间冲击电流很大。这个往往不是PI参数问题,而是PLL还没锁稳就开始加载荷。处理办法是加软启动,PLL锁稳后再让电流指令从0缓慢爬升,用斜坡给定或者一阶惯性环节过渡,几毫秒内平滑抬升到目标值。
第三个问题是LCL谐振振荡。现象是电流波形在某些工况下出现高频包络振荡,FFT里谐振频率附近谐波很高。先检查阻尼电阻是否接在电容支路上,再接的是不是在电感支路上拿错了元件,然后扫R从1Ω到5Ω看谐振峰变化。我还遇到过一种情况,阻尼电阻值没问题但仿真模型里电容串联电阻参数被默认设成0,重新确认RLC支路参数即可。
第四个问题是THD超标但波形看起来还行。这种时候不要盯着基波看,直接看FFT的高频段。我遇到过开关频率附近的边带谐波超标,原因是采样步长偏大导致PWM调节不精确,把步长从5μs减小到1μs后立竿见影。
6.2 几个容易被忽略的细节
经验里有一些很细的坑,值得单独说。
LCL电容的基波无功算完后,C取值应该取整到标准容值,但整完之后一定要重新算一遍谐振频率。因为容值一变,谐振点就可能跑出500Hz到5000Hz的安全区间。类似地,电感供应商的标称电感也有偏差,LCL这种谐振系统对L和C偏敏感,批量投产前最好留一个阻尼电阻可调的接口。
电流环PI参数用总电感计算之后,别忘记LCL的L2在电网侧,它的压降也在电流环的反馈路径里。如果仿真里L2取值和别人方案里不一样,PI参数也要跟着动。简单说,电流环该按总电感算,但阻尼设计该按L1、L2分配和C来算,两个层面不要混。
最后就是PWM调制方式的选择会影响LCL的低频段抑制能力。SVPWM相对SPWM有更高的直流电压利用率,但在过调制区会引入低频谐波,建议调制深度控制在0.9以内,给过调制留点余量。
我个人调试下来最深的体会是,参数计算只是把方案拉到一个合理的起点,真正的验证永远在仿真波形里。LCL的谐振阻尼和PLL的初始相角这两个细节,第一次做的时候各踩了一次坑,修完之后整套系统就稳定多了。另外建议你在PLECS里把控制参数、滤波器参数定义成可调变量,波形观察配合参数扫描,比一次一次手工改参数要高效得多,这也是这套流程里最值得长期保留的习惯。