☰
基于MATLAB/Simulink的DFIG风电并网DSTATCOM无功补偿仿真建模与控制
2026/10/7 5:09:24 网站建设 项目流程

做风电并网仿真的人,迟早要跟无功补偿打交道。不管是DFIG双馈机组还是永磁直驱,并网点的功率因数往往很难看——风速一抖,无功跟着抖,电压也跟着抖,母线电压动不动就贴着运行上限或下限跑。我前阵子基于Matlab/Simulink搭了一套带DSTATCOM(配电型静止同步补偿器)无功补偿的风电并网模型,从主电路到控制环路全部手搭,跑稳态、跑风速阶跃、跑电压突变,波形和指标都挺扎实,前后也花了不少时间调参。这篇文章把整个建模思路、控制策略、参数整定和调试过程完整梳理一遍,给正在做风电并网仿真、或者想搞明白DSTATCOM补偿效果的朋友做个参考,顺便把我踩过的坑都标出来。

1. 风电并网的无功困境:为什么功率因数总是不达标

1.1 风电出力波动带来的连锁反应

风电的功率天生就是波动的。风速从切入风速到额定风速之间不断变化,机组按最大功率跟踪(MPPT)运行时,有功出力一直在变。问题在于,很多风电机组为了降低成本,变流器容量是按满足有功传输设计的,自身能够输出的无功范围其实很有限。DFIG机组转子侧变流器虽然具备一定的无功调节能力,但在有功高、机端电压波动大的工况下,它能给并网母线提供的无功支撑经常捉襟见肘。你如果直接把一台DFIG模型接上无穷大电网跑,并网点的功率因数大概率在0.9左右甚至更低,这还只是稳态。

更麻烦的是动态过程。风突变、机端电压骤降、线路跳闸这些暂态发生时,系统瞬时缺的无功可能有好几兆乏尔,靠机组自己根本补不上。母线电压跌落超过一定深度,变流器本身还要进入低电压穿越状态,自顾不暇。这时候就需要一个独立的、响应快的无功源来兜底。

1.2 并网导则其实是个硬门槛

做这个仿真之前,我重新翻了并网规程。国内对风电场并网点的要求早就不是"能发电就行"了,功率因数在并网点要满足超前0.95到滞后0.95的范围,具体由电网调度根据电压情况下发无功指令。这就意味着风电场必须具备连续调节无功的能力,而不是靠投切电容器的阶梯式补偿。

电压方面同样有要求。风电场并网点电压要控制在额定电压的一定偏差范围内,电压偏差超限时还要求具备一定的动态无功支撑能力,响应时间通常是几十毫秒到几百毫秒级别。SVC那种基于晶闸管的装置响应速度能达到这个要求,但连续调节范围、谐波特性和占地成本都不太理想。DSTATCOM作为一种基于电压源换流器的动态无功补偿装置,响应时间可以做到5~10毫秒,而且输出连续可调、没有机械惯性,非常适合这种对动态性能有硬指标的场合。

1.3 不补偿的直观后果

我在建模初期故意先不挂DSTATCOM,把风机的有功从0.7倍额定阶跃到额定值,观察并网点电压。结果是母线电压直接往下掉了近7%,功率因数掉到0.86。这意味着并网点电压已接近运行下限,如果再叠加系统侧电压偏低的工况,风电场根本没法正常并网运行。

这组数据也让我后面做补偿效果对比时有了基准线。要判断DSTATCOM到底有没有用,不能用"感觉上电压稳了"来糊弄,得有同样的工况条件、同样的机组模型,补偿前后放在同一张图上对比。这种对比思路在后面调试时也救了我很多次——改一个参数是不是有效,先跟基准波形对照,而不是凭肉眼猜测。

2. DSTATCOM的原理与选型:为什么是它而不是SVC或SVG

2.1 本质是一台电压源换流器

DSTATCOM说白了就是一台由IGBT组成的电压源换流器(VSC),通过耦合电抗器并联到电网母线上。它通过控制换流器输出电压的幅值和相位,来改变流过耦合电抗器的电流,从而向系统注入或吸收无功功率。

这个原理用公式表达更清楚。设耦合电抗为X,系统母线电压为Vs,换流器输出电压为Vc,换流器输出到系统的无功功率近似为:

Q ≈ Vs·(Vc·cosδ − Vs) / X

当Vc > Vs时,Q为正,换流器向系统注入无功,相当于一个可调的容性负载;当Vc < Vs时,Q为负,换流器从系统吸收无功,相当于感性。实际运行时通过PWM调制连续调节Vc的幅值,无功输出就是连续的,没有电容电抗分档切换那种跳变。

这个原理决定了它的两个先天优势:一是没有惯性环节,IGBT开关周期就是毫秒级;二是输出特性跟电压高度相关,系统电压跌落时它能输出的无功反而会在一定范围内增大,这就是所谓的"电压支撑效应",SVC在同样条件下无功输出会同比缩水,这是原理性差异。

2.2 三种无功补偿装置横向对比

为了把选型逻辑讲清楚,我做了个简单对比表:

对比项SVC(晶闸管+电抗/电容)CS-STATCOM(链式)DSTATCOM(两电平PWM-VSC)
响应速度20~40ms5~10ms2~5ms
无功输出连续性分档+相控连续连续连续
低电压支撑能力弱,电压跌落时输出下降中强
谐波特性需要配套滤波器谐波小,多电平更优开关频率高时谐波较小
控制复杂度低中高中
适用场景输电网集中补偿高压大容量配电/风电场集电母线

做配电级或风电场并网级仿真,DSTATCOM是性价比最高的选择。MATLAB/Simulink里直接有现成的VSC桥臂模块,不用自己去搭链式换流器的复杂结构,控制策略又能完整体现STATCOM的核心逻辑。

2.3 接入位置与容量的工程考量

DSTATCOM一般接在风电场升压变压器的低压侧母线,或者集电线路的公共连接点。接在低压侧的好处是电压等级低、绝缘成本小,耦合电感和直流电容的参数也更容易匹配;缺点是补偿电流要经过升压变才能对高压母线产生电压支撑,变压器本身的漏抗会吃掉一部分无功。

容量方面,工程上通常按风电场额定容量的20%~30%选取DSTATCOM容量。比如一座50MW的风电场,配10Mvar左右的动态无功比较常见。仿真模型里不用抠得太细,但至少要把这个配比逻辑放进去——你要是用一个比风机额定容量还大的DSTATCOM,补偿效果当然好看,但那不是工程实际。

3. Simulink建模全流程:主电路、PLL与双环控制的落地细节

3.1 模型总体结构设计

整个模型我分成了四块:风力发电单元、并网变压器与线路、DSTATCOM本体、测量与控制逻辑。风力单元我用了一台1.5MW的DFIG模型,通过690V/35kV升压变压器并入35kV母线,再通过一条30km的等效线路接入无穷大电网。DSTATCOM接在风机升压变低压侧690V母线上,这样模型麻雀虽小,五脏俱全。

选用DFIG而不是永磁直驱,是因为DFIG本身需要吸收无功建立磁场,正常运行时无功需求是动态变化的,跟DSTATCOM的补偿逻辑能形成更真实的耦合。如果你手上只有PQ有功无功恒定的简化风机模型,也能跑,但动态效果会打折扣。

3.2 主电路模块与关键参数

主电路我用的模块清单和参数如下:

模块Simulink对应模块关键参数
无穷大电网Three-Phase Source35kV,50Hz,短路容量1000MVA
线路Three-Phase PI SectionR=0.115Ω/km,X=0.4Ω/km,30km
升压变Three-Phase Transformer690V/35kV,1.6MVA,Uk=6%
DFIG机组Simscape专项DFIG模型1.5MW,690V,50Hz
DSTATCOM桥臂Three-Level Bridge / Universal Bridge两电平IGBT,额定电流按容量
耦合电抗Three-Phase Series RLC BranchL=1.2mH,R=0.01Ω
直流电容DC Bus CapacitorC=30mF,Vdc_ref=1200V
PWMPWM Generatorf_sw=4kHz,载波同步

这里说一个选参数的逻辑。直流母线电压要留出调制余量:对SPWM调制,Vdc至少要大于线电压峰值的一点一五倍,690V系统我取了1200V,裕量大概在20%到30%之间。耦合电抗不能太小,太小了谐波电流大;也不能太大,太大了要达到同样的无功输出需要更高的Vc,直流电压就得跟着上调。我这版在1.2mH附近试了很久,算是个折中值。

3.3 SRF-PLL实现:坐标系的命门

DSTATCOM控制的第一步是把三相量换到dq同步旋转坐标系,PLL做不好,后面全部白搭。我用的SRF-PLL(基于同步旋转坐标系的锁相环)结构很经典:

把PCC三相电压Ua、Ub、Uc做Clark变换到静止αβ坐标系,再通过Park变换转到dq系。假设PLL锁准了,d轴对齐A相电压,那么Uq趋近于0。所以PLL的闭环就是让Uq等于0:Uq经过PI调节器,输出角频率,再积分得到角度θ,反馈回Park变换。

这个环路在Simulink里搭起来有几点要注意:Park变换要选对相位对齐方式,我用的是d轴对齐A相电压;PI参数不能太激进,否则电网电压稍微畸变一点,θ就开始抖,电流环参考值也跟着抖,整个系统就嗡嗡响。我给的PLL带宽约50Hz,Kp=20,Ki=300,实测在电压畸变率3%以内都能稳定锁相。

3.4 双环控制的组织方式

DSTATCOM控制结构分内外两层。内环是电流环:通过解耦后的d轴电流控制直流母线电压,q轴电流控制无功输出。外环有两个:直流电压外环输出d轴电流参考值,交流母线电压外环(或无功功率外环)输出q轴电流参考值。

dq轴之间存在耦合项,d轴方程里会串q轴量,反之亦然,所以需要在控制器输出前加上前馈解耦量。具体做法是:

Ud_ref = −(Kp_id·ΔId + Ki_id·∫ΔId) + ωL·Iq + Usd Uq_ref = −(Kp_iq·ΔIq + Ki_iq·∫ΔIq) − ωL·Id + Usq

式中的ωL·Iq和ωL·Id就是解耦补偿项,Usd和Usq是PCC电压前馈。不解耦的话,两个轴互相干扰,调参数的时候你会发现在d轴加的PI增益会通过耦合项影响q轴响应,永远调不利索。

PWM调制用的是载波移相SPWM还是空间矢量SVPWM,在仿真层面差别不大,SVPWM的直流电压利用率更高,但通用性差一些。我用的标准正弦PWM,加了三倍次谐波注入,效果介于两者之间。

4. 控制器参数整定:从传递函数到仿真试凑的完整路径

4.1 电流内环:被控对象就是耦合电抗

电流内环的物理对象是耦合电抗和连接线路电阻,传递函数是典型的一阶惯性环节:

G(s) = 1 / (Ls + R)

对一阶对象,PI参数可以用极点配置法直接算。把PI调节比分写成Kp + Ki/s,选择期望闭环时间常数τ,令Kp = L/τ,Ki = R/τ,原理上是让PI零点对消对象的极点。我这里L=1.2mH,R=0.05Ω(考虑线路),选τ=2ms,算出来:

Kp_id = 0.0012 / 0.002 = 0.6 Ki_id = 0.05 / 0.002 = 25

实际仿真里把Kp取到1.2,Ki取到50,动态更快,因为模型里还有数字控制延时和PWM零阶保持,留点余量反而稳定。这个"理论算一遍,然后根据仿真微调"的流程,比纯试凑靠谱得多。

4.2 外环整定:直流电压环与交流电压环的配合

直流电压外环的带宽要比电流内环低一个数量级,否则内外环会互相激励。一般取内环带宽的1/5到1/10。直流电压的被控关系来源于电容上的功率平衡:

C·Vdc·(dVdc/dt) = P_in − P_out

其中P_out = 1.5·Usd·Id,所以电压环输出的是d轴电流指令。实际调参时,我先把内环冻结(把电流环当作增益为1的快跟踪环节),单独看Vdc阶跃响应,Kp_vdc从我计算的50开始调小到30,积分项留到15,让超调控制在5%以内。

交流电压外环稍微麻烦一点,因为它控制的是PCC电压,被控对象包含变压器电感和线路阻抗,不是一个简单的惯性环节。我实际用的是无功功率外环加一个下垂系数:外环比较PCC电压测量值和参考值的偏差,乘以一个下垂系数(比如2%~5%),转换成无功参考量或者直接作为q轴电流参考。这样既满足电压支撑的要求,又避免电压控制环在弱电网下振荡。

4.3 限幅、抗积分饱和与坐标系对齐

参数整定之外的坑都在细节里。第一个坑是积分饱和。风速突变时,无功指令大跳变,Pi积分项会冲到很高的值,等误差反向时还要好几秒才能"泄"下来,这段时间DSTATCOM的行为就是失控的。我全部PI调节器都加了输出限幅,并且在积分路径上加反馈限幅,确保输出到达限幅时积分项停止累积,误差反向时导数项先起作用,系统能快速脱离饱和。

第二个坑是d轴和q轴方向定义必须跟PLL严格对应。我调试时碰过一次q轴电流正负号搞反的情况:系统缺无功,DSTATCOM却吸收了更多无功,母线电压不降反升,直接把仿真拉偏。后来我加了个"极性验证"的步骤:先把无功参考设为负的,看实际无功是不是也变为负,确认方向正确后再恢复参考值。

第三个坑是坐标变换的系数。Simulink的Park变换有幅值不变和功率不变两种形式,前面那个系数1.5还是2/3的差别,直接决定电流环PI的增益换算。我用了功率不变形式,功率公式就是P=1.5·Usd·Id、Q=1.5·Usd·Iq(按q轴电流方向定义取正负),整定计算时全程用这套系数统一,不混用。

5. 仿真结果怎么看:电压支撑、功率因数与动态响应的判读

5.1 稳态补偿效果:补偿前后的直观对比

模型跑稳态时,我把风机有功阶跃到额定值,观察并网点三个关键量:母线电压幅值、功率因数、母线电压THD。补偿前和补偿后放在同一张图里对比:

指标补偿前补偿后
PCC电压幅值(pu)0.931.005
功率因数0.860.997
电压THD3.5%1.2%(剩余主要为PWM开关谐波)

这个结果说明两个问题。第一,电压幅值被拉回来了,说明电压外环起了作用,通过调节q轴电流来维持PCC电压在参考值附近。第二,功率因数接近1,这是"附带的"效果——因为PCC电压稳定了,风机和变压器吸收的无功得到补偿,整个风电场对外呈现近似纯有功特性。

注意一点:功率因数太高不一定是好事。如果电网调度要求风电场发出无功来支撑远端电压,那功率因数就要低于1,快进相运行。所以模型里不要死板地把无功参考设为0,要留一个无功参考的输入接口,我从一开始就把q轴外环做了双模式切换:电压模式或无功模式,一句代码就能切换,非常方便。

5.2 动态响应:阶跃工况下的三大指标

动态性能评估我做了三个测试:风速阶跃、无功参考阶跃、电网电压跌落。

风速从8m/s阶跃到12m/s,风机有功从约0.4pu跳到0.9pu,过程中风机无功需求先增加后回落。DSTATCOM的响应是:PCC电压先跌3%,在约30ms内恢复并稳定在1.0pu附近,超调量不到2%,没有持续振荡。这个30ms包含了变流器电流内环的快速响应和电压外环的调节,相比SVC的典型响应时间,优势非常明显。

无功参考阶跃测试更直接:参考值从0Mvar跳到+5Mvar(向系统注入容性无功),DSTATCOM输出电流的上升时间在8ms以内,基本就是电流内环的带宽决定。这个指标反映了整定内环PI时选的τ值是否合理——如果响应慢于15ms,回去把电流环带宽调高;如果出现超调超过15%,说明Kp偏大或者限幅提前动作了。

电网电压跌落测试我看的是低压穿越辅助支撑:35kV母线电压跌到0.8pu持续0.5s,DSTATCOM在50ms内把无功输出推向最大值,PCC电压最低点从0.8pu被抬升到接近0.86pu,虽然不能完全阻止电压跌落,但明显延缓了跌破保护门槛的时间。这种"动态无功支撑"能力是电容器组和SVC给不了的。

5.3 谐波含量与控制方式的关系

PWM开关频率直接决定DSTATCOM注入系统的谐波。我对比了2kHz、4kHz、8kHz三种开关频率下的PCC电流THD:

开关频率PCC电流THD
2kHz高达7.2%,需要LC滤波器
4kHz4.1%,可以用小容量滤波器
8kHz2.3%,基本可接受

工程上不会为了降低THD一味提高开关频率,因为IGBT损耗跟开关频率成正比。仿真的好处是你可以随意试,我最终选4kHz,然后在耦合电抗支路并联一组5%容量的高通滤波器,让THD压到2.5%以内。这个滤波器参数需要跟耦合电抗配合整定,避免在开关频率附近形成谐振放大。

6. 调试路上的坑与解法(附参数速查)

6.1 PLL不收敛是我遇到的第一个大坑

模型搭完第一次跑,波形直接是乱的。查了半天,问题出在启动瞬态:仿真开始时,PCC电压从0建立,PLL的Park变换在这种非正弦、带直流偏置的启动段会输出异常值,PI调节器直接把θ拉偏,后面全乱。解法是在PCC电压测量模块后加一个0.02s的使能信号,让PLL在前0.02s锁定在额定频率上,不参与反馈控制,等电压建立正常了再切入闭环。这个"先开环锁频、后闭环锁相"的做法在PSCAD其他仿真里也常用,属于通用技巧。

6.2 直流母线电压"起不来"的典型原因

DSTATCOM启动时要给直流电容充电。如果直流电压外环参与控制的时刻太靠前,电容还没充到额定值,外环就会输出一个巨大的d轴电流参考,导致过流保护动作(仿真里表现为波形发散或数值过冲)。我的做法是给直流电压参考加一个斜坡上升段:0到0.1s内从0线性升到1200V,让充电电流受控。

还有一个隐蔽问题:直流电容初值。在Simulink里,电容模块的初始电压默认是0,如果仿真用精确模式,第一步就会出现巨大的充电冲击。我把电容初始电压设为800V,跟斜坡参考起始点匹配,既避免了冲击,也缩短了启动时间。

6.3 数值振荡与求解器设置

这是仿真模型特有的坑。我开始用的ode45变步长求解器,步长自动有时会拉大到毫秒级,IGBT开关瞬间产生的尖峰被步长"跨过去",波形看着干净,但控制逻辑采样的电流值不稳定,PCC电压波形在高频段抖动明显。后来换成ode23tb(适用于刚性系统的变步长求解器),最大步长限制在1e-5s,控制采样周期固定为50us,问题立刻消失。

经验总结:带PWM换流器的模型,求解器必须选刚性求解器(ode23tb、ode15s),最大步长要小于载波周期的三分之一。否则你看到的仿真结果只能骗自己。

6.4 参数速查表

下面是我这版模型最终使用的控制器参数,供参考(内环按4.1节公式推导,实际微调过):

控制环KpKi限幅说明
锁相环PLL20300输出角频率限±5%带宽约50Hz
d轴电流内环1.250±0.5pu控制直流电压
q轴电流内环1.250±0.5pu控制无功/电压
直流电压外环3015±0.3pu(d轴电流参考)带宽低于内环5倍
交流电压外环840±0.3pu(q轴电流参考)带2%下垂

这些参数换了工况,比如改电网短路容量、改耦合电抗值,全部要重新校一遍,不能直接抄。但整定顺序是可以照搬的:先锁PLL,再整电流内环,然后加直流电压外环,最后接交流电压外环。每加一环,前面一环参数基本不动,只调新增环。

6.5 我给同样在做这套仿真的人的一个建议

如果你打算复现这套模型,别急着把控制策略加到最复杂,先跑通一条最简单的链路:无穷大电源加负荷加DSTATCOM,让DSTATCOM固定输出某个无功参考值,观察波形和控制量。链路确认无没问题了,再替换成DFIG风电模型,再扩大工况范围。我最初直接上DFIG加弱电网加DSTATCOM全套联调,结果花了两天时间才定位到是PLL启动问题,要是先用简化模型验证核心控制,至少能省一天。

最后再分享一个小技巧:把仿真结果导出到工作区前,先记录一组关键测量量(PCC电压d/q分量、功率因数、DSTATCOM无功输出、直流母线电压),在后面统一用脚本绘图。你对比工况的时候,能非常快地发现哪一环出了问题,而不是盯着密密麻麻的三相波形图发愁。这套工作流我用了很多次,确实比在Scope上肉眼比对效率高太多。

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

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

立即咨询