拓冰建站拓冰建站
首页 / 资讯中心 / 正文

VSG并网逆变器电网不平衡下PR控制与正负序分离仿真实践

这几年做分布式并网逆变器仿真的人大概都有同一个感受三相电网电压不可能永远像教科书里那样完美对称。我在做虚拟同步机VSG控制并网仿真时前期大部分精力都花在调PI控制器上电网电压一不平衡波形立刻变差有功无功功率出现明显的二倍频脉动整个系统像得了疟疾一样抖。后来我把电流内环从dq旋转坐标系下的PI控制换成αβ静止坐标系下的PR控制再配合正负序分离与预同步处理整套VSG在Simulink里的表现才真正稳定下来。这篇文章把从模型搭建、控制器设计到参数调试的完整过程整理出来重点讲清楚PR控制为什么适合不平衡电压场景、正负序分离怎么落地、以及仿真里最容易踩的坑。如果你正在做VSG并网仿真或者想改造现有控制结构去适配弱电网这篇应该能给你省下不少时间。1. 不平衡电网电压对VSG控制到底造成了什么以及为什么PR是顺理成章的选择1.1 负序分量进入功率环后会如何捣乱三相电网电压不平衡时按照对称分量法可以分解成正序、负序、零序三组分量。三相三线制系统没有零序通路所以真正会影响并网逆变器的是正序和负序。负序的来源很常见单相大负载投入、三相变压器参数不对称、相邻馈线故障切除后的短时不平衡甚至公共连接点附近大量单相光伏分布不均匀都会让电压带上一部分负序成分。负序电压进入逆变器控制系统后第一反应是电流跟着畸变。原因是逆变器本质上是个受控电压源输出电流由滤波器电感和电网电压差决定负序电压会在电感上产生负序电流通路。如果不做任何处理三相电流会出现不对称某相电流可能比另外两相明显偏大长期运行容易触发过流保护或者造成局部过热。更隐蔽的问题是功率脉动。传统瞬时功率理论下有功功率和无功功率包含两部分正序电压乘正序电流产生的直流量以及正序电压乘负序电流、负序电压乘正序电流交叉项产生的二倍频交流量。也就是说电网电压一旦不平衡即便电流还是纯正序的负序电压和正序电流的乘积也会给功率环路注入二倍频扰动。对VSG控制来说这个二倍频扰动非常致命因为VSG的有功环就是一个转子运动方程输入是给定功率与实测功率的偏差功率脉动会让虚拟角速度出现振荡进而影响控制角度θ的相位最终导致调制波质量下降。1.2 为什么PI控制在负序面前力不从心很多教材里并网逆变器电流内环都用dq同步旋转坐标系下的PI控制因为基波正序电流在dq坐标系下是直流PI对直流有无限增益可以实现无静差跟踪。这是PI控制最顺手的场景也是大家习惯这么设计的原因。但电网电压不平衡时负序电流在正序同步旋转坐标系里不是直流它是一个以二倍基波频率旋转的交流量。PI控制器的传递函数在零频处增益无穷大在二倍频处却非常有限所以它对负序电流的抑制作用很差。仿真里最直观的表现就是A相电压跌落了20%dq坐标系下的电流波形看着还挺正常但三相电流一对比B、C相明显变粗THD数值直接翻倍。有人会想那把PI的带宽调大一点二倍频处的增益不就上去了吗理论上可以但实际代价很大。PI带宽提上去之后高频噪声和高次谐波都会被放大控制器对参数和采样延迟的敏感性急剧上升稍微调不好就啸叫甚至发散。我在仿真里试过把电流环带宽从800Hz拉到2kHz负序改善有限中性点电位和PWM谐波反而恶化了最后只能放弃这条思路。1.3 从dq到αβPR控制处理负序的独特优势比例谐振PR控制器的思路和PI完全不同。PI是在旋转坐标系里把交流量变成直流量再积分PR则是直接在静止坐标系里对正弦量做谐振积分。它的理想传递函数在基波频率处增益趋近无穷大能够对基波正弦交流量实现零稳态误差跟踪而这个基波频率既包括正序旋转方向的分量也包括负序旋转方向的分量——因为正序和负序在静止坐标系里的频率都是ω只是旋转方向相反PR控制器不区分旋转方向一视同仁地施加高增益。这意味着电压不平衡时只要电流给定是三相对称的正序正弦量PR电流环就能强行把负序电流压下去让实际电流逼近三相对称。同时PR控制还天然支持在谐振峰处并联多个谐振项比如基波谐振加5次、7次谐波谐振可以在不增加太多复杂度的情况下顺手抑制低次谐波这个扩展性比在dq坐标系里并联旋转谐振控制器要直观得多。我在仿真里对比过同样的不平衡工况dq-PI方案电流THD大概9%左右换成αβ-PR方案后稳态THD降到2%出头三相电流幅值基本一致。这个改善幅度足以让PR在和VSG搭配时成为首选。2. VSG控制骨架在Simulink中的搭建次序从转子方程到电压电流双环2.1 转子运动方程与无功-电压环的模块化实现VSG的核心逻辑是让逆变器外特性像一台同步发电机最关键的就是转子运动方程和励磁调节。转子运动方程在Simulink里实现非常简单核心公式是Jdω/dt Pm - Pe - D(ω - ω0)其中J是虚拟惯量D是阻尼系数Pm是输入机械功率也就是有功指令Pe是实测电磁功率ω0是额定角速度。我在模型里直接用Integrator模块搭这个方程减法把功率偏差算出来除以J积分后得到角速度偏差加上ω0得到实际角速度再积分一次得到相位θ。这里有个细节容易被忽视转子方程的积分器初始值必须和电网频率、相位匹配否则启动瞬间会有很大的冲击电流。无功-电压环则模拟同步发电机的励磁调节特性公式上可以写成Q0 - Qe Kq(Un - U)即无功偏差被用来调节输出电压幅值参考。在Simulink里用一个Gain模块加一个积分器就能实现。这里要特别注意如果电网电压不平衡直接用三相电压采样算出来的U是带有负序和脉动成分的必须把正序电压幅值提取出来再给无功环否则无功环会跟着二倍频信号振荡。这一步是很多VSGPR方案翻车的重灾区。2.2 功率测量与相位生成VSG控制里实测有功Pe和无功Qe都不应该直接用电网电压、电流的dq分量按常规公式去算而应该用αβ静止坐标系下的瞬时功率公式P 1.5(vαiα vβiβ) Q 1.5(vβiα - vαiβ)这样算出来的功率响应快没有dq坐标变换引起的延时而且直接为后面PR电流环服务。Simulink里用几个乘法器和增益模块就能搭起来不需要引入复杂的功率测量模块。要注意的是电流和电压必须用同一个相位θ做坐标变换这个θ来自VSG转子方程积分出来的角度而不是PLL锁出来的电网角度。这也是VSG和传统跟网型控制的本质区别VSG自生成相位电网故障时能提供惯性支撑。不过自生成相位也有麻烦并网之前VSG输出电压和电网电压之间有相位差直接合闸会冲击。所以我在模型里加了预同步环节用一个小的PI调节器把电网电压相位和VSG输出相位之间的误差收敛到零再闭合并网开关。具体做法是电网电压测出αβ分量给到PLL得到电网角度θg和VSG的θ相减经过PI后把修正量加到转子方程的ω上。并网后切除这个修正量。2.3 电压外环与电流内环的分工VSG输出的电压参考来自无功环电流参考来自电压环或功率指令。在我的仿真中外环是电容电压环负责把VSG生成的电压参考转化为电流指令内环是电感电流环用PR控制器快速跟踪电流指令输出调制波。这样双环结构和传统逆变器控制一脉相承只是电压环的输出从dq直流变成了αβ交流。电压环可以继续用PI前提是把电容电压分解成正序dq量在dq坐标下做PI控制再把输出变换回αβ作为电流参考。但我更推荐电压环也用PR尤其是电网不平衡场景下电压环用PR可以直接跟踪正序电压参考并抑制负序电压省去正负序分解的复杂度。代价是电压环PR的谐振频率要整定仔细不然空载或轻载时电容电压容易产生谐振纹波。整体控制链路的信号流向是转速方程产生θ无功环产生电压幅值两者合成三相电压参考电压环输出电流参考电流环PR输出调制波调制波经过PWM发生器驱动桥臂。初学者照着这个顺序搭Simulink模型能少走很多弯路。3. 正负序分离的工程选择与PR控制器离散化参数3.1 延迟信号消除法实现只差一个延迟模块正负序分离是VSGPR方案里绕不开的一环因为前面讲了无功环需要正序电压幅值电压前馈也需要正序分量。正负序分离方法有好几种但工程上最常用的还是延迟信号消除法也就是DSC。它的原理很巧妙把αβ静止坐标系下的电压或电流信号延迟1/4个工频周期正序分量延迟后相位滞后90度负序分量延迟后相位超前90度通过特定的加减运算就能把正序、负序分离出来。在Simulink里实现DSC只需要Transport Delay模块、两个Gain和Sum模块。设电网周期T为0.02秒则延迟时间为0.005秒。具体到代码先把三相电压在αβ坐标系下采样得到vα和vβ用一个T/4延迟模块得到延迟量然后按正序公式vα_pos 0.5(vα - vβ_lag) vβ_pos 0.5(vβ vα_lag)就能提取正序电压。负序可以用原始信号减去正序信号得到。这个公式要注意符号方向我在仿真里就因为符号反了分离出来的正序和负序完全颠倒功率环直接振荡发散。如果你第一次搭DSC建议先把纯正弦平衡电压送进去检验分离结果确认无误再接进主控制环路。3.2 几种正负序分离方法对比除了DSC常见的正负序分离方案还有陷波器法、SOGI二阶广义积分器法和基于瞬时对称分量法的数学变换。我做一个直接对比方便按场景选型方法实现复杂度动态响应频率适应性Simulink实现难度延迟信号消除DSC低中固定延迟1/4周期需准确电网频率简单Transport Delay即可陷波器法低快依赖中心频率整定简单Notch Filter即可SOGI法中快对频率偏移有一定适应中需要搭两个正交积分器瞬时对称分量法中快依赖基频计算中偏数学运算我在实际仿真中优先选DSC原因是它思路直观、模块少、调参少唯一要保证的是电网频率稳定在50Hz附近。如果课题强调频率偏移场景比如弱电网下频率波动大那SOGI法或DSC的改进型是更好的选择这时索性别在基础DSC上花太多时间。3.3 PR控制器传递函数与参数整定PR控制器的理想形式在基频处增益无穷但实际实现时会有两个问题一是电网频率不可能绝对稳定二是理想谐振峰太尖离散化后容易振荡。所以工程上用的是准PR控制器传递函数如下G_PR(s) Kp 2Krωc s / (s² 2ωc s ω0²)其中Kp是比例增益Kr是谐振增益ωc是谐振带宽ω0是谐振中心频率也就是基波角频率314.16rad/s。准PR在基频附近的增益由Kr/ωc决定带宽由ωc决定。整定时先定Kp保证电流环的动态响应速度再定ωc一般取2π×0.5到2π×2对应0.5到2Hz带宽兼顾频率偏移适应性和谐振选择性最后调Kr从50开始往上加观察电流波形有没有振荡。我给一组我仿真中实际用过的参数作为起点参考Kp6Kr120ωc3.14rad/sω0314.16rad/s采样频率10kHz。需要强调的是Kr不是越大越好Kr过大会放大采样噪声尤其在离散化后容易出现极限环。调试时建议先用纯电阻负载验证电流环稳定再带上电网电压不平衡工况做最终整定。3.4 离散化细节预畸变Tustin变换PR控制器在Simulink里落地必须离散化。最直接的方式是用c2d函数但要注意选择预畸变的Tustin变换否则谐振频率会偏移。我在Matlab里的做法是这样s tf(s); w0 2*pi*50; wc 3.14; Kp 6; Kr 120; G_pr Kp 2*Kr*wc*s / (s^2 2*wc*s w0^2); Ts 1e-4; G_pr_d c2d(G_pr, Ts, tustin);然后把得到的离散传递函数分子分母系数填进Simulink的Discrete Transfer Fcn模块即可。这里要特别提醒c2d默认的tustin变换不会做频率预畸变实际使用时最好先做频率预畸变处理或者直接对比离散前后在50Hz处的幅频特性确认谐振峰没有偏移。我在一次仿真中直接用普通tustin离散后谐振频率偏到了49.2Hz附近导致稳态还是有微弱静差波形肉眼看是正弦但FFT里50Hz幅值就是上不去。如果不想用c2d也可以用Simulink里的Discrete PID Controller模块加一个并联谐振项但这样做参数独立性和可读性都不如直接写离散传递函数不推荐用于课题论文级别的仿真。4. Simulink模型搭建实操主电路参数、不平衡注入与求解器设置4.1 主电路模块选型与LC参数计算我用的主电路拓扑是三相两电平电压源逆变器加LC滤波器和并网电抗。直流侧直接用DC Voltage Source代替光伏或储能电池电压设为700V这样调制比不至于太低。逆变器用Simscape Electrical里的Universal Bridge模块开关器件选IGBT导通压降和缓冲电路保持默认值就行重点是PWM控制逻辑要接对。LC滤波器的参数直接影响电流环谐振特性和电流纹波。电感L取值主要看开关频率纹波一般让额定电流下的纹波在20%到30%之间。并网电流额定值按系统功率倒退比如10kW系统在380V下额定电流约15A取电感压降不超过额定相电压的5%L大概在2到4mH。电容C的取值则看无功容量不能让滤波电容无功超过系统额定无功的5%按这个原则10kW系统取C10到20μF比较合适。我做仿真用的是L3mH、C15μF开关频率10kHz电流纹波和基波压降都控制在预期范围内。4.2 不平衡电压注入的两种手段模拟电网电压不平衡最省事的方法是用Three-Phase Source模块在幅值参数里直接给三相设不同的值。比如A相峰值311VB相设为280VC相设为250V这样就在电网侧制造了一个稳定的不平衡度。这种方法的优点是直观、可重复适合做稳态对比实验。缺陷是无法模拟动态跌落过程比如单相电压突变20%的场景。如果要模拟动态不平衡我的做法是用可控电压源串联一个单相故障模块。具体到Simulink里可以用Single-Phase Transformer加Breaker实现也可以直接用Controlled Voltage Source在信号源里给定一个阶跃信号让某一相电压在设定时刻跌落到目标值。两种方法都试过之后我更喜欢可控电压源方案因为不需要额外调断路器的动作时序仿真波形也好观察。4.3 仿真步长与求解器选择采用开关模型时仿真步长必须和开关频率匹配。PWM载波频率10kHz一个开关周期是100微秒但电流环的控制周期一般也设置成和开关周期同步。Simulink里如果采用固定步长离散求解器步长建议取2到5微秒太大会出现PWM调制失真和波形毛刺太小则仿真速度肉眼可见地变慢。我自己的经验是用ode3固定步长步长2微秒一次10s仿真大概需要跑十几分钟还在可接受范围内。如果课题只关心控制策略验证、不在乎开关纹波可以考虑用平均值模型Universal Bridge换成平均值模型调制波直接等效成输出电压。这样步长可以放到10微秒甚至更大仿真速度大幅提升但代价是看不到PWM谐波和开关动态。做VSG惯量支撑、频率响应这类研究时平均值模型完全够用。4.4 启动预同步处理与并网时序VSG并网过程的预同步处理是非常重要的一个坑处理不好合闸瞬间的冲击电流能把仿真直接顶飞。我在模型里先把并网开关设为常开让逆变器空载运行VSG输出电压建立起来后观测电网电压和逆变器输出电压的相位差用一个PI把相位差收敛到接近于零。同时无功环会调整幅值让两者幅值匹配。等相位差绝对值小于0.01rad、幅值差小于1V时再让并网开关合闸。这个判断条件在Simulink里可以用一个比较器加逻辑控制的开关实现也可以手动设置合闸时间点。我在调试阶段是先把预同步时间固定设成1秒观察波形稳定后再改成自动判断。注意预同步PI的输出必须接到转子方程的ω修正端而不是直接改θ否则相位同步过程会很生硬。5. 仿真波形判读与调参经验从振荡到收敛的实测记录5.1 功率二倍频脉动抑制效果的对比波形分析判断VSGPR方案有没有生效第一件事是看三相电流对称度第二件事是看功率脉动幅值。我习惯在模型里加几个Scope三相交流电压、三相交流电流、有功功率、无功功率、电流THD分析模块。做对比实验时保持电网电压不平衡工况完全一致分别跑dq-PI方案和αβ-PR方案然后把波形截图放一起比较。以A相电压跌落20%的工况为例dq-PI方案下三相电流幅值差异明显最大相和最小相差了将近25%有功功率波形上能看到明显的100Hz脉动脉动幅度占平均功率的15%左右。切到PR控制后电流幅值差异直接缩小到5%以内功率脉动幅度基本也能压到5%以下。这个差异不需要数据分析模块肉眼看Scope就能明显分辨。要注意功率脉动不会完全消失因为负序电压和正序电流的交叉项还在想完全消除功率振荡需要额外加负序电流补偿那就是后话了。我这里强调的是PR方案已经把主要问题解决了。5.2 参数调节的优先级与敏感性调参顺序直接影响效率。我总结的调参优先级是先调PR电流环的Kp和Kr再调滤波电容电压环最后调VSG的J和D。顺序不能乱因为电流环是整个控制链路的执行机构电流环都不稳上面的VSG惯量调得再好也白搭。PR电流环整定时先把Kr设为零只留Kp让电流环在纯比例控制下稳定观察电流跟随是否有明显延迟然后从小到大加Kr直到电流波形在过零处变得光滑不再出现细微抖振。如果Kr加得过大电流波形会出现高频毛刺甚至整个系统发出持续振荡这时要果断降低Kr。VSC的虚拟惯量J和阻尼D对动态响应的影响也很直观J太小频率波动大并网冲击后转速恢复很猛J太大频率变动慢功率响应迟钝。D则是抑振的主力D偏小时有功阶跃后的功率振荡要好几拍才能衰减。我的J取0.2D取50在这个参数下阶跃响应的超调量和调节时间都符合预期。5.3 我在仿真中踩过的三个坑第一个坑是DSC延迟信号消除法的采样步长不匹配。Transport Delay模块的延迟时间是0.005秒但仿真步长太大时这个延迟量和实际离散步长对应不上分离出来的正序分量仍然混着负序导致无功环直接振荡。解决办法是把步长减小到2微秒或者把Transport Delay模块配置成基于采样时间的整数倍延迟确保延迟精度。第二个坑是并网瞬间的直流侧电压跌落。逆变器空载运行时直流电压稳定在700V并网合闸瞬间电流突然增大如果直流电压源的内阻和电容参数设得太大直流电压会被拉出明显跌落进而让调制波饱和整个系统跟着震荡。我的解决办法是在直流侧并联足够大的电容同时把并网瞬间的功率指令给一个斜坡上升而不是阶跃冲击。第三个坑是PR控制的积分绕组饱和问题。准PR里的谐振项本质是个二阶积分器当调制波限幅时谐振项内部状态继续累积恢复后会有很长的过冲。我在Modulation Wave的输出端加了饱和限幅同时在PR控制器内部加入了对谐振项状态的附加钳位。具体做法是把PR模块做成一个带Enable端口的子系统在过调制时将积分器输出清零仿真里再没出现过调制后的长尾振荡。最后分享一个我现在调试类似系统时固定会做的小流程先把电网电压设成完全平衡让VSG在纯电感负载下稳定运行保存一组基准波形再注入不平衡电压逐项检查DSC分离结果、PR电流波形、功率脉动这三个指标的变化。如果哪一步的波形和预期不符立刻回退到上一步排查而不是继续往下调。这套流程虽然多花几分钟但比盲目扫参数靠谱得多。VSG加PR控制的组合在Simulink里并不复杂难点全在模块顺序和参数匹配上只要把链路理清楚仿真跑出来的结果完全可以给实物平台做参考。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门