做风电电机控制仿真这几年,有一类工况我以前是真没当回事,直到某次项目验收前跟着同事一起调高电压穿越的指标,才意识到HVRT(High Voltage Ride Through,高电压穿越)在DFIG控制里是绕不过去的一道坎。所谓高电压穿越,是指电网电压因为远端故障、负荷突然切除或者无功过剩等原因短时升高,比如升到1.3倍额定电压并持续几百毫秒时,风机不能随便脱网,还得保持并网甚至对电网提供支撑。放在Simulink里把整个场面完整复现出来,调参数、看波形、改策略,确实是理解双馈异步发电机控制最有效的一条路。这篇文章写给想用Simulink做风电电机控制场景实例的人,重点就是基于DFIG的高电压穿越(HVRT)控制策略仿真,我会把模型怎么搭、控制器怎么写、参数怎么调、坑在哪里,按我做项目的顺序一次讲清楚。
1. 为什么DFIG的HVRT值得单独做仿真
1.1 从LVRT到HVRT:并网导则的变化
前些年大家聊风电故障穿越,基本只谈低电压穿越(LVRT)。因为电网短路、大负荷启动这些事常见,电压跌落的概率比升高大得多。但近几年风向变了,随着风电渗透率上来,电网调度发现高电压工况同样危险。
电压升高的成因不复杂,最常见的是电网远端发生单相接地故障后,非故障相电压会明显抬升;其次是大容量负荷突然切除,系统无功过剩,局部母线电压被顶高;还有就是风电场自身无功补偿装置控制不当,造成无功倒送。这些场景一旦发生,如果风机大规模脱网,整个区域电网的电压会进一步恶化,甚至连锁故障。所以新版并网导则普遍要求风电机组具备一定的高电压穿越能力,通常是1.3倍额定电压持续几百毫秒不脱网,有些地方甚至要求1.4倍短时耐压。
这个要求的本质可以类比成电动车:以前只要求雨天不熄火,现在遇到积水深坑也得平稳开过去,不然就是整车厂的责任。对风机来说,电网电压不再是一个恒定的理想源,而是会在一定范围内剧烈波动的“恶劣路面”,DFIG这种定子直接并网的结构,恰恰对电压骤升特别敏感。
1.2 高电压穿越难在哪:DFIG的物理机理
先看DFIG的基本结构:定子绕组直接挂在电网上,所以电网电压一抬升,定子电压跟着抬升;转子绕组通过背靠背PWM变流器连接到电网,变流器的耐压能力和电流容量都有限。这个结构决定了DFIG在电压骤升时有三重压力。
第一重压力来自磁链。学过电机的人都清楚“磁链不能突变”这条铁律。电网电压骤升,定子磁链被迫在极短时间内改变,但磁链本身有惯性,于是会在定子磁链中激发出直流分量和负序分量。这些非基波分量在转子绕组中感应出很高的电动势,导致转子过流。简单点说,转子电流飙升的直接来源不是负荷变大了,而是磁链畸变在转子侧产生了瞬态冲击。
第二重压力是直流母线过压。转子侧能量示意图是这样的:正常情况下,转子侧一部分能量通过变流器送回电网,另一部分用来励磁。电压骤升时转子电流和转子电压都升高,转子侧变换器(RSC)来不及把能量全部送到直流母线上,母线电容就会被充电,电压快速抬升。如果超过IGBT的耐压等级,直接炸模块。
第三重压力是变流器输出能力不足。RSC的输出电压受限于直流母线电压,母线电压没有明显抬高之前,RSC的交流侧输出电压能力是有限的。磁链瞬态冲击要求在转子回路里产生一个很大的反电动势来抵消感应电动势,但变流器顶多输出到过调制边缘,根本给不了那么高的电压。所以控制策略不能只靠PI使劲顶,必须有前馈补偿和限流协调。
1.3 为什么选Simulink做这类仿真
真机上做高电压穿越测试,成本极高。1.3倍电压冲击意味着要准备大容量无功补偿设备,还要承担机组损坏和电网扰动风险,基本只有大型检测机构能系统性地做。而在设计阶段,Matlab/Simulink几乎是风电控制仿真的事实标准。
它有几个独到优势:电机模型库齐全,DFIG本体可以直接拖出来用;电网故障模块丰富,可以自由设置电压骤升的时间点和幅值;变流器和控制器支持离散化、采样周期模拟,跟真实代码的对应关系很清晰;还可以把数据记录、指标计算、批量工况跑完。最关键的是,Simulink里可以把“电磁暂态、机电暂态、控制器响应”放在同一个模型里看,这对HVRT这种侧重瞬态过程的研究特别重要。
2. 控制策略拆解:三大防线怎么搭
2.1 直流母线过压:Chopper泄放电路与其投入逻辑
HVRT控制策略里,直流母线过压一般靠Chopper(卸荷电路)来兜底。它的原理不复杂:在直流母线上并联一组IGBT串联卸荷电阻的支路,当母线电压高过阈值,就开通IGBT,把多余能量泄放掉。
Chopper的关键设计点有三个。
第一个是投入阈值。通常取母线额定电压的1.1到1.15倍,设高了IGBT可能先顶不住,设低了正常运行时的开关波动会误触发。假设额定母线电压1050V,投入阈值可以设在1150V左右,回差取20V到40V,避免在阈值附近反复开通关断造成振荡。
第二个是卸荷电阻阻值选择。阻值太小,泄放电流大、母线电压回落快,但IGBT瞬时电流应力和电阻发热都大;阻值太大,泄放功率不足,母线电压压不住。工程上一般按卸荷功率等于机组额定功率的0.5到0.7倍来选。以一个1.5MW机组为例,母线电压1150V,卸荷功率取0.6倍额定功率即900kW,电阻阻值大致为:
R = Udc² / P_chopper = 1150² / 900000 ≈ 1.47Ω
选一个1.4Ω或1.5Ω的功率电阻,用多个小电阻串并联实现也行,但要注意IGBT能否承受对应的峰值电流。
第三个是滞环逻辑在Simulink里的实现方式。我一般用Relay模块,把母线电压信号对比阈值,Relay输出直接控制IGBT门极。采样周期对动作延迟影响很大,离散控制周期越大,母线过压持续时间越长,所以Chopper的控制要放在最优先级,采样周期尽可能短。
提示:落在这个环节的一个经典错误是把Chopper读成“根据电压误差的PI控制”,其实它就是开关逻辑,别用线性控制器去设计,否则延迟和增益会把整个过压保护带偏。
2.2 RSC过流抑制:磁链补偿与电流限幅
RSC是DFIG控制的核心,HVRT期间它的首要任务是别让转子电流越限。常规矢量控制里PI控制器负责把转子电流id、iq压到参考值,但HVRT瞬间转子反电动势太大,PI输出瞬间饱和,光靠PI根本拉不住。
所以实战中要在控制环里加入磁链前馈补偿。具体来说,控制器输出的转子电压参考值里,除了PI调节器给出的分量,还要叠加一个基于定子磁链状态估算的补偿项,用来抵消电压骤升引起的反电动势冲击。磁链补偿的数学思想可以理解成:电机内部已经“疯狂地要产生冲击电流”,控制器必须“主动预判并反向加压”,而不是等电流超了再往回拉。
RSC的电流限幅策略也需要细化。传统做法是单一限幅,id和iq一视同仁,但HVRT工况下最好做优先级分配:优先保证q轴电流(也就是无功电流)达到电网调度需要的值,必要时限制甚至降低d轴电流(有功电流)。原因很直接:电压骤升时风电机组需要向电网提供感性无功支持,帮助电压回落,此时牺牲一部分有功功率是划算的。实际模型里我会把d轴电流参考最大值设为0.3到0.5p.u.,q轴留出更多容量。
2.3 GSC支撑与机端电压调节
GSC即网侧变流器,它的第一职责是维持直流母线电压稳定,把转子侧和电网侧的能量差额消化掉。但在HVRT工况下,GSC还应该承担一部分无功支撑任务。
GSC的常规控制是电压外环加电流内环:电压外环采样直流母线电压,误差经过PI输出d轴电流参考;q轴电流参考可以由无功功率外环或直接给定。HVRT期间,可以把q轴电流参考改成一个负的感性无功命令,让GSC从电网吸收无功,进一步抬高变流器出口电压补偿能力。注意一个问题:GSC交流侧输出电压受母线电压限制,如果母线电压本身不够高,GSC容易出现调制度饱和,也就是指令电压超出能输出的最大值,这时候必须对调制度限幅并做抗饱和处理。
Chopper负责堵能量,RSC负责电流,GSC负责能量疏导和无功配合,三条防线协同起来,才能扛住整个HVRT过程。
3. 模型搭建实操:从顶层到底层
3.1 系统拓扑与基准参数设定
我建议第一次搭HVRT仿真不要贪大,先把机组参数定清楚。下面这套是项目里很常见的基准配置,后面所有计算都基于它。
| 参数名称 | 数值 | 说明 |
|---|---|---|
| 额定功率 | 1.5MW | 常见中容量机型 |
| 定子额定电压 | 690V(线电压) | 低压并网 |
| 额定频率 | 50Hz | 工频 |
| 额定直流母线电压 | 1050V | 常规两电平背靠背 |
| 开关频率 | 5kHz | 变流器IGBT |
| 控制采样周期 | 100μs | 对应10kHz控制频率 |
| 定转子变比 | 1:3 | 典型近似值 |
系统拓扑按电网-升压变压器-DFIG-背靠背变流器-控制逻辑搭。电网用Three-Phase Source加可编程电压模块;变压器用Three-Phase Transformer;DFIG本体用Simulink自带的双馈电机模型;变流器用Universal Bridge搭背靠背结构。控制部分自己搭模块,便于加前馈和限幅。
3.2 DFIG本体与电网故障模块
DFIG本体搭建有两条路:直接用Simulink自带模型,省事,参数界面里填定转子电阻、漏感、互感、转动惯量就行。还有一条路是自己在Simulink里用电磁方程搭磁链模型,好处是能看到内部磁链的状态,加自定义前馈方便,坏处是模型容易出代数环,数值稳定性要花时间调。对绝大多数人,我建议先用自带模型把整体流程跑通,等需要深入研究磁链动态再换自定义模型。
电网电压骤升的模拟是整个仿真场景里最关键的一步。常见做法是用Three-Phase Fault模块设两相或三相短路,但那是做LVRT的,做HVRT更自然的做法是用受控电压源或者可编程电压源,在指定时刻把电压幅值从1.0p.u.提升到1.3p.u.。有一个细节特别重要:电压变化时相位要保持连续,如果幅值突变但相角跳变,会造成额外的冲击,看起来像故障,实际是模拟方式不对。
我把这套模型搭完以后,总会在故障模块前后各加一个三相电压测量和三相电流测量,方便后面做功率计算和波形对比。测量信号建议用Voltage Measurement和Current Measurement模块,输出通过Bus Selector接到Scope和To Workspace。
3.3 控制器实现:坐标变换与PI参数
控制器主体分两块:RSC控制环和GSC控制环。RSC用定子电压定向,GSC用电网电压定向。坐标变换需要锁相环(PLL)获取电网相位,Simulink里有PLL模块,也可以用自带的PLL(3ph)通用模块。锁相环的带宽建议设在30到50Hz左右,太高会把谐波带进相位里,太低则动态响应跟不上。
PI参数的初值可以按带宽法估算。电流内环的带宽一般取开关频率的1/10到1/5,即500Hz到1kHz。考虑d轴电感L和定子电阻R,电流环PI参数可按下式初算:
Kp = ω_b * L
Ki = ω_b * R
其中ω_b是电流环期望带宽对应的角频率。若L取0.1p.u.,R取0.01p.u.,电流环带宽500Hz,则ω_b = 2π × 500 ≈ 3140rad/s,Kp ≈ 314,Ki ≈ 31.4。实际参数还要根据仿真响应效果微调。母线电压外环带宽要低一个量级,一般取20到50Hz,避免内外环耦合振荡。
在Simulink里我习惯把PI控制器封装成Subsystem,输入参考值和反馈值,输出限幅后的指令,并加上积分抗饱和。下面是一个参数初始化脚本的片段,可以作为参考:
% 参数初始化脚本(仿真前运行) Pn = 1.5e6; % 额定功率 W Us = 690; % 定子线电压 V fs = 50; % 电网频率 Hz Udc = 1050; % 直流母线额定电压 V Tsw = 1/5000; % PWM开关周期 s Ts_ctrl = 100e-6; % 控制周期 s % 电流内环 PI(带宽 600Hz) w_b = 2*pi*600; L_sigma = 0.1; % 漏感 p.u. R_sigma = 0.01; % 等效电阻 p.u. Kp_cur = w_b * L_sigma; Ki_cur = w_b * R_sigma; % 母线电压外环 PI(带宽 30Hz) w_v = 2*pi*30; Kp_v = w_v * 0.01; % 初值 Ki_v = w_v * 0.005; % 初值 % Chopper阈值 Udc_on = 1150; Udc_off = 1110;3.4 数据采集与评价指标设计
搞仿真最怕的就是跑完不知道从哪里看结果。我会在模型里提前布好数据观测点:直流母线电压、转子三相电流及d/q轴电流、定子侧有功无功、PCC处电压、GSC调制度、Chopper触发脉冲。把这些量全部通过To Workspace存成结构体,仿真结束后用脚本统一画图,比在Scope里随便看一眼靠谱得多。
评价HVRT控制效果,重点看四项指标:穿越期间是否持续并网(母线电压是否超保护阈值)、最大直流母线电压、最大转子电流倍数、动态无功支撑响应时间。这些指标既用来衡量控制策略好坏,也直接作为后续调参的反馈信息。
4. 参数怎么调:HVRT控制器的调试顺序
4.1 电压骤升工况的设置原则
高电压穿越仿真不是简单地把电压加到1.3p.u.就完事。你至少要准备三组典型工况:满载高速(比如风速12m/s附近)、半载中速、轻载低速。因为DFIG的运行状态直接决定转子电流初始值和变流器工作点,满载和轻载下同样的1.3倍电压冲击,波形表现差异很大。
电压骤升的时刻也需要刻意选择。理想情况下,分别在电压相位0°、90°、180°几个位置做切换测试,因为磁链瞬态在不同相位下的冲击强度不同。实际工程中,我会用相位连续的可编程电压源,而不是简单跳变,确保骤升期间波形干净,排除模拟方式本身带来的干扰。
建议工况可以这样定:
| 工况编号 | 风速状态 | 骤升幅值 | 骤升持续时间 | 恢复方式 |
|---|---|---|---|---|
| 1 | 满载 | 1.3p.u. | 635ms | 斜坡恢复 |
| 2 | 半载 | 1.3p.u. | 635ms | 斜坡恢复 |
| 3 | 轻载 | 1.2p.u. | 1s | 斜坡恢复 |
| 4 | 满载 | 1.4p.u. | 300ms | 斜坡恢复 |
4.2 从电流环到母线环的调参顺序
调PI参数最忌讳一上来就同时调所有环。我的顺序是先GSC电流内环,再GSC母线电压外环,再RSC电流内环,最后调RSC功率/磁链环。每一步只看一个环的动态响应,其他环先冻结。
GSC电流内环的调试方法是给q轴电流参考一个小幅阶跃,观察实际电流跟踪速度。如果出现振荡,说明带宽取高了,适当降低Kp;如果上升太慢,则提高Kp或Ki。电流环响应稳定后,再接上母线电压环,给母线电压一个参考阶跃,先用小工作点验证,再逐步增加幅值。
RSC电流环的调试类似,但多了磁链前馈,要注意前馈项的时间常数和增益是否和电流环匹配。前馈过大会导致电流指令在骤升瞬间出现反向尖峰,过小则转子过流抑制效果不明显。
4.3 Chopper与限幅配合调整
Chopper相对简单,阈值设好、回差设好基本就稳了。但真正麻烦的是Chopper和RSC限幅的逻辑协调。如果RSC限幅过于激进,转子电流被压得很低,转子侧能量无法正常流出,全部涌向直流母线,Chopper压力倍增;反过来如果限幅太宽松,转子电流过流冲击IGBT。合理的做法是把RSC的q轴限幅放宽,让无功电流优先输出,同时d轴限幅收窄,削减有功,这样能量往电网方向走的通道没有完全堵死,Chopper只需要泄放掉剩余部分。
注意:调限幅时要特别关注积分抗饱和。PI控制器输出一旦被限幅器截断,积分项会继续累积,恢复时产生大超调,这叫积分饱和(windup)。Simulink里可以用条件积分(conditional integration)或者外部反馈抗饱和(anti-windup)方式处理,这个细节直接影响故障恢复段的波形质量。
5. 常见问题与排查技巧实录
5.1 代数环与仿真速度骤降
HVRT模型里控制环、测量、PWM模块互相反馈,很容易编译出代数环警告。一旦出现代数环,Simulink会通过迭代解算来解决,仿真步长变小,速度马上掉下来,严重时直接不收敛。
排查思路是先看警告里的红色路径,找到反馈回路,在合适位置加一个Unit Delay或者Memory模块打断代数环。注意加的位置不能改变控制语义,我一般加在测量信号进入控制器之前,相当于模拟真实系统中ADC采样的一个周期延迟。
5.2 直流母线过压但Chopper不动作
现象:电压都冲到1250V了,Chopper的IGBT还是没有触发脉冲。第一个检查点是阈值单位是否统一,例如母线电压测量出来是标幺值0.97,而阈值设的是1150绝对电压,那永远触发不了。第二个检查点是Relay模块的采样时间,如果采样周期太大,你可能错过了电压超过阈值到超过保护上限之间的触发窗口。第三个检查点是逻辑反相,有的模型里IGBT是高电平关断,而你的Relay输出默认高电平开通,方向接反了。
5.3 转子过流但限幅没起作用
这种情况比较隐蔽。表面上看id、iq参考值都已经限住了,但实际电流还是超了。原因通常是前馈磁链补偿没接对位置。请打开控制器看三个点:PI输出是否长期顶在限幅上限,磁链前馈项是否叠加在电流环输出之后,GSC和RSC的坐标系定义是否一致。只要有一个坐标系反了,前馈不但不抵消反电动势,反而会助长冲击电流。
5.4 故障切除后波形长时间振荡
电压恢复以后磁链中的直流分量仍然存在,它的衰减时间常数跟定子电阻有关,可能长达数百毫秒。如果控制器只有稳态前馈,恢复阶段会看到电流和功率来回振荡。解决方法是加入动态退磁补偿项,让控制器主动加速磁链直流分量的衰减,或者在恢复阶段先用斜坡把电流参考缓慢拉回额定值,而不是瞬间切换。
| 问题现象 | 可能原因 | 排查方法 | 解决手段 |
|---|---|---|---|
| 仿真提示代数环 | 反馈回路存在直接耦合 | 查看警告路径 | 加延迟模块切断代数路径 |
| 母线过压Chopper不动作 | 阈值单位或采样周期问题 | 检查Relay采样与阈值 | 统一标幺值,缩短采样周期 |
| 转子过流限幅无效 | 前馈未生效或坐标系反了 | 检查PI输出与参考值 | 修正前馈位置、坐标系 |
| 恢复段持续振荡 | 磁链直流分量衰减慢 | 观察机端电压与电流波形 | 加动态退磁项 |
| 仿真步长过小速度慢 | PWM与控制器混合连续离散 | 检查求解器设置 | 用离散求解器+固定步长 |
6. 实测结果与复盘:一组参考波形解读
6.1 一套典型仿真结果
按上面配置跑完满载1.3p.u.、635ms的HVRT工况后,波形大致是这样一个走势。电网电压在0.5s时刻从1.0p.u.升到1.3p.u.,定子电压同步抬升;随后转子电流出现一个接近1.6p.u.的冲击尖峰,持续时间很短,约20ms左右;直流母线电压从1050V上升到1210V左右,Chopper投入后母线电压被压回到1150V附近稳定运行,直到电压恢复。
机端无功功率在骤升期间从接近零变化到约-0.3p.u.,说明机组在向电网吸收无功,这就是HVRT要求的风机支撑行为。有功功率在故障期间会有明显下降,因为d轴电流被限幅,这是保护策略主动牺牲有功的结果,属于预期行为。
电压恢复发生在1.135s,恢复后磁链直流分量还需要一段时间衰减,所以转子电流和功率不会瞬间回到原值,而是在1.3s前后逐步稳定。整个过程中机组一直保持并网状态,没有触发任何脱网保护。
6.2 控制效果的评价标准
仿真做出来不是只看“波形能不能看”,而是要对标实际验收指标。我常用的评价对照表如下:
| 评价指标 | 参考要求 | 仿真结果 |
|---|---|---|
| 穿越时间 | ≥625ms不脱网 | 穿越全程并网 |
| 最大直流母线电压 | ≤1.2倍额定值 | 1210V/1050V≈1.15 |
| 最大转子电流 | ≤1.6p.u. | 约1.6p.u. |
| 无功响应时间 | ≤50ms | 30ms内到-0.3p.u. |
| 恢复时间 | ≤200ms | 约180ms |
这几组数据出来,控制策略是否有效基本一目了然。如果最大转子电流超过1.6p.u.,通常要加大磁链前馈或者收紧限幅;如果直流母线电压超过1.2倍,Chopper的卸荷能力不够,需要增大卸荷功率或降低母线阈值。
7. 经验小结与给新手的几个建议
做HVRT仿真这几年,我自己最大的体会是:先把母线电压和转子电流两个量盯住,再去做其他优化。母线电压不稳,什么无功支撑、功率恢复都是空谈;转子电流不压住,IGBT随时可能退出工作。Simulink里最值得花时间的细节,一个是故障模块的相位连续性,一个是Chopper采样周期和滞环设置,这两处最容易埋坑。
最后再分享一个实用小技巧:每次调参前都把上一组波形导出来存好,标上参数版本和工况。遇到参数越调越乱的时候,回到上一个能稳定工作的模型版本重新来,远远比在乱成一团的模型里硬调效率高。高电压穿越仿真不追求一步到位,先把1.2p.u.小幅度跑稳,再逐步增大到1.3p.u.、1.4p.u.,每一步都验证通透,最终交出去的结果才有说服力。