基于 Matpower 39 节点的风电场频率下垂控制和减载控制仿真

本示例使用 Matpower 39 节点模型,模拟风电场频率下垂控制和减载控制策略,并绘制有功-频率下垂曲线、风电机组风能利用系数、最优和次优功率跟踪曲线。

代码示例

% 加载 Matpower 39 节点数据
mpc = loadcase('case39');

% 设置风电机组参数
mpc.gen(30, 9) = 2; % 将第 30 个发电机设为风电机组
mpc.gen(30, 10) = 0.05; % 风电机组的初始风能利用系数
mpc.gen(30, 18) = 0.1; % 风电机组的有功-频率下垂系数

% 设置减载控制参数
Pm = 1.0; % 额定机械功率
H = 5.0; % 动力系统的同步速度常数
D = 0.1; % 动力系统的阻尼常数
Kp = 0.3; % 控制器的比例增益
Ki = 0.2; % 控制器的积分增益

% 创建时间变量
t = 0:0.01:5; % 时间范围和步长

% 初始化变量
delta = zeros(length(t), 1); % 相角偏移
Pm_track = zeros(length(t), 1); % 最优功率跟踪曲线
Pm_suboptimal = zeros(length(t), 1); % 次优功率跟踪曲线

% 模拟风电机组的风能利用系数和减载控制
for i = 1:length(t)
    % 计算风电机组的风能利用系数
    Cp = mpc.gen(30, 10); % 当前风能利用系数
    Vw = 10; % 风速
    Vrated = 15; % 风电机组额定风速
    Cp_new = Cp * (Vw / Vrated)^3; % 根据风速调整风能利用系数
    mpc.gen(30, 10) = Cp_new; % 更新风能利用系数
    
    % 计算减载控制
    delta_f = mpc.bus(39, 16); % 当前频率偏移
    Pm_new = Pm - Kp * delta_f - Ki * sum(delta); % 根据频率偏移调整减载功率
    Pm_track(i) = Pm_new; % 记录最优功率跟踪曲线
    Pm_suboptimal(i) = Pm_new - 0.1 * Pm; % 记录次优功率跟踪曲线
    
    % 更新相角偏移
    delta(i) = mpc.bus(39, 16); % 记录相角偏移
    
    % 运行潮流计算
    results = runpf(mpc);
    mpc = results;
end

% 绘制曲线
figure;
plot(t, delta, 'r-', 'LineWidth', 1.5);
hold on;
plot(t, Pm_track, 'b-', 'LineWidth', 1.5);
plot(t, Pm_suboptimal, 'g-', 'LineWidth', 1.5);
xlabel('时间');
ylabel('值');
legend('有功-频率下垂曲线', '最优功率跟踪曲线', '次优功率跟踪曲线');
title('有功-频率下垂特性控制、减载控制曲线');
grid on;

代码说明

  1. 加载 Matpower 39 节点数据:mpc = loadcase('case39');
  2. 设置风电机组参数:将第 30 个发电机设为风电机组,并设置初始风能利用系数和频率下垂系数。
  3. 设置减载控制参数:包括额定机械功率、同步速度常数、阻尼常数、比例增益和积分增益。
  4. 初始化变量:包括时间、相角偏移、最优功率跟踪曲线和次优功率跟踪曲线。
  5. 模拟风电机组的风能利用系数和减载控制:在循环中,根据风速更新风能利用系数,并根据频率偏移调整减载功率。
  6. 运行潮流计算:使用 runpf 函数进行潮流计算,更新系统状态。
  7. 绘制曲线:绘制有功-频率下垂曲线、最优功率跟踪曲线和次优功率跟踪曲线。

注意

  • 上述代码仅为示例,具体的参数和计算方式可能需要根据实际情况进行调整。
  • 代码需要使用 Matpower 工具箱,可以从 Matpower 网站 下载。
  • 可以根据需要修改代码,例如添加扰动、改变控制策略等。
  • 本示例仅用于学习和研究目的,不适合直接用于实际应用。

原文地址: https://www.cveoy.top/t/topic/o5k2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录