ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

单相并网逆变器主动频移法孤岛检测Simulink仿真全解析

2026/9/8 3:47:07 拓冰建站 浏览量
单相并网逆变器主动频移法孤岛检测Simulink仿真全解析 搞过光伏并网或者分布式发电研究的人应该都绕不过孤岛检测这道坎。电网侧断路器一断开逆变器如果还傻乎乎地继续向本地负载供电系统就形成了一个脱离大电网的孤岛。线路上明明挂着检修中实际却带着电这对运维人员来说就是直接的安全隐患。行业内最常用的过/欠压、过/欠频检测都属于被动检测可一旦负载功率和逆变器输出功率刚好匹配这种检测方式就会出现成片的盲区。主动移频法Active Frequency DriftAFD就是为根治这类盲区而生的主动检测方案它原理直观、实现门槛低是我见过最适合用来入门主动式孤岛检测的技术路线。这篇文章我会把单相并网系统里AFD孤岛检测的仿真从原理、建模、参数整定到调试翻车经历完整走一遍环境基于MATLAB/Simulink适合正在做并网逆变器仿真、光伏并网课题或者想搞懂防孤岛保护原理的工程师直接参考。1. 为什么孤岛检测要主动出击被动检测的盲区分析1.1 孤岛是如何形成的又危险在哪先理清孤岛的触发场景。分布式发电系统通过并网点PCCPoint of Common Coupling接入大电网逆变器与电网并联运行。正常工作时PCC处电压幅值和频率都由电网支撑逆变器只需要按指令把功率送入电网即可。但当电网侧因检修、故障跳闸或者计划停电而断开时逆变器并不知情它继续向本地负载供电。只要本地负载消耗的功率与逆变器输出功率大体匹配系统就能自给自足地维持运行这就是孤岛。孤岛的危险主要体现在三个层面。第一是人身安全检修人员按规程操作停电线路但逆变器通过本地负载反送电线路上依然带危险电压。第二是设备损坏孤岛系统的电压和频率失去了电网支撑可能缓慢漂移到允许范围之外精密负载会受损。第三是重合闸冲击电网恢复供电时如果孤岛系统的相位和电网相位不一致重合闸瞬间会造成很大的冲击电流损伤逆变器和配电设备。所以并网标准普遍要求逆变器在电网失电后的规定时间内检测到孤岛并停止供电IEEE 1547中明确要求2秒内完成断开这是所有防孤岛研究的性能基准。1.2 被动检测为什么存在检测盲区被动检测的原理很朴素检测PCC处的电压幅值、频率、相位、谐波是否发生明显偏离。电网断开后如果本地负载消耗的有功功率不等于逆变器输出有功PCC电压就会升高或跌落如果负载的无功需求和逆变器输出不匹配频率也会偏移。过/欠压、过/欠频保护就能动作。问题就在于如果二字。逆变器为了最大化输出通常会配置功率平衡控制本地负载往往被设计成与逆变器额定输出功率大体匹配。更麻烦的是住宅负载常是RLC并联负载其中L和C构成谐振回路。当负载的谐振频率恰好等于电网频率50Hz且负载消耗功率与逆变器输出功率完全匹配时孤岛发生后PCC电压幅值和频率几乎不产生偏移被动检测彻底失效。这个无法被检测到的功率/频率组合区域就是所谓检测盲区NDZNon-Detection Zone。这里还要引入负载品质因数Q的概念。Q值反映RLC并联回路谐振特性的尖锐程度QR·√(C/L)。Q越高负载相频曲线越陡峭同样的无功失衡引起的频率偏移越小。换句话说高Q的RLC负载是孤岛检测最严苛的对手。在实际工程测试中标准规范通常要求在Q2.5甚至更高的负载条件下验证防孤岛性能这正是为了模拟最恶劣的情况。1.3 主动检测技术为什么能破局被动检测的根子问题在于守株待兔——坐等扰动出现。主动检测思路则完全不同既然孤岛后系统会维持在一个偏移量很小的平衡点上那就不如由逆变器主动注入扰动让孤岛系统无法稳定在额定工作点迫使电压或频率持续偏移出保护阈值。按照扰动量的不同主动检测可以分成几大类扰动频率的AFD和滑模移频法SMS在频率扰动基础上加入正反馈的Sandia频移法SFS扰动有功或无功功率的功率扰动法以及注入谐波或测量阻抗变化的阻抗检测法。在这些方案中AFD是逻辑最简单、参数最少的一种。它只需要一个斩波系数cf就能在孤岛发生后让频率单向爬升直到触发过频保护。作为Simulink仿真入门AFD可以帮你把主动检测的整个逻辑链路跑通之后再切换到SFS等工程性更强的方案理解成本会低很多。2. AFD是怎么把频率顶出保护带的原理与数学表达2.1 斩波因子如何塑造电流波形AFD的实现原理并不复杂。正常并网时逆变器电流要尽量与电网电压保持同频同相才能以单位功率因数输出有功。AFD做的小动作是在每个半周期内让电流比电压提前一小段时间停止输出然后在电压过零后再恢复相当于在正弦电流波形的每个半周期末尾切掉一块形成一段死区。把这段被切掉的时间记为 t_z电网电压半周期是 T_v/2那么斩波因子定义为cf t_z / (T_v/2)这个cf就是整个AFD算法里唯一的控制参数典型取值范围在0.02~0.05之间。由于每个半周期电流都提前 t_z 结束等效于输出电流的周期比电网电压周期略微缩短电流基波频率 f_i 相对电网频率 f_v 有一个正向偏移f_i f_v / (1 - cf) ≈ f_v × (1 cf)用大白话说电流的过零点每个半周期都比电压过零提前一点。cf越大提前量越大等效频率偏移越大。并网运行的时候这个提前一点的扰动并不会真的改变PCC频率原因是电网是个极强的电压源PCC电压频率被电网牢牢钳制住逆变器的参考电流必须跟着电网走。AFD的提前截止只表现为电流基波有一个很小的超前相位同时THD略微升高。这也是AFD在并网阶段相对隐形的原因。2.2 孤岛后频率为什么会逐周波爬升当断路器断开、系统进入孤岛状态后情况就完全不同了。此时PCC电压不再由电网支撑而是由逆变器输出电流与本地RLC负载共同决定。AFD的电流提前截止行为就会真实地推动电压过零点逐步前移表现为每个周波的周期都在缩短频率逐周波抬升。从负载相频特性的角度理解更清楚。RLC并联负载的阻抗角是频率的函数在谐振频率f0处阻抗角为0偏离谐振点时阻抗角才会拉开。AFD迫使电流相对电压有一个固定的超前角度ψ孤岛系统要稳定运行就必须满足负载阻抗角等于ψ这个条件。由于相角差ψ来自于斩波参数cfcf越大对应的稳定点偏离谐振频率越远。如果这个稳定点的频率已经超出了过频保护阈值比如50.5Hz保护就能动作。负载品质因数Q在这里扮演了关键角色。Q越高负载相频曲线在f0附近越陡峭同样的相位偏移ψ对应的频率偏差就越小。这也就解释了为什么高Q负载下AFD检测更困难同样的cf扰动频率被推出的距离更小要花更长时间才能越过保护阈值甚至可能无法越界。这个规律对后续仿真中的参数整定非常重要。2.3 AFD与SMS、SFS的差异把AFD放进主动式检测的家族里看它的定位很清晰扰动是固定的、无记忆的不会随频率偏差增大而变化。SMS滑模移频则设定一条固定的相角-频率特性曲线电流相位偏移随频率偏移自动增大有一定的正反馈效果但本质是被动的负载相角匹配。SFS则在AFD基础上增加了一个与频率偏差成正比的增益项频率一旦偏离扰动迅速加大形成强正反馈这也是它在工程产品中更常见的原因。AFD作为仿真入门的好处在于它的行为完全由cf决定线性、可预期、容易调试。但它的短板也很明显cf设置小了高Q负载下检测时间过长甚至检测失败cf设置大了并网阶段THD和注入的无功都会上升。这个矛盾我们会在参数整定部分专门讨论。3. 单相并网系统Simulink模型搭建主电路、控制器与参数表3.1 平台与求解器选择做电力电子仿真MATLAB/Simulink配合Simscape Electrical早期版本叫SimPowerSystems是事实标准。AFD孤岛检测仿真需要同时建模主电路、开关器件、离散控制器和PLL我推荐在powergui里选择离散模式采用固定步长求解器步长设为1e-5秒也就是10微秒。开关频率10kHz对应一个开关周期100微秒10微秒步长可以把PWM和AFD死区时序都看得比较清楚。为什么不建议用连续求解器因为PWM开关时刻是离散跳变的连续求解器会把变步长算法折腾得极慢还容易在开关切换处产生数值振荡。离散定步长是电力电子仿真的常规操作。仿真时长设置为0.8秒就够了前0.5秒并网运行0.5秒时触发孤岛留出0.3秒观察检测和保护过程。3.2 主电路参数设计与计算主电路拓扑采用单相全桥逆变器直流侧直接用理想直流源代替光伏阵列省去MPPT集中精力研究孤岛检测。滤波环节用单电感Lf即可。并网额定参数按2kW设计电网为220V/50Hz单相系统。这里的关键是RLC并联负载的参数计算。首先负载电阻要能消耗逆变器的额定有功功率R V²/P 220²/2000 24.2Ω。其次要让负载在50Hz处谐振同时品质因数取Q2.5这是防孤岛测试里很有代表性的值。由QR·√(C/L)和谐振条件ω01/√(LC)可以推出LR/(Q·ω0)≈30.8mHC1/(ω0²·L)≈329μF。这个谐振负载其实是一个功率陷阱它消耗的有功全部由R承担L和C之间则有约2.5倍于有功电流的无功环流在仿真中合理地制造了对频率检测最不友好的工况。完整参数表如下可以直接照着搭参数符号数值电网电压有效值Vs220 V电网频率f50 Hz直流侧电压Vdc400 V额定输出功率P2000 W滤波电感Lf3 mH开关频率fsw10 kHz负载电阻R24.2 Ω负载电感L_load30.8 mH负载电容C_load329 μF负载品质因数Q2.5负载谐振频率f050 Hz提示RLC负载的电容和电感一定要设置合理的初始条件。如果直接用默认的零初始状态仿真刚开始的一两个周波会有剧烈的能量交换冲击严重时会导致断路器断开瞬间振荡甚至发散。最省事的做法是在powergui里启用Start simulation from steady state选项或者给控制器加一段软启动斜坡。3.3 AFD控制器、PLL与保护逻辑的实现AFD控制器的核心功能是检测PCC电压过零根据cf计算出本半周期内的时间分配生成带死区的正弦参考电流。我用一个Matlab Function模块实现这个逻辑好处是时序关系一目了然调参只需要改cf一个变量。function iref afd_ref_ctrl(enable, vs, Im, cf, T_v, t) % AFD参考电流生成演示版 % enable : 逆变器使能1运行 % vs : 并网点电压瞬时值 % Im : 参考电流幅值 % cf : 斩波因子典型值0.02~0.05 % T_v : 电网周期估计值由最近的过零间隔更新 % t : 仿真时间 persistent t_zc_last vs_prev if isempty(t_zc_last) t_zc_last 0; vs_prev 0; end % 电压上升沿过零检测 edge_up (vs 0) (vs_prev 0); if edge_up t_zc_last t; end vs_prev vs; if enable 0 iref 0; return; end % 本半周期内电流输出段时长 t_on T_v/2 * (1 - cf); % 先输出半段正弦再进入AFD死区 if (t - t_zc_last) t_on theta pi * (t - t_zc_last) / t_on; iref Im * sin(theta); else iref 0; % AFD死区电流为零 end这段代码的逻辑是每个电压上升沿过零后先按正弦波输出 t_on 长的一段电流之后电流保持为零持续到下一个过零。cf越大t_on越短死区越长频率偏移越强。需要注意演示版为了可读性做了简化实际模型中 T_v 要用最近两次过零间隔更新而不是固定0.02秒否则孤岛后频率爬升无法在控制律中体现。PLL部分单相系统没有天然的dq轴最简单的做法是用Simulink自带的单相PLL模块锁相输出wt和频率。但是PLL输出的瞬时角频率在稳态会有纹波直接拿去判频很容易误触发保护。我的经验是频率测量改用电压过零间隔倒数再对最近3~5个周期做滑动平均这样测得的频率既平滑又能敏锐反映孤岛后的爬升趋势。电流内环用PI控制器加PWM发生器。直流侧是理想源不需要电压外环电流环参考幅值Im设为12.86A2kW对应的峰值电流可以在0.1秒内斜坡爬升避免启动冲击。PWM载波10kHz调制波是PI输出全桥用双极性调制。断路器用Simscape Electrical里的Breaker模块在0.5秒时刻断开模拟电网掉电。保护逻辑很简单对PCC频率做实时判断超过50.5Hz或低于49.5Hz就输出跳闸信号关闭逆变器使能端。同时在模型中把断路器断开时刻和保护动作时刻都记录到工作区用于计算检测时间。3.4 模型分层与信号流设计仿真模型建议按四个子系统组织主电路子系统直流源、全桥、滤波电感、断路器、电网、RLC负载、AFD控制器子系统过零检测、参考电流生成、PI、PWM、频率检测与保护子系统过零间隔测频、滑动平均、阈值判断、观测子系统电压电流频率检测时间记录。用子系统封装的好处是参数修改和故障定位都方便不会在调试时陷入一团乱麻。信号流方向要理顺PCC电压同时送给PLL和过零检测PLL输出相位给电流参考生成做同步过零检测输出给AFD逻辑计算死区时间PI输出经PWM生成开关信号驱动全桥保护模块根据频率测量值控制逆变器使能。只要这个信号流顺序清晰模型搭起来就不会乱。4. 仿真波形解读从电网断开到保护动作的完整过程4.1 并网阶段扰动存在但被电网压制在0到0.5秒的并网阶段观察PCC电压和逆变器输出电流波形能看到电流在每个半周期末端存在一小段零值这就是AFD死区的直接体现。以cf0.03为例每个半周期的死区时间约0.3毫秒肉眼几乎看不出电流有什么异常但用FFT分析电流波形THD大约在3%左右其中主要是3、5次谐波。PCC频率稳定在50HzPLL测频结果在50Hz附近有微小的周期性波动这个波动来自AFD带来的相位扰动幅度通常不超过0.02Hz不会引发误动作。这个阶段的波形非常重要它验证了一个核心结论AFD的扰动在并网时被电网电压钳制住了不会真的带偏系统频率代价只是小幅增加的THD。4.2 孤岛阶段频率逐波爬升直至保护0.5秒断路器断开瞬间PCC电压会有一个短暂的小幅波动持续时间大约一个周波。这是因为电网突然撤出逆变器与RLC负载需要重新建立电压相位关系。随后进入关键阶段观察频率测量曲线的上升过程会发现频率并不是突变而是阶梯状地、一个周波接一个周波地向上爬升。以cf0.03、Q2.5的参数为例实测结果中频率大约每5~8个周波抬升0.01Hz从50Hz抬升到50.5Hz大约需要0.12到0.18秒。达到50.5Hz后保护模块立即动作逆变器使能被拉低输出电流迅速归零PCC电压失去能量支撑后快速衰减到0。整个孤岛检测链路从触发到完成时间远小于2秒的标准要求。检测时间的定义我们在仿真中这样量取从断路器断开时刻到保护动作时刻直接在工作区数据里做减法。这个指标是后续参数扫描的核心输出。4.3 参数扫描cf和Q对检测时间的影响仿真模型跑通后最值得做的一组实验是对cf和负载Q进行二维参数扫描。下面这组数据来自我实际跑过的仿真趋势不同模型参数会有浮动但变化规律是通用的斩波系数cf负载Q并网电流THD孤岛检测时间结论0.022.5约2%0.20~0.25s可靠但偏慢0.032.5约3%0.12~0.18s推荐起始值0.052.5约5%0.08~0.12sTHD偏大0.031.0约3%0.06~0.09sQ小易检测0.035.0约3%0.30~0.45s难度明显增大0.015.0约1%未检出/超时盲区边缘这组对比说明两个问题第一cf是检测速度和电能质量的直接权衡旋钮不能一味调大第二Q越高检测越难如果负载的谐振频率恰好等于电网频率且功率完全匹配AFD的检测盲区就更宽。文章开头说的被动检测有盲区其实主动检测也有盲区只是盲区大幅缩小了这一点做工程验证时一定要心里有数。5. AFD参数整定与仿真中的典型翻车现场5.1 翻车现场一断路器断开瞬间仿真发散或高频振荡很多人搭好模型第一次跑孤岛切换时会在0.5秒这个点遇到仿真发散或者电压波形出现高频振荡。我一开始也以为是AFD算法的问题查到最后发现根子基本出在三个方面RLC负载初始条件不对、仿真步长过大、断路器等效电阻不合适。解决方法是按顺序排查先在powergui里启用从稳态启动仿真或者在负载电容和电感上设置正确的初始电压电流再把仿真步长从默认的2e-5或5e-5降到1e-5如果还有振荡用理想开关串联大电阻的方式替代断路器模块的瞬态让切换过程更平滑。还有一个笨但有效的经验先把负载换成纯阻性跑通整个孤岛检测流程再把L和C加回来这样能把电路问题和算法问题分开定位。5.2 翻车现场二频率测量抖动导致保护误动作如果直接用PLL输出的瞬时角频率去做保护判断大概率会遇到一个尴尬情况并网阶段频率就有0.1Hz甚至更大的波动偶尔会撞上50.5Hz阈值断路器还没断开呢保护先跳了。这是因为PLL带宽较高时瞬时角频率中混入了PCC电压畸变、PWM开关纹波和AFD死区带来的高频成分。解决方案有两个一是降低PLL带宽让频率环响应变慢二是像我前面建议的用过零间隔滑动平均的方式做频率测量。保护判频对实时性的要求其实没那么苛刻10~20毫秒的测量延迟完全够用稳定性远比瞬时性重要。频率测量通道加一个3周期滑动平均误动的问题基本可以根治。5.3 翻车现场三扰动极性反了频率往下跑这个坑比较隐蔽。正常AFD设计是让电流每个半周期提前截止等效于电流频率高于PCC电压频率孤岛后频率向上爬升触发过频保护。但如果参考电流的过零复位逻辑写反了或者死区插入位置放在了正弦段开头而不是末尾就会出现电流频率低于电压频率的情况孤岛后系统频率会向下偏移最后触发的是低频保护而不是高频保护。虽然低频保护也能断开但这个方向的问题比频率方向更麻烦负载频率在谐振点下方偏移时相频特性更平缓检测时间可能拉长甚至有可能在到达低频保护阈值之前系统就进入了另一个稳定平衡点导致检测失败。检查方法很简单并网阶段对比电流过零和电压过零的相对位置如果电流过零超前于电压过零说明方向正确如果滞后说明极性反了需要调整死区插入逻辑。5.4 参数整定建议与常见问题速查经过多次仿真踩坑我总结了一套AFD参数整定的实用建议cf从0.03开始调。以2kW单相并网系统为例cf0.03时THD还算能接受约3%检测时间也在合理范围。如果检测时间偏长优先检查负载Q是不是设得太高而不是无脑加大cf。保护阈值按50.5Hz/49.5Hz设置这是防孤岛测试的常见约定。检测时间目标不要卡着2秒做工程上留出至少4~5倍的余量做到0.2~0.5秒比较稳妥。如果需要在多台逆变器并联的工况下仿真要警惕AFD的稀释效应多台逆变器的扰动可能相互抵消整体等效cf变小。这种情况下建议改用SFS这类带正反馈的方案或者确保各台逆变器的扰动参数一致且同步。下表汇总了仿真中常见的异常现象、根因和解决办法遇到问题可以直接对着查现象根因处理办法断路器断开瞬间仿真发散RLC初始条件错误、步长过大启用稳态启动步长降到1e-5并网阶段频率误跳保护PLL带宽过高、瞬时频率波动改用过零间隔滑动平均测频孤岛后频率向下偏移AFD死区方向/极性反了检查电流过零相对电压是否超前检测时间明显偏长负载Q过高、cf过小增大cf或降低测试负载Q输出电流THD超标cf过大导致死区过长减小cf必要时换SFS方案6. 从AFD仿真到工程落地的一些扩展思考6.1 为什么工程产品更多选择SFS而非纯AFD把AFD仿真跑通之后你再去翻一些商用逆变器的防孤岛方案会发现真正用纯AFD的产品很少主流是SFS这类带正反馈的频移法。原因前面提过SFS的斩波因子随频率偏差动态增大孤岛后频率一旦开始偏移扰动会越来越强检测速度比固定cf的AFD快得多。更关键的是并网时频率偏差很小SFS的扰动自动收敛到很小的基值对电能质量的影响比纯AFD更可控。在Simulink里把AFD升级到SFS并不复杂只需要把固定cf改成一个关于频率偏差的函数cf_sfs cf0 k·|f_pcc - f_nom|。建议在做完AFD仿真后把模型另存一份改造成SFS版本观察对比。整定SFS时要注意正反馈增益k不能太大否则并网阶段微小的频率波动会被放大引发输出功率振荡。6.2 单相仿真结论如何迁移到三相系统本文做的是单相并网系统但AFD的核心逻辑迁移到三相系统时基本不变。三相逆变器的区别主要在于PLL锁定的是三相电压的正序分量频率检测取三相电压过零或PLL输出频率AFD的过零检测则改为对正序电压相位过零进行判断死区插入逻辑完全一致。三相系统还有一个额外的好处因为三相电压互相支撑单相电压畸变对测频的影响相对小频率测量往往更稳定。但反过来说三相系统的负载结构更复杂尤其是电机类负载的相频特性不像纯RLC那样理想孤岛后的频率动态会包含更多不确定因素。做三相仿真时建议先在对称RLC负载下验证再逐步加入不平衡因素。6.3 验证防孤岛性能的边界工况与标准思路防孤岛性能验证有个基本方法论找到最难检测的工况在那个工况下测试方案是否仍然有效。对AFD来说最难检测的工况就是负载功率与逆变器输出功率完全匹配、负载谐振频率等于电网频率、负载Q值尽量高。这个工况下无扰动时系统几乎感觉不到电网丢失只能靠主动扰动撬动频率偏移。在仿真中构造这个边界工况就是把RLC负载严格按额定功率、50Hz谐振频率设计Q值至少取2.5然后在这个边界条件下扫描cf参数确认存在一个检测成功的最小cf值。这个cf值就是你对该系统的最小有效扰动强度低于它就别指望可靠检测了。做标准认证测试时这类边界工况通常会是考核重点早早在仿真里摸清底数后面实测会从容很多。我做这个仿真最大的体会是孤岛检测问题的本质不在控制算法有多复杂而在于对系统失去电网支撑后的能量平衡与相位动态理解得有多深。AFD用最简洁的斩波因子把这个动态过程清清楚楚地摆到了仿真波形面前。对每个做并网研究的工程师来说自己亲手跑一遍AFD孤岛检测的完整链路比看十篇综述都更能建立直觉。