189号资源-论文+程序 ee498风力发电机组模型预测控制应用项目 对机器的定子侧进行电流控制-----已提供下载资源

👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆下载资源链接👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆

《《《《《《《《更多资源还请持续关注本专栏》》》》》》》

论文与完整源程序_电网论文源程序的博客-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/liang674027206/category_12531414.html

电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.https://blog.csdn.net/LIANG674027206?type=download

涉及了风力发电机组中的一种先进控制策略。在这个项目中,模型预测控制(MPC)被应用于风力发电机组,特别是针对机器的定子侧进行电流控制。

风力发电机组的定子侧电流控制是优化发电效率和系统稳定性的关键。定子是风力发电机的主要部件之一,其电流的有效管理直接影响到发电机的性能和电力输出。模型预测控制是一种前瞻性控制方法,通过实时预测系统的未来状态,并优化控制输入,以满足设定的性能目标和约束条件。 在这个项目中,MPC的应用包括开发论文和相应程序,旨在提高风力发电机组的控制精度和运行效率。论文通常涉及对MPC控制策略的理论分析、模型建立以及优化算法的详细描述,而程序则实现了这些控制策略,进行实际的电流控制和性能评估。

总结来说,此项目通过结合理论研究和实际编程,实现了风力发电机组定子侧的精确电流控制,提升了系统的整体性能和稳定性。

部分代码展示:

% Some figure formatting
set(groot,'defaulttextinterpreter','latex');  
set(groot, 'defaultAxesTickLabelInterpreter','latex');  
set(groot, 'defaultLegendInterpreter','latex'); 
clear all;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Finite Horizon MPC as quadratic program
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
A = [1.1 2; 0 0.95];
B = [0; 0.0787];
C = [-1 1];
D = 0;
x0 = [0.5;-0.5];
Ts = 1;
% Optimal control solution for $N = 4$
G = [zeros(2,1) zeros(2,1) zeros(2,1) zeros(2,1); B zeros(2,1) zeros(2,1) zeros(2,1); ...
    A*B B zeros(2,1) zeros(2,1); A^2*B A*B B zeros(2,1); A^3*B A^2*B A*B B];
H = [eye(2); A; A^2; A^3; A^4];
Q = C'*C;
R = .01;
% Q = eye(2);
Pinf = dare(A,B,Q,R,zeros(2,1),eye(2) );
Kinf = inv(R+B'*Pinf*B)*B'*Pinf*A;
% A*X*A' - X + Q = 0;  X = dlyap(A,Q)
P = dlyap( (A-B*Kinf)',Q+Kinf'*R*Kinf);
Qf = P;
Qbar = blkdiag(Q,Q,Q,Q,Qf);
Rbar = blkdiag(R,R,R,R);
M = G'*Qbar*G + Rbar;
% input bound: umin <= u <= umax
umin = -Inf;
umax = Inf;
umin = -4;
umax = 4;
lb = [umin;umin;umin;umin];
ub = [umax;umax;umax;umax];
% Apply MPC steps
xVec(:,1) = x0;
yVec(1) = C*x0;
uVec = [];
for kk = 1:30
    alpha = G'*Qbar*H*xVec(:,kk);
    Usol = quadprog(M,alpha',[],[],[],[],lb,ub);
    uVec(kk) = Usol(1);
    xVec(:,kk+1) = A*xVec(:,kk) + B*uVec(kk);
    yVec(kk+1) = C*xVec(:,kk+1);
%     Xsol(:,1) = xVec(:,kk);
%     Xsol(:,2) = A*Xsol(:,1) + B*Usol(1);
%     Xsol(:,3) = A*Xsol(:,2) + B*Usol(2);
%     Xsol(:,4) = A*Xsol(:,3) + B*Usol(3);
%     Ysol(1) = C*Xsol(:,1);
%     Ysol(2) = C*Xsol(:,2);
%     Ysol(3) = C*Xsol(:,3);
%     Ysol(4) = C*Xsol(:,4);
end


uVec = [uVec uVec(end)];
tVec = [0:1:30];
% figure;
subplot(2,2,1)
stairs(tVec,uVec,'LineWidth',2);
hold all;
xlabel('time [sec]')
grid
ylabel('$u$')
title('Input $u$')
subplot(2,2,2)
stairs(tVec,C*xVec,'LineWidth',2)
hold all;
grid
xlabel('time [sec]')
ylabel('$y$')
title('Output $y$')
subplot(2,2,3)
stairs(tVec,[1 0]*xVec,'LineWidth',2)
hold all;
grid
xlabel('time [sec]')
ylabel('$x_1$')
title('State $x_1$')
subplot(2,2,4)
stairs(tVec,[0 1]*xVec,'LineWidth',2)
hold all;
grid
xlabel('time [sec]')
ylabel('$x_2$')
title('State $x_2$')
set(findall(gcf,'Type','line'),'LineWidth',2)
set(findall(gcf,'-property','FontSize'),'FontSize',14);
% legend('$u_{max} = 1.5$','$u_{max} = 2.5$','$u_{max} = 4$')

效果展示:

189号资源-论文+程序ee498风力发电机组模型预测控制应用项目对机器的定子侧进行电流控制-本人博客有解读资源-CSDN文库icon-default.png?t=O83Ahttps://download.csdn.net/download/LIANG674027206/89761856👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆下载资源链接👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆

《《《《《《《《更多资源还请持续关注本专栏》》》》》》》

论文与完整源程序_电网论文源程序的博客-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/liang674027206/category_12531414.html

电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.https://blog.csdn.net/LIANG674027206?type=download

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电网论文源程序

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值