基于MPC的风储联合调频模型【Simulink】
目录
主要内容
仿真模型要点
2.1 整体仿真模型
2.2 MPC控制模块
2.3 风机内部模型
2.4 风储性能指标优化
部分结果
下载链接
主要内容
该模型参考文献《风储联合系统参与频率响应的优化控制策略》,以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代码的方式将风储性能指标转化为二次规划模型进行求解。