基于MPC的风储联合调频模型【Simulink】

文摘   2024-09-26 22:08   河北  

  主要内容   

该模型参考文献《风储联合系统参与频率响应的优化控制策略》,以Matlab/Simulink平台建立仿真模型,主要实现的内容如下:

1.建立详细系统模型,风储系统参与电网一次调频模型包括传统发电机组、储能装置、风机、交流负荷以及模型预测控制器。

2.通过MPC模型预测控制根据当前以及未来预测的电网频率,风机和储能装置的状态进行优化计算,产生风机的参考桨距角变化量和储能装置的参考功率变化量,改善系统调频效果并且实现风储调频功率优化分配。

3.仿真模型包括两部分,分别是带储能和不带储能部分,方便大家对照研究学习。

  仿真模型要点   

2.1 整体仿真模型

模型参考结构图如下,包括风机、储能、负荷、模型预测控制器以及发电机组等

整体simulink模型如下:

不带储能部分模型:

包含储能部分模型:

2.2 MPC控制模块

2.3 风机内部模型

2.4 风储性能指标优化

       % 性能指标权系数矩阵        Q_base = [1,0;0,1];    % No*No的对角矩阵,输出误差基准加权矩阵        R_base = 1;            % Nu*Nu的对角矩阵,控制量加权基准矩阵,此处为控制增量加权基准矩阵        Q = eye(Np);        R = eye(Nc);        Q = kron(Q,Q_base);    % 预测时域内输出误差权矩阵        R = kron(R,R_base);    % 控制时域内控制增量权矩阵            % 性能指标转化为标准二次规划系数矩阵        H = Theta' * Q * Theta + R;        H = (H + H')/2;        f = (2*(Phi * kesi - y_ref)' * Q * Theta)';            % 约束条件        A_c  = tril(ones(Nc*Nu));        Ut   = kron(ones(Nc,1),U);        umin = -5;                        % 控制量最大值        umax = 2;                         % 控制量最小值        delta_umin = -0.05;               % 控制增量最小值        delta_umax = 0.05;                % 控制增量最大值        U_min = kron(ones(Nc,1),umin);        U_max = kron(ones(Nc,1),umax);        delta_Umin = kron(ones(Nc,1),delta_umin);        delta_Umax = kron(ones(Nc,1),delta_umax);        lb = delta_Umin;        ub = delta_Umax;            % 不等式约束系数矩阵        A_con_cell = {A_c;-A_c};        b_con_cell = {U_max - Ut;-U_min + Ut};        A_con = cell2mat(A_con_cell);        b_con = cell2mat(b_con_cell);            % 二次规划求解        options = optimset('Algorithm','');        [X,fval,exitflag] = quadprog(H,f,A_con,b_con,[],[],lb,ub,[],options);            % 控制量计算        delta_u = X(1);        U = U + delta_u;        u_ctr = U;            block.OutputPort(1).Data = u_ctr;        block.OutputPort(2).Data = [u_ctr, delta_u];

该部分以matlab代码的方式将风储性能指标转化为二次规划模型进行求解。

  部分结果   

   “阅读原文”获取程序源码   


电力程序
打造电力专业最新原创程序集散地,免费分享基础编程资料,在这里,带着希望而来,带着知识而归~
 最新文章