简介:《智能电网通信技术实验手册》MATLAB仿真PDF文件,面向电气工程、智能电网、电力系统自动化方向的高校师生与科研人员,既可用于课程配套实验,也可作为自学MATLAB/Simulink风电仿真的实用指南。文档基于MATLAB/Simulink设计了四个典型风电并网实验:前两个针对定速风电机组,分别模拟风速波动和电网三相短路故障下的输出特性;后两个则聚焦双馈变速风电机组在相同场景下的行为差异与控制策略选择。每个实验均包含实验目的、原理分析、元器件清单、操作步骤、参数设置和报告要求,并配有机组建模结构图与功率系数曲线,初学可按部就班操作,教师也可依据其布置作业与点评。压缩包仅1个PDF文件,体积约1.08MB,内容精炼、编排清晰。资源已有66人浏览学习,完成全部实验需安排一定完整时间,建议依据书内时间分配推进,以扎实掌握核心概念与仿真技能。
1. 定速还是双馈,先选对风电机组的“性格”再动手
这套《智能电网通信技术实验手册》的核心,是带着你在 MATLAB 里把两类风电机组从物理原理仿真到故障工况。第一次翻开它的人容易犯一个错误:直接拖一个 Asynchronous Machine 模块,接上风机和电网就开始跑。结果往往是波形画得出来,但说不清“这台风机到底靠什么维持电压”,更解释不了为什么双馈机组要装一台容量只有整机 25% 的背靠背变流器。原因很简单——定速机组和双馈机组的并网特性是两种完全不同的“性格”:一个是被动挂网的异步机,转速只能贴着同步速走;另一个是用电力电子变流器主动解耦有功和无功的变速机。本文先把这两条建模路径对应的原理梳理清楚,再完整走一遍四个实验的搭建、参数设置、故障注入和波形读取流程,最后给出一套能用到实验报告里的数据后处理技巧。
2. 定速 SCIG 与双馈 DFIG:功率流向与解耦控制是建模依据
2.1 定速机组:转差率只有 1%~2%,本质是“电网同步的被动发电机”
2.1.1 为什么叫定速:感应发电机把转速钉在了同步速附近
定速风电机组的结构在四个实验里最简单:风轮通过低速轴、齿轮箱、高速轴拖动一台鼠笼式感应发电机(SCIG),发电机定子直接并网,机端再并联一组补偿电容。实验指导书里明确写了关键数据:机组容量 1.5MW,风轮转速 15~20r/min,发电机同步转速与电网频率对应。正常运行时空载转差率只有 1%~2%,这意味着风轮转速基本被电网频率“锁死”,风速再大,转速也上不去。
这一条是理解后续所有波形的前提。你在 Simulink 里看到的有功功率曲线随风速剧烈波动,但转速曲线几乎是一条平线,不是模型出了问题,而是 SCIG 的固有特性。转差率 s 与电磁转矩的关系近似线性,风速带来的机械功率变化,只能转化为转差率和功率角的变化,无法像变速机组那样通过转速调节去吸收风能波动。
2.1.2 无功从哪来:SCIG 无法励磁,补偿电容是刚需
SCIG 本身没有励磁绕组,定子要从电网吸收感性无功建立磁场。这是实验一里最容易忽略但最该观察的点——机组输出的有功功率增加时,吸收的无功也会同步增加,机端电压会因此被拉低。工程上最直接的做法就是机端并联电容器组,用容性无功抵消感性无功需求。这个电容在指导书的仿真模型里已经内置在“装有补偿电容的定速风电机组”子系统中,你不需要自己算容值,但必须知道它的存在:把电容去掉重跑一次风速波动仿真,你会看到机端电压的跌落幅度明显变大。
2.1.3 叶片角控制:被动失速 vs 主动失速
定速机组的功率限制靠叶片完成,这一点也直接反映在模型的风力机参数里。定桨距失速控制是叶片用固定桨距角锁死在轮毂上,风速超过额定后叶片根部开始失流,失速区随风速加大向叶尖扩展——被动但便宜,低风速段效率差。主动失速则是用负桨距角,低风速时优化桨距角追最大功率,高风速时用桨距角逼迫失速限制出力。在实验指导书的原理章节里这两种方式都提到了,仿真模型默认走的是主动失速路线。设置风力机参数时,你会看到 pitch angle、blade radius 这些字段,理解主动失速的含义,才能解释为什么仿真中风速超过额定后有功功率被限制在 1.5MW 附近。
2.2 双馈机组:背靠背变流器换来了 ±30% 以上的转速运行范围
2.2.1 转子侧变流器在“注入电压相量”
双馈感应发电机(DFIG)的定子直接并网,转子经滑环接入一台 AC/DC/AC 背靠背变流器。转子侧变流器的作用,用指导书里的说法是“在转子回路中感应出电压向量,其幅值适当并以理想的变化频率旋转”。翻译成建模语言:你可以把转子侧变流器看作一个受控电压源,通过控制注入电压的幅值、频率和相位,让转子磁场异于定子磁场同步速旋转,从而让机械转速脱离同步速运行。Vestas 的 OptiSpeed 机型可以在同步速的 -40% 到 +15% 范围内运行,动态条件下还能到 +30%,这是 SCIG 完全做不到的。
2.2.2 转差功率方向:次同步与超同步是两条不同的功率路径
双馈机组的功率流向比定速机组复杂一个量级。次同步运行时(转速低于同步速,s>0),转子从电网吸收有功功率;超同步运行时(s<0),转子把功率送回电网。定子在任何速度下都向电网送有功,转差功率约等于轴功率乘以转差率。这就是为什么变流器容量只有机组额定功率的 25% 左右——它只处理转差功率,不处理全功率。仿真时如果你想验证这一点,可以在超同步运行段读取转子侧变换器输出有功功率的符号,正负切换的节点就是同步速点。
2.2.3 两种控制模式的建模差异:无功功率控制与电压控制
实验三和实验四的差异点集中在 DFIG 的“运行模式”设置上。无功功率控制模式下,机组保持有功与无功满足 P = tanφ·Q,对应某个预设的恒定功率因数;电压控制模式下,机组通过调节无功输出把机端电压钉在设定值附近。这两者的动态响应在风速波动和电网故障下表现完全不同:电压控制模式的机端电压曲线更平坦,但无功功率会出现明显波动;无功功率控制模式的电压会随风速和电网状态浮动,功率因数则稳定。Simulink 的 DFIG 模型在参数对话框的 Display 下拉框中提供 Mode of Operation 选项,切换后模型内部会自动切换励磁控制回路,不需要你改任何接线。
2.3 两类机组的建模范式对照
| 对比维度 | 定速 SCIG 机组 | 双馈 DFIG 机组 |
|---|---|---|
| 发电机类型 | 鼠笼式感应发电机 | 绕线式双馈感应发电机 |
| 转速特性 | 同步速附近,转差率 1%~2% | 同步速 -40%~15%,可变速 |
| 无功控制能力 | 无,靠机端电容补偿 | 转子侧变流器解耦控制 |
| 有功/无功耦合 | 强耦合,不可独立控制 | 解耦控制,P 与 Q 可分别给定 |
| 故障响应 | 电压跌落,无功需求激增 | 变流器可注入无功支撑电压 |
| 变流器容量 | 无(或仅补偿电容) | 约 25% 额定功率 |
| 典型控制模式 | 定桨距 / 主动失速 | 电压控制 / 无功功率控制 |
理解了这张表的差异,你再去搭仿真就不会出现“把双馈模型的控制模式选项套到定速模型上找不到”这类问题。定速模型的控制逻辑在风力机叶片角里,双馈模型的控制逻辑在变流器的外环控制里,二者根本不在同一个子系统层级。
3. 在 Simulink 里搭四个实验:模型骨架、风速输入与控制模式切换
3.1 模型选择:内置例程比从零搭建更值得信任
实验一和实验二的定速机组模型,Simulink 的 SimPowerSystems 库里有现成的 Wind Turbine 模块,它隐藏在“右击 Wind Turbine → Look under mask”的封装层里。打开后你会看到两层结构:风力机(Wind Turbine)和感应发电机(Asynchronous Machine),二者之间通过轴系连接。这里强烈建议你不要重搭——异步电机模块的转子惯量、定转子电抗、励磁电抗这些参数,指导书没有逐一列出,但内置例程里已经按 1.5MW 机组整定好了,直接沿用默认值是安全的。
实验三和实验四的双馈机组则直接使用 MATLAB 例程 power_wind_dfig 。在 MATLAB 命令窗口输入:
open_system('power_wind_dfig');
该例程包含完整的双馈风电机组、30kV/900V 升压变压器、100km 输电线路和无穷大电源。相比定速模型,DFIG 模型多出了两个子系统:一个由“鼠笼机定子电流”和“网侧变换器电流”组成的测量/控制子模块,另一个是“发电机与变换器”主回路。右击 DFIG 机组模块再看 Look under mask,你会看到三层嵌套结构,这与定速机组的两层结构有本质区别——多出来的这一层,就是背靠背变流器和转子侧控制器的位置。
3.2 风速输入:阵风、渐变风、随机风怎么接
实验一要求用 Step、Ramp 和 Random Number 分别模拟阵风、渐变风和随机风。这三个模块在 Simulink 库里的路径分别是:
- 阶跃模块:Sources 库 → Step
- 斜坡模块:Sources 库 → Ramp
- 随机数模块:Sources 库 → Random Number 或 Uniform Random Number
接线方式是用一个 Mux 或 Sum 模块把三路风速信号合成一路,接到风电机组模块的 Wind Speed 输入端口。也可以完全绕开 Simulink 内部信号,改用 From Workspace 模块,先在工作区构造风速序列再灌入模型。后者在参数化扫描时更好用,构造方法如下:
t = 0:0.01:30;
base = 8; % 基本风速 8 m/s
gust = 3 * (t > 5 & t < 10); % 5~10s 阵风,幅度 3 m/s
ramp = -2 * (t > 15 & t < 25); % 15~25s 渐变风,斜率 0.2 m/s^2
random = 0.5 * randn(size(t)); % 幅值 0.5 m/s 的随机成分
wind_speed = base + gust + ramp + random;
% From Workspace 要求数据为 [时间, 数值] 两列
wind_data = [t', wind_speed'];
把 wind_data 写入基础工作区,然后在风电机组风速输入端口前放置 From Workspace 模块,参数 Data 填 wind_data ,Sample Time 填 0.01 。需要注意:From Workspace 的采样周期必须与风速数组的时间步长一致,否则 Simulink 会线性插值,导致高频随机风成分被平滑掉。
3.3 控制模式切换:Display 下拉框的两种选法
实验三和实验四的操作核心在 DFIG 机组的参数对话框里。双击双馈机组模块,把 Display 下拉框切到“Control Parameters”,你会看到 Mode of Operation 选项:
- 选择
Voltage Regulation:进入电压控制模式,仿真过程中机端电压被控制在参考值附近 - 选择
Var Regulation:进入无功功率控制模式,此时下方会出现功率因数整定栏,默认通常为 1.0 或 0.98
切换模式之后不需要重新编译模型,直接点 Run 即可,但要注意潮流初始化必须重新做一次——因为两种模式下的无功初始值不同,如果沿用上一次的潮流初值,仿真开始头几百毫秒可能出现电压振荡。这一点实验指导书没有展开,属于实操中容易踩的坑。
3.4 四组实验的场景矩阵
| 实验编号 | 机组类型 | 扰动类型 | 扰动设置 | 仿真时长 | 主要观察量 |
|---|---|---|---|---|---|
| 实验一 | 定速 SCIG | 风速波动 | Step/Ramp/Random 组合风速 | 30s | 机端电压、有功、无功、转速 |
| 实验二 | 定速 SCIG | 电网三相短路 | 0.02s 故障,0.1s 切除 | 1s | 故障期间电压跌落与功率摇摆 |
| 实验三 | 双馈 DFIG | 风速波动 | 同实验一 | 30s | 两种模式下的电压/无功对比 |
| 实验四 | 双馈 DFIG | 电网三相短路 | 0.5s 故障,0.6s 切除 | 2s | 故障穿越期间的无功支撑能力 |
仔细对比可以发现,定速机组故障实验只跑 1 秒,双馈机组跑 2 秒。原因在于双馈机组故障切除后有一个变流器控制恢复的过程,时间尺度比单纯的机电暂态更长,1 秒不够看完整段恢复特性。
4. 仿真参数与解算器:ode23t、Phasor Simulation 与故障注入细节
4.1 解算器选型:为什么是 ode23t 而不是 ode45
四个实验的仿真参数设置完全一致:Simulation → Configuration Parameters,Solver 选 ode23t(Stiff/TR-BDF2),定速实验的起止时间 0~30s(故障实验 0~1s),双馈实验 0~30s(故障实验 0~2s)。很多初学者不理解为什么默认的 ode45 不能用。这里要说明:风电机组模型是多时间尺度系统,机械动态是秒级,电力电子开关动态是微秒级,电网故障后的电磁暂态在毫秒级。ode45 是显式 RK 方法,遇到这种刚性系统必须把步长压到很小才能稳定,仿真会慢到不可接受,甚至直接报“不收敛”。
ode23t 是一阶隐式方法,采用梯形法则配合 TR-BDF2 二阶后向差分公式,对刚性系统的响应速度快、数值稳定性好,特别适合含电力电子换流装置的机电暂态仿真。这是 SimPowerSystems 电气仿真场景下的标准选择之一,不是随便选的。
4.2 Powergui 的 Phasor Simulation 模式意味着什么
打开 Powergui 模块,把 Simulation type 切到 Phasor Simulation ,再点一次 Tools → Initial State Setting → Apply 完成潮流初始化。这是整个实验流程里最容易被跳过却又最关键的一步。
相量仿真模式把三相 RLC 电路和电力电子装置在频域下建模,用基波相量代替瞬时值。这样做的直接好处是仿真速度快一个量级,代价是看不到 IGBT 开关纹波和谐波细节。对于这套实验只需要观察有功功率、无功功率和电压有效值的慢动态,Phasor 模式是最合适的——故障场景下,故障电流的相位和幅值变化仍然能正确反映。如果你想看到变流器开关频率附近的电流谐波,那就必须把仿真模式切回 Continuous,但仿真时长将成倍增加,不建议在课设实验里尝试。
4.3 故障注入:Two-Phase/Three-Phase Fault 模块的参数填法
实验二和实验四的故障设置均采用 Three-Phase Fault 模块,放在输电线路的末端、升压变压器与无穷大电源之间,模拟送出线路近端三相短路。关键参数有三项:
-
Fault timing:切换时间数组必须写成两列[start, end]。实验二是[0.02 0.1],实验四是[0.5 0.6] -
Fault type:选Three-Phase Fault,即 ABC 三相全部接地 -
Transitional resistance:默认值通常在 0.01Ω 附近,数值越小越接近金属性短路
故障点位置、故障时刻、故障持续时间这三项决定了波形的“长相”。如果故障点放在变压器高压侧母线上,电压跌落会更剧烈;若放在线路中点,跌落幅度会因线路阻抗分压而变小。指导书里的模型把故障放在线路起始端附近,所以你观察到的机端电压几乎跌到零。改变故障点的分支距离,是后续拓展实验中值得做的一组对照。
4.4 参数整定检查清单
在启动仿真之前,我建议按下面的顺序过一遍参数,避免最典型的失败:
| 检查项 | 检查位置 | 典型错误 |
|---|---|---|
| 解算器类型 | Configuration Parameters → Solver | 默认 ode45,仿真卡死或不收敛 |
| 仿真时长 | Solver 页 Start/Stop Time | 定速故障实验误设 30s,波形拉伸看不清 |
| Powergui 模式 | Powergui → Simulation type | 忘记切 Phasor,仿真极慢 |
| 潮流初始化 | Powergui → Tools → Initial State Setting | 跳过初始化,首段波形出现非正常振荡 |
| 故障时间对 | Three-Phase Fault → Switching times | 写成 [0.02 0.1] 与 0.02 0.1 的区别,前者是时间段 |
| DFIG 控制模式 | DFIG 参数对话框 → Control Parameters | 切换后未重新初始化潮流 |
| 风速数据对齐 | From Workspace → Sample Time | 采样周期与风速数组步长不一致,插值失真 |
检查完这一轮,四个实验基本都能一次跑通。如果仿真启动后报“initialization out of range”,优先检查无穷大电源电压相位和变压器联结组别是否匹配,其次是故障模块的接地方式——Triple 接地与不接地在三相短路时的表现不同。
5. 波形后处理技巧:从 Scope 截图到可放进报告的结果曲线
5.1 把 SCOPE 数据导出到工作区再重绘
实验报告要求“波形图打印出来粘贴在报告册上”,但直接截 Scope 的图通常清晰度不够,而且无法标注故障时刻。更专业的做法是把 Scope 数据导出后重绘。在 Scope 窗口工具栏点击齿轮图标,进入 Logging 页签,勾选 Log data to workspace,变量名填 scopelog ,Format 选 Structure with time 。仿真结束后执行:
% 提取Scope记录的有功、无功、电压与转速信号
t = scopelog.time;
P = scopelog.signals(1).values(:,1); % 有功功率 MW
Q = scopelog.signals(2).values(:,1); % 无功功率 MVar
V = scopelog.signals(3).values(:,1); % 机端电压 p.u.
wr = scopelog.signals(4).values(:,1); % 转子转速 p.u.
figure('Color','w','Position',[100 100 700 500]);
subplot(2,1,1);
plot(t, P, 'b', 'LineWidth', 1.2); hold on;
plot(t, Q, 'r--', 'LineWidth', 1.2);
ylabel('P / Q (MW / MVar)');
legend('有功功率 P','无功功率 Q','Location','best');
grid on; xlim([0 30]);
subplot(2,1,2);
plot(t, V, 'k', 'LineWidth', 1.2); hold on;
plot(t, wr, 'm-.', 'LineWidth', 1.2);
ylabel('V (p.u.) / 转速 (p.u.)');
legend('机端电压 V','转子转速 wr','Location','best');
grid on; xlim([0 30]);
xlabel('时间 (s)');
注意 scopelog.signals(i) 的顺序与你连接到 Scope 的输入端口顺序一致,第一次跑完建议用 scopelog.signals 这个结构体的字段名确认一下信号映射,避免画出来的波形标错名称。对于故障场景,可以在图中加上故障区间竖线:
xline(0.02, '--r', '故障开始');
xline(0.10, '--g', '故障切除');
5.2 两组波形的读法:先看定性趋势,再看恢复速度
实验一和实验三的风速波动曲线,重点看三个现象。第一,有功功率随风速同步波动,这验证了风功率公式中的三次方关系——风速从 8m/s 提高到 10m/s,有功输出大约提升 (10/8)^3 ≈ 1.95 倍;第二,定速机组的无功功率在补偿电容作用下保持在较低水平,但会随机组滑差的变化小幅波动;第三,定速机组的转速曲线近似平直,双馈机组的转速则会出现明显波动且与风速波形形态不同——变速机组通过改变转速把一部分风能转化为转子动能,这就是“变速运行”的价值。
故障场景的读法要分开。定速机组在三相短路期间,机端电压跌到接近零,有功输出瞬间归零,但由于 SCIG 无法主动控制无功,故障期间机组反而从电网吸收大量无功,这会进一步压低母线电压形成恶性循环。故障切除后,有功功率出现低频振荡,阻尼来自转子惯量和控制绕组,大约 0.3~0.5s 后恢复稳态。双馈机组在电压控制模式下,故障期间转子侧变流器会向电网注入容性无功,机端电压的回升过程明显更快——这个差异就是 DFIG 具有故障穿越能力的最直观证据。
5.3 一个值得做的拓展:两种控制模式的故障响应对比
在同一张图画两条电压曲线,一条来自电压控制模式,一条来自无功功率控制模式,你会看到电压控制模式下故障切除瞬间的电压过冲更小、恢复曲线更平滑。原因在于电压外环在故障期间持续闭环调节无功参考值,而恒功率因数模式在电压跌落后功率因数保持恒定,无功输出与有功功率成固定比例,无法根据电压误差动态调整。这个对比是实验四报告的最佳素材。需要注意,故障期间电压控制模式的变流器会输出接近额定的无功电流,如果无功电流上限定得太低,电压支撑效果会被削弱——Simulink 模型里这个限幅值变可以在 Controls 参数页里看到,建议做一组不同无功限幅值的对比实验,这比单纯贴两张默认波形更有说服力。



被折叠的 条评论
为什么被折叠?



