独立光伏-电池-柴油发电机组的能源管理系统的主干网研究(Matlab代码实现)

简介: 独立光伏-电池-柴油发电机组的能源管理系统的主干网研究(Matlab代码实现)

💥1 概述

本文是独立光伏-电池-柴油发电机组的能源管理系统的主干网研究。

模拟 PV、电池和 DG 模型。还有助于展示能源管理系统的工作原理。还能够与粒子群优化等大小调整算法集成。


📚2 运行结果

部分代码:

fh = figure();
fh.WindowState = 'maximized';
dim=[0.01, 0.87, 0.07, 0.05]; 
str=sprintf('System Size:\n  Npv=%.0f\n  Nbat=%.0f\n  Ndg=%.0f\n\nResult:\n  LPSP = %.3f\n  COE = %.2f $/kWh',Npv,Nbat,Ndg,LPSP,COE);
annotation('textbox',dim,'String',str,'FitBoxToText','on');
subplot(4,4,[1,5])
plot(Eload);
title('Load Profile')
xlabel('Time, t (hour)');
ylabel('Load Energy, E_{load} (kWh)');
grid on;
subplot(4,4,2)
plot(G)
title('Irradiance')
xlabel('Time, t (hour)');
ylabel('Irradiance, G (W/m^2)');
grid on;
subplot(4,4,6)
plot(T)
title('Ambient Temperature')
xlabel('Time, t (hour)');
ylabel('Ambient Temperature, T (^oC)');
grid on;
%% 2.3.2 PV Related  Energy 
subplot(4,4,[3,4])
plot(Epv);
title('PV Energy')
xlabel('Time, t (hour)');
ylabel('Battery Energy, E_{bat} (kWh)');
grid on;
%% 3.1 PV Model
function Ppv=PVmod(G,T,Npv)
Ppv=Npv*0.3*G/1000*2*(T-25);
end
%% 3.2 Battery Model
function [Ebat_lev,SOC,Ebat,Ebat_sur,Ebat_def]=BATmod(Epv_sur,Nbat)
%Parameter of the battery
SOCmin=0.2;                         %Minimum SOC (%)
SOCmax=0.8;                         %Maximum SOC (%)
SOCini=0.5;                         %Initial SOC (%)
Ebat_full=Nbat*10;                  %Full Battery Energy = Nbat * 1 Battery Energy Storage Capacity (W)
Ebat_min=SOCmin*Ebat_full;          %Maximum battery energy (kWh)
Ebat_max=SOCmax*Ebat_full;          %Minimum battery energy (kWh)
%Initial Battery Condition
persistent SOCpre;
if isempty(SOCpre)
    SOCpre=SOCini;                %Assigne previous SOC as initial SOC
end
%Updated battery condition
Ebat_lev=SOCpre*Ebat_full+Epv_sur;       %Previous battery energy level add surplus energy from PV
Ebat=Epv_sur;                            %Energy to battery
Ebat_sur=0;                              %There no energy surpass at battery
Ebat_def=0;                              %There no energy deficit at battery
%Battery is depleted
if Ebat_lev<Ebat_min
    Ebat_def=Ebat_min-Ebat_lev;         %Defecit energy from battery(kWh)
    Ebat_lev=Ebat_min;                  %Change the current energy storage to maximum limit
    Ebat=Epv_sur+Ebat_def;              %Energy that goes to battery
end
%Battery complete charge
if Ebat_lev>Ebat_max  
    Ebat_sur=Ebat_lev-Ebat_max;         %Excess energy from battery(kWh)
    Ebat_lev=Ebat_max;                  %Change the current energy storage to maximum limit
    Ebat=Epv_sur-Ebat_sur;              %Energy that goes to battery
end
%Update new SOC
SOC=Ebat_lev/Ebat_full;
SOCpre=SOC;
end
%% 3.3 Diesel Generator Model
function [Edg,LPS]=DGmod(Ebat_def,Ndg)
Edg_max=Ndg*100;        %Maximum energy that can be supply by diesel generator
Edg=Ebat_def;
LPS=0;
if Ebat_def>Edg_max
    LPS=Ebat_def-Edg_max;
    Edg=Edg_max;
end
end
%% 4 Cost of Energy
function COE=COEcalc(Npv,Nbat,Ndg,Ebat_sur_max,Eload_tot,Edg_tot)
Cpv=Npv*300;                %Cost of PV panels
Cbat=Nbat*1000;             %Cost of batteries
Cdg=Ndg*10000+Edg_tot*10;  %Cost of DG + cost of fuel
Cdum=Ebat_sur_max*10;      %Cost of dummy load
Ctot=Cpv+Cbat+Cdg+Cdum;     %Total cost
COE=Ctot/Eload_tot;         

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

🌈4 Matlab代码、数据

相关文章
|
9天前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
97 14
|
9天前
|
机器学习/深度学习 边缘计算 运维
【电能质量扰动】基于ML和DWT的电能质量扰动分类方法研究(Matlab实现)
【电能质量扰动】基于ML和DWT的电能质量扰动分类方法研究(Matlab实现)
79 10
|
8天前
|
监控
基于MATLAB/Simulink的单机带负荷仿真系统搭建
使用MATLAB/Simulink平台搭建一个单机带负荷的电力系统仿真模型。该系统包括同步发电机、励磁系统、调速系统、变压器、输电线路以及不同类型的负荷模型。
171 5
|
9天前
|
机器学习/深度学习 算法
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
|
11天前
|
算法 计算机视觉
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
|
11天前
|
编解码 人工智能 算法
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
|
11天前
|
机器学习/深度学习 编解码 并行计算
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
|
11天前
|
机器学习/深度学习 传感器 边缘计算
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)
|
9天前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
11天前
|
传感器 机器学习/深度学习 算法
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)

热门文章

最新文章