多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

基于VSG与PQ控制的两台T型逆变器微电网仿真

基于VSG与PQ控制的两台T型逆变器微电网仿真 两台逆变器并联组网比单台并网麻烦得多这是我这段时间做Simulink仿真最深的体会。单机并网时电网提供了一个无限大的电压和频率支撑逆变器只要管好自己的功率输出就行可一旦把两台逆变器接成一个孤岛微电网电压和频率就得靠逆变器自己撑起来谁能提供基准谁负责跟随系统在负载突变时会不会振荡这些都是绕不开的问题。我这段时间搭了一套“基于VSG和PQ控制两台T型逆变器构成局域微电网”的仿真一台逆变器用VSG虚拟同步发电机控制做微电网的电压源另一台用PQ控制当作功率源来投切负载。整个模型从主电路、控制算法到调试排错几乎每个环节都踩过坑这篇就把完整的建模思路、参数依据和调试过程记录下来给准备做微电网仿真或者正在折腾多逆变器并联的朋友一个可以直接参照的路线。1. 为什么是“VSG主站PQ从站”这样的两机搭配先说清楚这套系统要解决什么问题。叫它“局域微电网”指的是一个不依附大电网的独立供电网络几台分布式电源、储能、负载通过一条交流母线连在一起自己维持电压和频率。这种场景在实验室微电网平台、偏远地区独立供电、或者临时应急供电里都很常见。既然是独立运行就必须有一台设备站出来“撑场子”——提供电压幅值和频率参考让其他设备有基准可以跟踪。传统做法是让其中一台逆变器运行在恒压恒频控制VF控制模式承担主电源角色但VF控制的本质是一个理想电压源加一个固定频率它对负载扰动没有任何“惯性”可言负载一加减电压电流就会硬生生地变化动态品质很差。VSG控制的思路完全不同。它把同步发电机的转子运动方程移植到逆变器的控制算法里让逆变器表现出和真实发电机一样的惯量、阻尼和下垂特性。负载增加时转速也就是输出频率会先降一点然后通过一次调频慢慢恢复这个“先降后缓”的过程就是系统惯量在起作用。从电网角度看它不再是一个简单的电子设备而更像一台“虚拟的柴油发电机”。那另一台逆变器为什么用PQ控制而不是也用VSG这里有个工程上的实际考量。PQ控制的本质是功率跟踪给定有功和无功参考值通过闭环把输出功率调到目标附近。它不关心电压频率是多少——反正主站会撑住——它只负责按指令出力。这种“跟着干”的角色非常适合模拟光伏、储能单元在微电网中的行为可调、可控、没有惯性负担。两台都用VSG行不行当然行学术界双VSG并联研究的文章很多但实操上难度会显著增加。两台虚拟同步机同时参与调频调压彼此的惯量和下垂系数需要严格配合否则很容易出现功率振荡甚至出现环流。而VSG主站加PQ从站的组合控制分工清晰VSG管电压和频率PQ管功率调参时互不干扰对初学微电网仿真的人来说这是最容易调通、也最容易看懂本质的架构。表格总结一下两种组合的差异方便大家按需求选择组合方式电压/频率支撑功率分配方式控制复杂度适用场景VSG PQVSG负责PQ跟随主站承担全部负荷波动从站按指令出力较低逻辑清晰微电网实验、储能/光伏功率可控输出模拟双VSG两机共同支撑按下垂系数自动均分较高需协调惯量和下垂对等供电、冗余供电场景从仿真建模的角度说VSGPQC 这套组合还有一个额外的好处如果后续要扩展成“三机四机”只需要复制PQ逆变器并修改参考功率就能实现负荷均分甚至可以把PQ机改成VSG机做演练架构本身不会限制扩展性。所以我最终定下来主站用VSG从站用PQ把系统设计成“一个有思想的主电源加一个指哪打哪的从电源”。2. VSG的转子模拟与电压源建立算法和参数VSG控制是整个微电网的核心它决定了系统的电压质量、频率动态和负载适应性。很多人第一次看VSG的框图会被一堆积分器、滤波器吓到但其实剥开来看它就是在做两件事模拟同步发电机的转子惯性以及模拟它的励磁调节特性。2.1 转子运动方程与虚拟惯量同步发电机的机械动态用转子运动方程描述J·dω/dt Pm - Pe - D·(ω - ω0)其中J是虚拟转动惯量单位kg·m²ω是当前电角速度ω0是额定角速度Pm是机械功率输入Pe是电磁功率输出D是阻尼系数。放到逆变器控制里Pm就是有功功率参考值PrefPe就是逆变器实测的输出有功功率P。两者做差以后经过一个积分环节就得到了角频率ω。这个积分环节就是虚拟惯量在起作用——J越大频率变化越慢系统抵抗扰动的能力越强但也意味着频率恢复得越慢J太小频率变化像刀切一样快动态品质就差。我在Simulink里的实现方式是先用三相瞬时功率计算模块得到P然后用一个减法器算出Pref减去P乘以系数1/J再经过一个带限幅的积分器得到ω。限幅非常关键我第一版没有限幅负载切空后积分器无约束上升频率直接冲到了55Hz以上波形惨不忍睹。限幅范围一般设在额定频率±10%以内比如50Hz系统就限在45~55Hz。阻尼系数D的整定通常按下式估算D ΔP / Δω假设系统允许从空载到满载时频率跌落1Hz有功变化量为10kW那么D 10000 / (2π·1) ≈ 1590。这个值体现的是VSG的一次调频能力D越大频率跌落越小但阻尼太大会导致动态响应变慢、功率超调变大。我实际调试中的感觉是D先按满载频率跌落1Hz来算然后微调以“加载瞬间频率跌落后能平滑恢复、不来回振”为验收标准。2.2 无功-电压下垂与励磁模拟同步发电机还有一个特性无功功率输出会拉低机端电压。VSG通过无功-电压下垂来模拟这一行为E E0 n·(Q0 - Q)E是虚拟电动势幅值E0是空载电压幅值n是下垂系数Q0是无功参考Q是实测无功。n的整定逻辑和D类似假设无功从0到额定值时电压允许变化5%那么n ΔU / ΔQ。这套仿真里我用的额定电压是380V线电压逆变器侧相电压幅值约为310V。E0取310Vn设为0.001相当于2kVar无功变化时电压幅值变化2V左右。这个下垂系数不宜过大否则电压偏差会超出负载允许范围也不宜过小否则VSG基本失去无功支撑能力。2.3 从频率和幅值到三相电压指令得到ω和E之后还不能直接生成三相参考电压。需要一个“虚拟功角”的概念。实际上ω经过积分得到相位角θ这个θ和E一起通过三相正弦发生器生成ua、ub、uc参考电压。这一组电压就是电压外环的给定值。有两点容易被忽略。第一VSG在孤岛模式下不需要锁相环因为它自己就是基准源θ直接由积分器产生但如果后面要并网就必须引入PLL去追踪电网相位否则并网瞬间会有巨大冲击。第二θ要达到和电网一样的相位精度积分器中不能有累积误差所以离散仿真里尽量用高性能积分器块并把积分初值设为零。我在这套模型中的电压控制环是一个电压外环加电流内环的双环结构PI参数按典型二阶系统整定。电压外环带宽设在300Hz左右电流内环带宽设在1kHz左右。如果你用的是LCL滤波器电流采样建议采电感侧的电流这样控制稳定性更好。电压波形出来以后用RMS模块测量稳定在380V±3%以内就算达标。3. PQ功率外环与电流内环的Simulink实现第二台逆变器承担PQ控制。它的框架相对常规——功率外环加电流内环但放进微电网场景里有几个细节和单纯并网PQ控制完全不同照着并网PQ的做法直接套一定会出问题。3.1 瞬时功率计算与滤波PQ控制的第一步是计算当前逆变器输出的有功和无功。在dq旋转坐标系下P 1.5 · (ud·id uq·iq)Q 1.5 · (uq·id - ud·iq)上面用的ud、uq和id、iq分别是把三相电压电流做Park变换后得到的d轴和q轴分量。坐标变换的相位从哪里来在并网工况下用PLL锁电网但在这套微电网里直接从VSG输出的角频率积分得到或者用一个软件PLL锁定公共母线电压。计算出来的瞬时功率含有大量谐波分量和开关纹波直接进PI控制器必然导致控制量抖动所以必须加低通滤波。滤波器时间常数一般取10ms到20ms对应截止频率10~15Hz。滤波太深功率环响应会变得迟缓滤波太浅又抑制不了纹波。我在模型里用的是一阶低通时间常数15ms实测比较平衡。3.2 功率外环与电流内环的级联功率外环的任务是把Pref和Qref分别与滤波后的P、Q做差经过两个PI控制器输出d轴和q轴的电流参考值。然后电流内环再对这些电流参考值做跟踪形成级联控制结构。电流内环通常用PI加解耦补偿。因为dq坐标系下d轴和q轴之间存在耦合项ωL·i如果不解耦两个轴的电流会互相干扰动态响应变差。解耦计算式为vd* (Kp Ki/s)·(id_ref - id) - ωL·iq udvq* (Kp Ki/s)·(iq_ref - iq) ωL·id uq其中ud、uq是公共母线电压的前馈补偿用来提升抗扰性。注意解耦项里的ω不能取固定50Hz最好用实时频率信号否则频率偏移时解耦效果会打折扣。功率外环的PI带宽要低于电流内环一般差5到10倍。我用的功率环PIKp取0.2Ki取5电流环PIKp取8Ki取200单位都是标幺值下的系数。这个设定是经过多次试验得到的电流响应快、功率环无静差也没有出现两个环互相激发的振荡。3.3 参考值给定与限幅处理PQ逆变器的Pref和Qref在仿真里通常设为常数或者阶跃变化。比如模拟光伏出力变化时在某个时刻把Pref从5kW阶跃到10kW模拟无功补偿时把Qref从0阶跃到2kVar。但功率参考值不能随意给必须考虑逆变器容量和直流母线电压约束。我这套模型里单台逆变器额定容量10kVAPref限制在0~9kWQref限制在-5~5kVar超出后由限幅器硬截断防止PI积分饱和。还有一个微电网场景特有的问题VSG主站能承载的功率是有限的。如果PQ从站的功率阶跃太大、太快主站电压会瞬间被拉低甚至触发过流保护。所以PQ的功率参考值变化速率要有限制。我在模型里给Pref前加了一个变化率限制器上升速率设为2kW/s。这个“斜率限制”的做法大大改善了加载时的瞬态性能虽然牺牲了一定的响应速度但换来了系统稳定属于典型的工程权衡。另外提一句PQ控制的本质决定了它自己无法建立电压所以在仿真启动时必须先让VSG逆变器建立电压PQ逆变器检测到母线电压正常之后再解锁运行。我用的方法是VSG在t0s直接启动PQ逆变器的使能信号延迟0.2s发出同时PQ逆变器在使能之前三相调制波输出全部置为零避免未同步就投切的电流冲击。4. T型三电平逆变器的建模与调制细节这个项目选T型三电平逆变器而不是普通的两电平主要出于两点考虑一是输出电压谐波小对负载和滤波器友好二是开关管电压应力低适合直流母线电压较高的场合。但三电平拓扑也带来了独特的问题尤其是中点电位平衡仿真里如果不处理就会出现直流侧上下电容电压分家、输出波形畸变的怪现象。4.1 T型拓扑结构与开关逻辑T型三电平的每个桥臂由四个开关管构成两个IGBT串联承担正负母线电压两个反向串联的IGBT连接到直流母线中点形成“T”字形结构。每相可以输出三种电平正母线电平P、零电平O、负母线电平N。开关逻辑上P状态开通上管和两个中点钳位管中对应的一个N状态开通下管O状态开通两个中点管。落到Simulink里我用的是Simscape Electrical模块库里的三电平桥臂或者直接用IGBT、二极管离散搭建。离散搭虽然麻烦但可以清晰看到每个管的开关状态排查死区问题时很方便。4.2 调制方式选择三电平调制方法我对比过两种载波层叠SPWM和SVPWM。载波层叠法相对简单三相调制波和两路三角载波比较一路载波在0~1范围内另一路在-1~0范围内调制波大于高载波输出P小于低载波输出N介于两者之间输出O。这种方法实现门槛低Simulink里用几个比较器就能搭出来但直流电压利用率比SVPWM低约15%。SVPWM用空间矢量合成来等效调制直流利用率高、谐波特性好但三电平SVPWM有27个开关状态扇区判断和矢量作用时间计算都比较繁琐。我最终在模型里采用的方案是SPWM加三次谐波注入。三次谐波注入可以明显提高直流电压利用率接近SVPWM的水平而且实现复杂度远比SVPWM低——只要在调制波上叠加上1/6幅值的三次谐波就行。调制波频率取5kHz相当于开关管实际开关频率也是5kHz三个电平的等效输出脉冲频率达到10kHz谐波集中在10kHz倍频附近后级LC滤波器用很低的截止频率就能压下去。4.3 中点电位平衡这是T型逆变器绕不过去的坎。由于O电平会引入中点电流当三相输出不对称或负载不平衡时直流母线上下电容的充放电时间不一致中点电位就会偏移。极端情况下上电容电压高达500V、下电容只有200V开关管电压应力严重不均衡滤波器出来的电压波形也会出现明显畸变。应对方法有几种最简单的在负载功率因数接近1的三相对称工况下中点偏移量本身很小可以不用处理但只要模拟单相负载切换就必须加平衡控制。我在这套仿真里用了零序电压注入法计算中点电压偏差通过一个PI控制器生成零序分量叠加到三相调制波上。这个控制在Simulink里实现很直观实测可以把中点电压偏差抑制在±20V以内。如果做实验平台还可以在硬件层面增加中点电压平衡电阻或双向变换器但在纯仿真环境下零序注入法性价比最高。4.4 滤波器设计逆变器输出滤波器我选的是LCL结构因为三电平的谐波频率较高且幅值较小LCL可以用更小的总电感量达到同样的滤波效果。参数上逆变器侧电感L1 3mH网侧电感L2 0.8mH滤波电容Cf 10μFLCL滤波器的谐振频率大约是1.2kHz正好在电流环带宽1kHz和开关频率5kHz之间符合设计原则。但LCL本身存在谐振峰如果电流采样是单电感反馈谐振峰可能被激励出来。Simulink里如果发现电流波形有持续的高频振荡第一反应就该检查LCL谐振频率处的阻尼。我在电网侧电感上串联了一个2Ω的阻尼电阻代价是增加了损耗但控制稳定性大幅改善仿真阶段完全值得。5. Simulink整机模型搭建流程与关键设置很多人在微电网仿真上卡住不是因为算法难而是不会组织Simulink模型导致代数环、采样时间不匹配、数据溢出各种问题满天飞。我分享一下这套模型的顶层结构和搭建顺序按照这个顺序走能少走很多弯路。5.1 顶层电路结构整个模型分两大块主电路子系统Simscape Electrical物理模型和控制子系统一般Simulink信号模型。主电路子系统里两条逆变器支路、公共母线和负载是互相独立的物理网络通过公共母线节点连接。两个逆变器的直流侧都由独立直流源供电电压设为700V。直流源、母线电容和逆变器组成一个物理域逆变器交流输出经过LCL滤波器后在公共母线上汇合母线上并联一个可切换的RLC负载用一个阶跃信号控制断路器来模拟负荷投切。这里要特别提醒物理域的信号不能直接进入一般Simulink域。所有测量量电压、电流、功率都要经过“电压-电流测量模块”加信号转换接口才能输给控制子系统。控制子系统输出的PWM脉冲也要经过Simscape的“门控信号输入接口”才能进入IGBT桥臂。第一版模型里我直接在物理网络上接了示波器结果一堆红色报错线查了半小时才发现是域不匹配的问题。5.2 控制信号的组织控制子系统内部按功能分成四块VSG算法块输入有功、无功、电压测量值输出三相参考电压和频率信号。VSG电压双环控制块跟踪参考电压输出PWM波。PQ算法块输入功率测量和参考值输出d轴和q轴电流参考。PQ电流内环与坐标变换块生成PQ逆变器的PWM波。每个功能块都用原子子系统包住并给控制信号单独设置采样时间。我的习惯是主电路物理模型用连续时间控制子系统用离散时间采样步长20μs和5kHz开关频率匹配——如果控制采样太慢PWM分辨率就不够太快又会显著拖慢仿真速度。离散控制区和连续物理区之间不要直接用基本采样时间模块连接建议通过零阶保持器加滤波的组合来处理避免在每个仿真步长都引入代数约束。我把这个方法用在所有测量信号上之后原来偶发的“代数环无法求解”错误彻底消失了。5.3 求解器与步长设置仿真求解器的选择对结果影响很大。我实测下来微电网这种既有快速开关动作又有慢速功率动态的系统适合用变步长ode23tb刚性求解器相对容差设为1e-4。如果刻意追求波形平滑度可以换固定步长10μs的离散求解器但仿真时间会显著变长不适合做参数扫描。负载切换时刻附近波形会出现很尖锐的高频分量此时变步长求解器能自动缩小步长但有时候步长收敛失败表现为仿真进度长时间卡在某个百分比。解决方法是把断路器切换动作设置成瞬时导通加一个很小的串联电阻0.01Ω避免理想短路条件同时在负载支路上并联一个小电容0.1μF吸收换路冲击。5.4 测量点布置与数据记录测量的位置需要规划好。VSG控制需要三个数据本机输出有功P、逆变器侧电压ud/ uq因此测量点放在LCL滤波器的电容端。PQ控制需要公共母线电压和本机输出电流测量点放在电容和网侧电感之间。这样的布置能保证控制闭环看到的量和物理实际严格对应不会出现“采了网侧电流当作逆变器侧电流”的逻辑错乱。数据记录我用的是Scope加To Workspace双通道。Scope用来肉眼观察波形To Workspace把关键的P、Q、f、udc等变量存成数组方便脚本后处理画图。强烈建议从一开始就把所有关键变量都存下来否则后面要补某个波形又得重跑一遍仿真半小时起步的仿真时间会让你欲哭无泪。6. 实测波形异常排查记录模型搭好以后调试阶段遇到了四个典型问题。每个问题的现象、原因定位、和最终处理办法我都记录下来这些问题几乎每个做微电网仿真的人都会遇到可以直接对照排查。6.1 启动瞬间的冲击电流现象VSG在0秒启动时输出电流瞬间冲到正常值的5倍以上滤波电容充电电流和变压器类似的涌流叠加在一起母线电压有一个明显跌落。原因启动时滤波电容初始电压为零VSG输出电压指令却直接是额定幅值310V相当于把电容从零瞬间充电到310V冲击电流自然下不来。处理办法给VSG的电压幅值E加一个软启动斜坡从0开始0.3秒内线性上升到额定值。相位θ也从0开始积分让电压相位连续过渡。这个软启动处理之后启动冲击电流降到了正常值的1.2倍以内母线电压的跌落也基本消失。提示如果直流母线也是仿真里自己建起来的建议先让直流源单独充电等母线电压稳定在700V以后再启动逆变器控制。我见过有人在同一个仿真里直流源、逆变器、控制三部分同时启动结果系统相互耦合波形乱成一锅粥。6.2 PQ从站投入瞬间的功率振荡现象PQ逆变器在0.2秒解锁投入后输出功率并不平滑而是在参考值附近来回振荡振荡频率大约5Hz持续了0.6秒才收敛。原因我排查后发现功率外环的PI参数初值取得过于“激进”——Kp较大功率反馈滤波时间常数又偏短导致功率环带宽接近电流环两个环路发生交互。另外PQ逆变器投入时角度和母线相位存在细微偏差产生一个短暂的冲击功率。处理办法把功率环Kp从0.5降到0.2Ki从15降到5滤波时间常数从5ms调到15ms同时把PQ逆变器投入时刻的相位初始值和母线相位做了一次预同步让θ_pq θ_vsg再锁定。改完之后投入过程的功率振荡收敛时间从0.6秒缩短到0.2秒超调量从40%降到8%。6.3 负载投切后的VSG频率漂移与恢复问题现象负载从10kW切换为15kW时VSG频率跌落了0.5Hz这个正常但随后频率恢复速度很慢接近5秒才回到49.9Hz系统给人“拖泥带水”的感觉。原因虚拟惯量J设定偏大。我初值设的是J 3 kg·m²对照同步发电机的时间常数相当于转动惯量很大频率响应确实“稳”但恢复也“钝”。与此同时阻尼系数D偏小系统阻尼不足频率恢复阶段有一个明显的欠阻尼摆动。处理办法J从3降到0.8D按满载频率跌落0.8Hz反推调整最后取了D 2000。调整后频率跌落控制在0.3Hz以内恢复时间缩短到1.5秒动态曲线平滑无振荡。这里调参的经验是J主要影响跌落深度和恢复速度D主要影响恢复过程的振荡性质两个参数配合调整而不是只动一个。6.4 三电平中点电压不可控漂移现象投入单相负载模拟时直流母线上下电容电压差从0慢慢漂移到100V输出电压波形出现明显的半周削顶。原因单相负载导致三相电流不对称O电平引入大量的中点电流而我的调制策略没有包含中点平衡控制。处理办法在调制波上叠加零序电压分量零序分量的指令值由中点电压差PI控制器生成。PI输出加到三相调制波上使PWM在P和N状态之间合理分配平衡上下电容的充放电。修改后中点电压偏差始终控制在±15V以内输出波形恢复正常。这个案例让我意识到T型逆变器仿真里不能跳过中点平衡尤其是做非对称负载场景时这项功能几乎和主控制算法同等重要。6.5 仿真突然发散问题现象模型跑了一段时间后某个采样点的电流突然变成NaN仿真中断且每次中断位置都差不多。原因定位后发现是PQ逆变器投入时刻正好碰到负载切换两个事件在同一仿真步发生物理变量跳变剧烈ode23tb在连接点处无法收敛。还有一种可能是LCL滤波器的阻尼电阻和测量模块的组合造成了代数环在快速动态下放大误差。处理办法把PQ投入的时刻从0.2s改成0.25s避开负载切换同时给阻尼电阻两端并联了一个10μF的缓冲电容消除代数约束。这两处修改之后模型连续跑完整个仿真周期再也没出现发散。7. 验证指标与扩展方向系统调通以后我建议逐步验证几个指标并思考可以扩展的方向。这是整个模型“成”与“不成”的硬性标准。7.1 “合格”微电网的核心指标首先是电压质量公共母线电压幅值应该在额定值±5%以内无论空载还是满载电压波动越小越好。其次是频率质量稳态频率50Hz±0.2Hz负载阶跃时频率最大偏差小于1Hz恢复时间小于3秒动态过程无明显振荡。然后是功率分配精度PQ逆变器的实际输出功率与参考值的稳态误差小于2%动态超调小于20%。最后是波形质量逆变器输出电压的THD低于3%电流波形无明显畸变。我把这些指标做成了一张自查表每次修改参数后都用脚本批量运行仿真自动计算出上述指标并标记是否通过。这个习惯帮助我在调参时有一个明确的数字依据而不是凭目测波形来判断好坏——肉眼看到的“平滑波形”和真实谐波含量有时候完全是两回事。7.2 可以继续做的扩展这套双机微电网模型是个很好的基础平台往上扩展的思路很自然把PQ逆变器换成另外一台VSG对比双VSG均流控制与主从控制的差异重点体验下垂系数和惯量协调的难题。加入并网开关做“孤岛转并网”和“并网转孤岛”的预同步与平滑切换研究这个方向在微电网工程里更贴近实际。把直流侧的理想直流源换成光伏模型加储能电池让PQ从站真正模拟新能源单元的出力特性这样仿真就更完整了。在控制回路里加入二次调频和二次调压机制让VSG主站的频率和电压最终恢复到额定值模拟微电网能量管理系统EMS的下发效果。我最后想多说一句微电网仿真的目标不是“波形好看”而是理解每个控制环路的物理意义。VSG让逆变器有了“机器的性格”PQ让功率输出变得“听话”T型三电平让波形和环境更友好——这三个东西各自独立但配合起来就是一套完整的微电网控制系统。把每个环节为什么这么设计想清楚了遇到任何新的拓扑比如MMC、五电平方法论都是通用的。仿真跑到后期我最深的体会是多花点时间在中点平衡和软启动这种“不起眼”的细节上远比把主算法调得花哨更值得因为真正让系统跑崩的往往是这些基础环节。
返回列表