MatlabCode

本站所有资源均为高质量资源,各种姿势下载。

您现在的位置是:MatlabCode > 资源下载 > 一般算法 > 双馈风力发电机组矢量控制与系统仿真建模

双馈风力发电机组矢量控制与系统仿真建模

资 源 简 介

本项目构建了一个基于MATLAB/Simulink平台的完整双馈感应发电机(Doubly Fed Induction Generator, DFIG)风力发电系统仿真模型。该项目详细模拟了从风能捕获到电网并网的全过程,包含了风力机空气动力学子系统、传动链模型、双馈感应电机模型以及背靠背PWM变流器控制系统。核心功能重点在于转子侧变流器(RSC)和网侧变流器(GSC)的协同控制:RSC采用基于定子磁链定向的矢量控制策略,实现了有功功率和无功功率的解耦控制,能够根据风速变化进行最大功率点跟踪(MPPT)优化运行,并在超同步和亚同步速下调节发电机转速;GSC采用基于电网电压定向的矢量控制,主要负责维持直流母线电压的稳定,并控制无功功率以实现单位功率因数并网。此外,项目还集成了变桨距控制逻辑,在高风速区域限制输出功率保护机组。该仿真代码支持用户自定义风速曲线(如阶跃风、随机风),可用于分析系统在风速波动、电网电压跌落(用于低电压穿越LVRT研究)及三相短路故障下的动态响应特性,是研究风电并网控制策略和电能质量分析的理想工具。

详 情 说 明

双馈感应风力发电机 (DFIG) 系统建模与矢量控制仿真

项目介绍

本项目实现了一个基于纯MATLAB脚本(不依赖Simulink图形化模块)的双馈感应发电机(DFIG)风力发电系统离散时间仿真模型。仿真涵盖了从风速模拟、空气动力学能量转换、机械传动、发电机电磁动态到背靠背变流器(RSC与GSC)矢量控制的完整流程。项目旨在模拟1.5MW风力发电机组在多变风速条件及电网故障(如电压跌落)下的动态响应。

核心功能特性

  • 纯代码实现:脱离Simulink模块库,完全使用MATLAB脚本编写系统微分方程与控制逻辑,便于理解底层算法原理。
  • 多工况风速模拟:内置混合风速模型,包含基本恒定风、斜坡变化风(阵风模拟)以及正弦扰动风。
  • 低电压穿越 (LVRT) 模拟:代码中预设了电网电压跌落逻辑,可模拟在特定时刻(1.5s-1.6s)发生50%深度的三相电压跌落故障,用于测试系统鲁棒性。
  • 双PWM变流器协同控制
* 转子侧变流器 (RSC):基于定子磁链定向 (SFO) 的矢量控制,实现最大功率跟踪 (MPPT) 和无功调节。 * 网侧变流器 (GSC):基于电网电压定向 (GVO) 的矢量控制,维持直流母线电压稳定。
  • 完整的物理模型:包含空气动力学$C_p$曲线近似计算、单质块机械传动模型以及基于dq坐标系的电机参数计算。

系统要求

  • MATLAB R2018b 或更高版本(推荐)。
  • 无需额外的Simulink工具箱,仅需基础MATLAB环境即可运行。

详细功能与算法实现

以下描述完全基于 main.m 源代码的实际逻辑:

1. 初始化与参数配置

代码首先定义了仿真所需的全部物理参数,包括:
  • 仿真设置:采样时间设定为100微秒 ($T_s = 1e-4s$),总仿真时长默认为2秒。
  • 电网与电机:定义了690V/50Hz电网参数,以及1.5MW DFIG发电机的定转子电阻、电感、互感及对应的漏磁系数。
  • 机械系统:设定了发电机与风轮机的惯量、摩擦系数、齿轮箱变比 (1:90) 以及叶片半径 (35m)。
  • 控制器增益:预设了RSC和GSC电流环、速度环、电压环以及PLL和变桨控制的PI参数。

2. 仿真主循环逻辑

仿真通过一个 for 循环进行离散时间步进迭代,主要包含以下模块:

#### A. 环境输入生成

  • 风速模型
* 0-0.5s:8m/s 恒定风。 * 0.5-1.2s:线性增长至约11m/s(模拟阶跃/阵风)。 * 1.2s后:在11m/s基础上叠加正弦扰动。
  • 电网电压故障模拟
* 根据时间 $t$ 生成标准三相正弦电压。 * 在 $t > 1.5s$ 且 $t < 1.6s$ 区间内,强制将三相电压幅值减半,模拟电网电压跌落故障。

#### B. 锁相环 (PLL)

  • 采用了基于dq坐标系的软件锁相环。
  • 通过Park变换将电网电压投影到估计的dv-qv轴。
  • 使用PI控制器调节 $v_q$ 趋向于0,从而锁定电网相位及频率,同时输出电网电压幅值估计量。
#### C. 空气动力学与机械系统
  • 叶尖速比 ($lambda$) 计算:根据机械转速、齿轮箱变比和当前风速实时计算。
  • 风能利用系数 ($C_p$):实现了一个基于 $lambda$ 和桨距角 $beta$ 的非线性经验公式近似计算。
  • 转矩计算:由空气动力学公式计算机械功率 $P_m$,进而得到机械转矩 $T_m$。
  • 运动方程求解:利用单质块模型微分方程,计算转速变化率 $domega_r/dt$,并更新机械转速和转子位置角。
#### D. 磁链观测与定向
  • 采用定子磁链定向 (SFO) 策略。
  • 基于电流模型 ($L_s i_s + L_m i_r$) 实时计算定子磁链的d轴和q轴分量。
  • 计算磁链角度 $theta_s$,并处理初始时刻的相位对齐问题。
#### E. 转子侧变流器 (RSC) 控制
  • 控制目标:解耦控制有功功率(转速/转矩)和无功功率。
  • 外环(速度环)
* 根据最佳叶尖速比计算最优转速参考值 $w_{ref}$ (MPPT策略)。 * 速度误差经过PI调节器生成电磁转矩参考值 $T_{e,ref}$,进而转换为q轴电流参考 $i_{qr,ref}$。
  • 无功控制
* 设定无功功率参考值为0(单位功率因数运行)。 * 计算维持定子磁链所需的d轴电流参考 $i_{dr,ref}$。
  • 内环(电流环)
* 包含d轴和q轴两个独立的PI控制器。 * 前馈解耦:代码中显式实现了交叉耦合项(如 $omega_{slip}sigma L_r i_{qr}$)的补偿,以消除d-q轴电流的各自动态影响。 * SVPWM限幅:根据直流母线电压计算最大输出电压模值,对输出电压矢量进行圆形限幅。

#### F. 网侧变流器 (GSC) 控制

  • 控制目标:通过电网电压定向 (GVO) 维持直流母线电压稳定。
  • 外环(电压环)
* 对比直流母线电压 $V_{dc}$ 与参考值 (1150V),通过PI调节器生成d轴电流参考 $i_{dg,ref}$(控制有功流向电网)。
  • 无功控制
* 直接设定q轴电流参考 $i_{qg,ref} = 0$。
  • 内环(电流环)
* 同样包含前馈解耦项和电网电压前馈补偿。 * 对输出控制电压进行SVPWM限幅处理。

#### G. 变桨控制 (Pitch Control)

  • 实现了变桨启动判断逻辑:当发电机转速超过额定转速的1.05倍或机械功率超过额定功率时,计算转速误差,准备启动变桨执行机构以限制功率(注:这部分逻辑在代码末尾启动,与主循环集成)。

3. 数据记录

代码在运行过程中初始化了 log 结构体,预留了记录风速、转速、转矩、功率、电压、电流和桨距角等关键变量的数组,用于后续分析。

使用方法

  1. 确保MATLAB当前工作目录为项目文件夹。
  2. 在命令窗口输入 main 并回车,或直接运行 main.m 脚本。
  3. 脚本将初始化参数并开始执行名为 main 的函数。
  4. 仿真过程主要在内存中进行计算,并更新状态变量。
  5. (注:由于代码主要是计算逻辑核心,用户需自行添加 plot 命令来绘制 log 结构体中的数据以查看波形)。