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

news2024/9/25 13:16:39

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 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代码、数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/140347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ESPI3接收机

18320918653 ESPI3 ESPI3|R&S ESPI3|二手EMI接收机|EMI预认证测试接收机|罗德与施瓦茨|EMC接收机|9KHz至3GHz品 牌&#xff1a;德国罗德与施瓦茨 | R&S | Rohde&Schwarz处于预认证级别的 R&S ESPI测试接收机有两种型号, 集成了罗德与施瓦茨公司认证级EMI测试…

springboot:除了OpenOffice还可以用它轻松实现文档在线预览功能【附带源码】

0. 引言 我们在项目中常常需要实现文档在线预览的功能&#xff0c;而文档种类繁多&#xff0c;除了pdf&#xff0c;还有word、text、excel、甚至还有mp3,mp4等多媒体文件。常用的手段是通过OpenOffice来将文档转换为pdf实现预览&#xff0c;本期我们就来看如何通过kkFileView实…

rabbitmq基础10——消息追踪、Shovel插件的web端使用和命令使用

文章目录一、消息追踪1.1 Firehose功能1.1.1 开启与关闭1.1.2 测试1.1.3 总结1.2 rabbitmq_tracing 插件1.2.1 定义trace规则1.2.2 测试1.2.2.1 与Firehose之间的优先级二、Shovel插件2.1 实现原理2.1.1 从队列到交换器2.1.2 从队列到队列2.1.3 交换器到交换器2.2 Shovel 插件使…

大小端转换

一、名词解释首先解释一下大端模式和小端模式。小端模式&#xff0c;也叫小端存储&#xff1a;Little-Endian就是低位字节排放在内存的低地址端&#xff0c;高位字节排放在内存的高地址端。大端模式&#xff0c;也叫大端存储&#xff1a;Big-Endian就是高位字节排放在内存的低地…

2022年度技术总结

2022 年度总结 本年收获 计算机网络 2022年2月&#xff0c;系统学习巩固了计算机网络课程&#xff08;本科&#xff09;&#xff0c;基本的七层模式&#xff0c;四层模式&#xff0c;重点是与前端开发相关的 TCP UDP HTTP HTTPS 等协议。 现在有一个整体的认识&#xff1a;…

@Transactional事务处理解决方案的看法

Transactional事务处理解决方案的看法前言一.声明式事务二.编程式事务三.事务粒度优化方法四.缓存和事务的一致性五.介绍--延时双删总结前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 本文就是了解一下声明式事务和编程式事务的优缺点和事务一致性的一…

怎样阅读NLP论文

经典的论文也是需要读的。并不是所有的论文都值得细读。论文不是从头赶着朝下读。 目录收集和组织论文收集组织1.通过会议的方式分类2.是否是arXiv上的文章分类&#xff08;preprint or not&#xff09;3.根据问题&#xff08;推荐&#xff09;&#xff0c;方法和数据集分类选择…

Ka波段卫星通信小尺寸无线电设计

传统Ka波段地面站卫星通信系统依赖于室内到室外配置。室外单元包含天线和块下变频接收机&#xff0c;接收机输出L波段的模拟信号。该信号随后被传送到室内单元&#xff0c;室内单元包含滤波、数字化和处理系统。Ka波段的干扰信号通常较少&#xff0c;因此室外单元的主要任务是以…

微信小程序开发整体过程整理

目录1微信开发相关介绍1.1微信公众平台1.2微信开放平台1.3注意事项2微信小程序开发整体介绍2.1微信小程序简介2.2小程序接入流程3框架简介3.1uni-app简介3.2学习使用uni-app3.3学习微信小程序开发4开发规范5开发示例5.1开发工具5.2开发调试5.2.1导入代码5.2.2项目运行5.2.3在微…

第三篇 - 对象的单层劫持

一&#xff0c;前言 上篇&#xff0c;介绍了 Vue 使用及数据初始化的流程 回顾一下&#xff0c;主要涉及以下几个核心点&#xff1a; initMixin 方法&#xff1a; 原型方法 Vue.prototype._initvm.$options&#xff1a;使 options 选项在 vm 实例上被共享initState 方法&…

c#入门-匿名函数,多播委托

匿名函数 如果一个函数的参数是一个委托类型。而你此刻没有合适的方法组使用&#xff0c;也不想为他专门声明一个局部函数。 则可以使用匿名函数。匿名函数的创建更为简单&#xff0c;语法为&#xff1a;返回类型 参数列表 > 函数主体 Func<int, string> func str…

人工智能OCR文字识别研究

1 研究背景 人工智能是研究开发能够模拟、延伸和扩展人类智能的理论、方法、技术及应用系统的一门新的技术科学&#xff0c;研究目的是促使智能机器会听&#xff08;语音识别、机器翻译等&#xff09;、会看&#xff08;图像识别、文字识别等&#xff09;、会说&#xff08;语音…

使用Jiralert实现AlertManager告警对接Jira

简介 Alertmanager 处理由客户端应用程序&#xff08;如 Prometheus server&#xff09;发送的警报。它负责去重(deduplicating)&#xff0c;分组(grouping)&#xff0c;并将它们路由(routing)到正确的接收器(receiver)集成&#xff0c;如电子邮件&#xff0c;微信&#xff0c…

MMYOLO 自定义数据集从标注到部署保姆级教程

theme: juejin 来自社区 PeterH0323 投稿 AI 已经被应用到各行各业&#xff0c;现如今任何人都可以轻松基于开源框架快速搭建符合自身需求的 AI 应用。本文将基于 MMYOLO 开源框架&#xff0c;基于生活中收集的猫猫数据集&#xff0c;教你如何从零开始训练一个可部署检测模型…

TiCDC 源码阅读(二)TiKV CDC 模块介绍

内容概要 TiCDC 是一款 TiDB 增量数据同步工具&#xff0c;通过拉取上游 TiKV 的数据变更日志&#xff0c;TiCDC 可以将数据解析为有序的行级变更数据输出到下游。 本文是 TiCDC 源码解读的第二篇&#xff0c;将于大家介绍 TiCDC 的重要组成部分&#xff0c;TiKV 中的 CDC 模…

【C++】命名空间(namespace) 以及理解using namespace std

命名空间1.命名空间使用的背景1.背景2.命名空间的定义&#xff08;namespace&#xff09;2.1正常的定义2.2 命名空间可以嵌套定义2.3允许命名空间相同3.域作用限定符&#xff08;&#xff1a;&#xff1a;&#xff09;和命名空间的使用3.1域作用限定符&#xff08;&#xff1a;…

【nodejs】模块化

一、概念 1、模块化 编程领域中的模块化&#xff0c;就是遵守固定的规则&#xff0c;把一个大文件拆成独立并相互依赖的多个小模块 把代码进行模块化拆分的好处&#xff1a; 1、提高代码的复用性 2、提高代码的可维护性 3、可以实现按需加载 2、模块化规范 对代码进行模块化…

《CSS新世界》读书笔记

前言 本文为《CSS新世界》的读书笔记。推荐去读原著。 《CSS新世界》微信读书APP链接&#xff1a;CSS新世界-张鑫旭-微信读书 (qq.com) 1. 尺寸属性值&#xff1a;fit-content 描述 fit-content 不是一个属性&#xff0c;它是 css 尺寸系列属性的一个新属性值。可用在 wid…

lammps教程:旋转模型的技巧

大家好&#xff0c;我是小马老师。 本文介绍lammps翻转模型的方法。 在进行分子动力学模拟时&#xff0c;可能需要特定的面位于设定的方向。 如Al2O3的力学性能模拟中&#xff0c;需要分别对A、B、C面进行压痕或者摩擦模拟。 按照研究界面垂直z轴&#xff0c;并且面法线沿着z轴…

转转测试环境治理的高效能实践

文章目录1. 背景及需求1.1 系统架构的发展1.2 测试环境的需求2. 传统的测试环境解决方案-物理隔离3. 转转测试环境V1-改进的物理隔离3.1 稳定环境3.2 动态环境3.3 优缺点3.3.1 优点3.3.2 缺点4. 转转测试环境V2-基于自动IP标签的流量路由5. 转转测试环境V3-基于手动标签的流量路…