ARTICLE DETAIL

建站实战干货

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

双馈风机低电压穿越仿真:从转子过流到Crowbar参数整定的完整实践

2026/9/16 3:20:08 拓冰建站 浏览量
双馈风机低电压穿越仿真:从转子过流到Crowbar参数整定的完整实践 1. 为什么单是“跌落”就能把双馈风机打趴下先搞懂DFIG的软肋很多刚开始做风机并网仿真的同学第一次听到“低电压穿越”这个词第一反应多半是电网电压跌一下而已把风机当成一个普通电源只要电压恢复了不就行了吗等真正把双馈风机DFIG模型搭起来按下仿真运行的按钮看到转子电流冲到额定值的好几倍、直流母线电压直接拉爆、变流器报故障停机才知道事情远没有那么简单。先说清楚DFIG的结构。双馈感应发电机定子绕组直接挂到电网上转子绕组则是通过一个背靠背变频器接到电网。这个“转子绕组经过变频器再并网”的设计是双馈风机最大的特点也是低电压穿越问题最棘手的根源。背靠背变频器由转子侧变流器RSC和网侧变流器GSC构成中间是直流母线电容。正常工况下RSC控制转子电流实现有功、无功的解耦控制GSC则负责稳住直流母线电压。整个变频器的容量大概只有机组额定容量的四分之一到三分之一这也是双馈方案成本低的优势所在。但问题恰恰出在这里。电网电压突然跌落的时候定子电压发生突变而定子磁链是没法突变的。学过电机学的人都知道“磁链守恒”原则电压跌落后定子磁链中会出现一个直流分量用来维持跌落前的磁链状态。这个直流分量相对转子是高速旋转的——转差频率本来就低再加上这个磁链直流分量转子绕组感应出的电动势就会急剧增大。这时候转子侧变流器的功率器件IGBT承受的电压和电流都可能远超额定值直接烧毁也不奇怪。就好比一个正在慢速旋转的齿轮突然被人从外部猛推一把啮合处的冲击力会瞬间放大好几倍。DFIG的转子绕组就是这个齿轮的啮合点。再说直流母线电压。转子电流过流之后RSC侧涌入的功率没法及时送出去直流母线电容上的能量就会积累母线电压飙高。GSC拼了命想把能量送回电网但电网电压低的时候网侧变流器能输出的电流又有限母线电压根本压不住。正因为这个原因电网公司对风力发电机组的并网要求中低电压穿越能力成为硬指标。国内相关规程要求风电机组在电网电压跌落至额定电压的20%时需要保持并网运行一定时间通常按故障清除时间计算一般在600ms到1s以上故障清除后还要快速恢复有功输出并且在故障期间要尽力向电网提供无功支撑。仿真做得好不好说白了就是看故障期间转子电流能不能被限制在安全范围母线电压能不能稳住故障切除后有功能不能快速恢复全过程机组不脱网。这就是DFIG低电压穿越仿真要复现的全部物理过程。下文我按照我自己做仿真时的思路把从模型搭建、故障设置、保护参数整定到波形调试的完整链路拆开讲每一步都给出理由和踩坑记录。2. 仿真平台搭建MATLAB/Simulink版本选型与DFIG模型获取做DFIG低电压穿越仿真MATLAB/Simulink几乎是不二选择。不是说别的工具不行而是在“电气系统控制系统故障逻辑”的联合仿真上Simulink的Simscape Electrical库以前叫SimPowerSystems再早叫Power System Blockset积累了大量现成模块和示例能省下大量从零搭方程的时间。版本方面R2018b以后的版本对Simscape Electrical库的模块命名和参数对话框做了不小调整网上很多老教程里的路径已经对不上了。我自己用过R2016a、R2019b、R2021a其中R2019b和R2021a做双馈风机仿真的体验差别不大新版本对器散热和求解器自动选择的默认设置更合理一点。如果你纯粹想复现文献结果手头有哪个版本就用哪个版本没必要为了仿真去追新但如果是从零起步我建议至少R2019b以上因为高版本对离散电气系统的采样时间设置和求解器兼容性处理得更省心。DFIG模型来源主要有三条路各有利弊。第一条路也是最推荐入门者走的路直接用MATLAB自带的DFIG示例模型。在Simulink的库浏览器里搜索“DFIG”或者“Wind Farm”能看到官方提供的2MW双馈风机并网模型。这个模型包含了风机气动模型、轴系模型、DFIG电机本体、RSC/GSC变流器以及矢量控制策略甚至还有基础的电压跌落脚本。它的好处是整体框架完整、参数互相匹配、开箱能跑坏处是控制策略写得比较复杂牵扯到很多子模块和使能信号刚开始看会有点晕。第二条路是自己照着文献搭模型。这种方式的优点是每个环节都心里有数改参数改逻辑都顺手缺点是时间成本高最容易卡壳的地方不是电机本体而是控制环的PI参数和PWM触发逻辑的时序问题一个符号搞反仿真结果就完全不是那么回事。第三条路是用商用模型库比如一些第三方风电仿真包。这类模型精度高但价格不便宜而且授权和加密机制经常和MATLAB新版本冲突适合课题组统一采购、长期做风电方向研究的情况个人学习阶段没必要。我个人的建议是先用官方示例跑通一个完整的低电压穿越过程再对照文献把控制策略拆开逐行看最后再尝试自己从空白模型搭一个简化版。这个“先通后拆再建”的路径比一上来就啃电机方程效率高得多。模型参数方面官方示例默认的2MW机组参数作为基准就很好用定子额定电压690V、频率50Hz、直流母线电压1150V左右。但需要特别注意DFIG的标幺值设置很容易出错——电机的定子、转子和变频器分属不同的基准系统改参数时如果不保持标幺值一致即使仿真能跑出来结果的物理意义也是错的。另外建议在模型里加一个PowerGUI模块在Simscape Electrical库的“Simulation”里把电气部分设置为离散化求解而不是连续。原理上变流器是开关器件PWM开关频率一般是几kHz连续求解器为了精确跟踪每次开关动作步长会压得非常小仿真速度慢得让人崩溃离散化之后采样步长只要覆盖开关频率的谐波即可。官方示例一般默认离散采样时间设在50微秒左右这是PWM开关周期的五十分之一精度和速度的平衡点比较合适。3. 从仿真参数到物理事实LVRT工况设置的正确姿势平台搭好、模型能跑稳态之后接下来的核心工作就是设置低压故障工况。很多初学者直接拖一个Three-Phase Fault模块放到并网点双击设个故障时间就开跑结果波形乱七八糟还说不清是哪一步设置的问题。这一步值得花点心思。先说故障模块的选择。Simulink里做三相短路故障最常用的是Simscape Electrical库里的Three-Phase Fault模块。它的关键参数包括故障相选择三相短路、单相接地、两相短路等、故障接地电阻、故障相导通电阻。“三相短路接地”是低电压穿越仿真里用得最多的工况因为它是电压跌落最严重的对称故障对DFIG的冲击最大能检验保护策略的极限能力。然后是故障时序设置。三个时间节点必须想清楚故障发生时刻、故障持续时间、仿真总时长。以典型的LVRT考核波形为例一般让系统先稳定运行0.2到0.5秒建立稳定的电磁场和转速然后再在0.3秒或0.5秒时刻投入故障。为什么不能一上电就故障因为风机启动、变流器解锁、控制环建立需要时间如果在暂态过程还没平息的时候就叠加故障结果里混着启动暂态和故障暂态没法区分到底是哪种因素导致的过流。故障持续时间的设定依据是并网规程按国内标准电压跌落至20%额定电压时要求风电机组保持并网625ms。仿真是对工况的复现所以故障持续时间建议设为0.625s这样在故障持续阶段能完整观察转子电流、母线电压、Crowbar动作全过程。仿真总时长建议比故障清除时刻再多留0.5s左右用于观察故障切除后的功率恢复过程。我自己习惯用0.3s故障发生0.925s故障切除总仿真时长1.5s。这个时间尺度在离散步长下求解计算量也能接受。再说跌落深度。跌落深度取决于故障点与风机并网点的距离、故障阻抗和系统阻抗的分压关系。Three-Phase Fault模块里设置导通阻抗阻抗越小短路越严重并网点电压跌落越多。经验做法是先把故障模块的导通电阻设得很小比如0.001欧姆量级故障电抗设为零让并网点电压跌落到接近0.2pu左右如果发现跌落深度不够再去调整系统等效阻抗参数。这里有个容易被忽略的关键点故障时刻与电压过零点的相位关系。电网是交流系统故障在电压过零点时刻发生和峰值时刻发生对磁链直流分量的初始幅值影响非常大。最恶劣的情况是故障发生时刻定子电压相位正好在零点这会让定子磁链直流分量的初始值最大转子过流最严重。严谨的仿真要把故障发生时刻的相位因素考虑进去用不同的Phase参数多跑几组看最坏情况下的穿越表现而不是只看一次刚好相位不错的结果就下结论。最后是对称故障和不对称故障的差异。上面说的是三相对称短路波形对称分析和保护相对简单。但真实电网中单相接地故障占比最高不对称故障下定子磁链里会多出负序分量负序磁链在转子侧感应出两倍转差频率的电动势转子电流的波动形态复杂得多Crowbar的动作逻辑也可能出现反复触发。如果是做深入研究强烈建议把单相接地、两相短路工况也补上用故障模块的“Fault Type”逐一切换即可。一个小经验在做故障工况批处理时不要每改一次故障时间或故障类型就手动点一次仿真。可以把故障参数定义为变量比如在MATLAB脚本里定义tfault_start、tfault_end、fault_type用脚本循环调用sim()函数批量运行。这样既方便记录每组参数对应的波形也不会因为手动改参数漏掉某个组合。4. Crowbar保护及其参数整定低电压穿越仿真的核心戏码DFIG能扛住电压跌落靠的不是硬撑而是在转子侧加保护电路。最常见的保护就是Crowbar中文一般叫撬棒保护或转子短路保护。它的工作逻辑一句话就能说清检测到转子电流或直流母线电压越限时把转子绕组通过一个三相电阻柜短路让转子侧变流器RSC暂时退出运行由Crowbar电阻来消耗转子回路的过剩能量、限制过电流。这个思路有点像家里电闸跳闸——不是让用电器强扛过载而是先把回路断开保护设备再说。Crowbar电路在Simulink里的搭建方式有两种。一种是用Three-Phase Breaker加三相电阻来模拟用外部控制信号控制断路器在故障期间闭合另一种是用理想开关模块加电阻逻辑上等效。官方示例里一般会有一个比较完整的Crowbar子系统直接在转子侧和RSC之间接入即可。重点在触发逻辑和参数整定。触发阈值方面转子电流越限是主要判据。通常以转子电流达到额定值的1.2倍左右作为触发线考虑到采样和动作延迟实际仿真中触发阈值可以设在1.1到1.3倍之间。直流母线电压越限作为辅助判据一般设在额定母线电压的1.1到1.15倍。两个判据是“或”的关系任何一个越限都触发Crowbar投入。Crowbar投入后转子绕组被短路RSC闭锁退出。此时转子回路的电磁暂态过程变化很大电流尖峰能否被抑制住很大程度上取决于Crowbar电阻的阻值选得合不合理。阻值太小限流效果差转子电流照样会冲到危险值阻值太大虽然限流效果好但转子绕组上的压降和功率消耗过大转矩脉动会变得非常剧烈轴系可能受不了。这两个约束是互相矛盾的实际整定就是在中间找平衡。从我做的多组仿真对比来看把Crowbar电阻折算到转子侧后阻值大致取转子绕组自身电阻的20到50倍范围内比较合理。具体到2MW机组模型上转子电阻大约在零点零零几欧姆量级Crowbar电阻取零点一到零点五欧姆之间都能工作落在零点二到零点四欧姆附近时限流和转矩脉动的均衡效果通常最好。注意这个数值和具体机组的基准阻抗强相关不能盲目照抄但比例关系可以复用。除了阻值复归逻辑也很关键。Crowbar不能一直保持短路状态否则转子绕组长时间短路虽然变流器保住不烧了但DFIG相当于变成了一个普通的鼠笼电机在电网故障期间硬扛转矩冲击和机械损耗都很大。一般要等转子电流回落到安全范围、并网点电压恢复到一定程度之后再让Crowbar断开、RSC重新解锁。复归时刻的判断不能只看电流瞬时值因为故障清除瞬间电流波动很大容易误判。稳妥做法是加一个延时锁定Crowbar投入后至少保持一段时间比如50到100毫秒期间即使电流回落到安全区也不复归防止频繁投切对断路器和变流器造成二次冲击。仿真里Crowbar投切效果最直观的验证点有三个一是转子电流峰值有没有被限制到允许范围内二是直流母线电压有没有回落并稳住三是Crowbar投入期间RSC的控制脉冲是否被正确封锁。我见过不少仿真模型Crowbar电阻明明在动作但RSC的PWM脉冲仍然在发导致转子短路和变流器输出同时存在仿真结果完全失真。这一点在搭建触发和封锁逻辑时要格外留意。如果还想往深了走Crowbar之外还有两个进阶加固方案值得在仿真里对比。一个是直流侧卸荷电路也就是在直流母线上并联一个由IGBT加电阻构成的Chopper当母线电压过高时把多余能量通过电阻消耗掉。它和Crowbar配合使用Crowbar管转子回路Chopper管直流侧能大幅降低母线电压过冲。另一个是改进控制策略比如故障期间的灭磁控制——通过RSC注入与磁链直流分量反向的电流来主动抵消定子磁链的暂态分量Crowbar只在极端情况下兜底。这两种方案在Simulink里都有现成实现思路但控制环和PWM逻辑会更复杂建议先把Crowbar这一档跑明白了再上。5. 波形怎么看、参数怎么调从“能跑出来”到“结果可信”仿真跑完只是第一步真正见功底的是从波形里读出物理过程再反过来修正参数。很多同学的模型故障期间波形看起来还算正常但经不起逐段细问为什么转子电流峰值出现在这个时刻为什么故障清除后有功功率有一大段恢复爬坡时间这些问题的答案全在波形细节里。先说核心观测对象我习惯在示波器里一次性观察六路信号转子三相电流、直流母线电压、并网点三相电压、定子有功功率和无功功率、电磁转矩、转速。外加一个Crowbar触发脉冲信号方便将动作时刻和波形突变点对齐。故障发生到Crowbar投入之间这一段是分析转子过流的关键窗口。从电压跌落发生到Crowbar检测越限并动作中间有检测延迟、开关动作延迟典型值加起来在几毫秒量级。在这短短几毫秒内转子电流会以极快的速度攀升到峰值这个峰值就是保护参数设计的核心控制目标。如果Crowbar动作后转子电流仍然继续冲到2.5倍以上额定值说明触发阈值偏高或者动作延迟太大需要把阈值调低或者改用电流瞬时值检测而非有效值检测。Crowbar投入之后转子电流应该迅速回落到一个相对较低的幅值附近波动波动的幅度和Crowbar电阻阻值正相关。直流母线电压的变化规律则是故障瞬间由于转子侧能量倒灌母线电压快速上升随后Crowbar切断了转子到RSC的路径母线电压由GSC单独控制回落到额定值附近。如果母线电压在Crowbar动作后还有二次爬升大概率是GSC的电流限幅起作用了网侧电流已经发到上限仍不足以平衡直流侧功率这时候要检查GSC的dq轴电流限幅设置是否合理。故障清除时刻的波形最有意思。故障切除的一瞬间定子电压恢复磁链又要经历一次突变——这次是从故障态突变回正常态和故障发生时刻的暂态过程是镜像对称的。也就是说故障切除时刻同样会出现转子过流和母线电压冲击有些工况下甚至比故障发生时刻还要严重。不少初学者的Crowbar逻辑只在检测到故障时投入一次故障切除后立刻复归结果RSC刚重新解锁就又撞上新一轮过流冲击波形很难看。正确的做法是让Crowbar的复归判断基于“转子电流安全网侧电压恢复延时锁定”的复合条件故障切除后保持Crowbar投入状态几十毫秒等第一波恢复暂态峰值过去后再让RSC重新接管。这个“晚退”策略对故障切除后的波形平滑度提升非常明显。有功和无功的恢复过程也要重点看。并网规程要求故障清除后有功功率要快速恢复恢复速度受变流器电流限幅和PI控制器动态响应的限制。仿真相较于理想条件下200毫秒左右恢复到额定有功的90%以上是比较合理的表现如果恢复过程拖到1秒以上RSC的电流内环动态偏慢可以适当增大转子电流内环PI控制器的比例系数减小积分时间常数。还有一个容易被忽略的量是电磁转矩。故障期间转子电流里直流分量和负序分量叠加电磁转矩会出现频率较高、幅值较大的脉动分量表现为转矩波形上的剧烈振荡。这个振荡虽然不直接威胁变流器但会通过轴系传递给齿轮箱和叶片是机械侧最关心的问题。仿真中若转矩脉动幅度超过额定转矩的2倍以上说明Crowbar电阻偏大需要往小调一档再对比波形找平衡点。最后提供一组我自己做参数校核时常用的数据表按“信号-观察窗口-合理表现”列出来仿真完直接对照观测信号关键窗口合理表现转子电流故障发生后0-20ms峰值被限制在额定2倍以内Crowbar动作后回落直流母线电压故障发生后0-50ms过冲不超过额定1.15倍Crowbar动作后回落定子有功功率故障期间、故障恢复段故障期间尽量小恢复段快速爬升至额定90%定子无功功率故障期间故障期间能输出容性无功支撑电网电压电磁转矩故障全程脉动不超过额定2倍无发散振荡转速故障全程平稳变化无急剧加速或减速趋势对照这张表逐项核验基本能判断仿真模型处于“能出波形”和“结果可信”之间的哪个位置。6. 仿真发散排查实录那些多发散的“锅”做电力电子仿真的人没有一个没被“仿真发散”折磨过。所谓发散就是波形在某个瞬间突然变成高频率的毛刺、数值直接飞到NaN或者无限大仿真器弹出一堆红色报错或者积分步长被压得越来越小直到卡死。DFIG低电压穿越仿真涉及电气暂态、控制暂态、机械暂态三个时间尺度的耦合发散的高发程度远超一般电力电子电路仿真。这里把我排查过的几个典型情况列一遍基本都是“症状-原因-解法”的结构可以直接对号入座。第一个最常见的发散原因是求解器设置和步长的冲突。DFIG仿真里既有PWM开关带来的高频分量又有机械惯量带来的慢动态连续求解器很难同时兼顾两头。如果用的是ode23tb、ode15s这类刚性求解器最大步长仍然按默认值跑随着故障突变处的数值刚性增强求解器会自动把步长压到纳秒级一个暂态过程仿真几个小时都跑不完甚至直接报“Unable to meet integration tolerances”。对策很简单电气系统改用离散求解在PowerGUI里把“Simulation type”设为Discrete步长设到50微秒或更小同时把整个模型的计算步长不是PWM开关周期统一到同一个离散时间基准上。注意离散步长不是越小越好步长越小故障全过程的计算点越多仿真耗时越长。50微秒对于2kHz开关频率的仿真已经足够如果开关频率是10kHz建议缩到20微秒。第二个发散高发点是故障模块的切换瞬间。Three-Phase Fault模块内部的断路器动作有“transition time”设置实际断路器从控制信号发出到触头完全断开/闭合是有时间的通常是几毫秒。如果把这个时间设成0相当于瞬间切换电路拓扑在零时间内突变数值求解会遇到严重的间断点问题非常容易在切换点附近跳出尖峰甚至发散。解法是把故障模块的过渡时间设成一个小值比如1e-4s让短路电阻从无穷大平滑过渡到导通电阻而不是瞬时跳变。虽然实际物理过程比这个复杂但仿真上这个平滑化处理能显著提高故障时刻的数值稳定性。同理Crowbar投切用的断路器/理想开关模块也要注意过渡时间的设置。第三个经常踩的坑是控制系统和电气系统的时间尺度不匹配。RSC/GSC的控制环是微秒到毫秒级的响应而转速和桨距控制是秒级的慢动态。如果控制环使用了连续的PID控制器在离散步长下需要设置合理的采样时间才能避免计算不稳定。常见做法是把控制环的采样时间设为与电气系统离散步长一致或者设为它的整数倍如果设得比电气步长还小相当于进行时间插值容易在突变时刻产生代数环直接导致数值振荡。第四个更隐蔽的问题来自信号单位不统一。Simulink里很多DFIG示例模型的电机电压基准用的是峰值标幺值而控制环里PI参数的整定是基于标幺值的如果半路从电机的输出端口接出来的信号有不同的基准叠加起来的控制指令就会出现量级错误。这种情况不会直接发散但会让某些环路的输出在故障期间反复饱和表现为波形在限幅值附近来回跳动看起来就像发散实际上是控制环振荡。排查方法很朴素在关键控制信号上加Scope看PI输出和实际指令之间有没有量级差。再补充一个让人头痛的报错“Simulink cannot solve the algebraic loop”。这基本意味着模型里形成了纯代数环常见于电流测量信号直接回馈到PWM调制模块、中间没有任何动态环节的情况。解法是在环路里插入一个memory模块或者一阶惯性环节带小时间常数打断代数依赖保证求解器有明确的时间递推关系。低电压穿越仿真里Crowbar触发信号和电流测量之间的反馈路径最常触发这个问题检查一下信号链上有没有Memory模块就对了。如果以上所有手段都试过仍然发散还有一个终极排查法把故障工况简化到最极端——先做对称三相短路、Crowbar一直保持投入不复归、控制环全部不加限幅的“裸奔”仿真。如果这种最简配置仍然发散问题出在电气模型本身或离散步长设置与保护和控制逻辑无关如果裸奔配置稳定再逐步加回控制环、加回复归逻辑用二分法锁定真正引发数值不稳定的环节。7. 一点基于实测的体会聊到最后说点自己的感受。我从接触DFIG低电压穿越仿真到现在最大的体会是这个课题表面上是“搭模型、设故障、看波形”三个步骤实际真正吃时间的是故障时刻前后几十毫秒内的数值细节和控制策略时序。同样的机组参数Crowbar触发阈值差一点点、故障切除后复归延迟差几十毫秒仿真结果就能从“漂亮”变成“没法看”。另外想提醒刚上手的朋友不要一上来就追求和某篇文献的结果图一模一样。不同版本的MATLAB仿真库、不同的求解器参数、不同的离散步长都会让波形幅值和细微变化有差别这是正常的。重要的是波形趋势和物理机理能够对上比如故障发生后电流峰值出现的位置、母线电压过冲的方向、Crowbar动作后电流回落的幅度这几个宏观特征正确了模型的基本可信度就立住了。后续想继续深挖的话值得做的方向还挺多。比如在同一个模型上做单相接地、两相短路的不对称故障测试让保护逻辑面对更复杂的负序分量再比如把Crowbar和直流Chopper、转子侧灭磁控制配合起来对比不同低电压穿越策略下的机组响应还可以在电网故障之外叠加风况变化研究风速波动对穿越过程的影响。DFIG这个模型就像一块能反复折腾的试验田每换一个故障工况、每调整一组保护参数都能对双馈风机的暂态特性多一分理解。