基于模糊控制的电动汽车锂电池SOC主动均衡电路MATLAB仿真模型

关注“电气仔推送”获得资料(专享优惠)

模型简介

模型在 Matlab/Simulink仿真平台中搭建16节电芯锂电池电路模型,主要针对电动车锂电池组SOC差异性,采用模糊控制算法动态调节均衡电流,以减少均衡时间和能量损耗。在放电、静置、充电三种工况下仿真分析,SOC都有效均衡,仿真效果很好,适合进一步改进创新!

采集模块将采集到的信号经过模糊算法对 SOC 进行 估算后,当发现电池组内单体电池 SOC 差值 超过设定范围时,反馈信号经过中央处理器处理发送均衡指令,PWM 控制驱动电路 MOSFET 管开启均衡,以电感控制器作为电池能量传递的媒介,将相邻两个电池中较高 能量传递给较低能量,从而减小电池组累积的差异。

均衡电路拓扑如下图所示,该均衡电路可以完成相邻两节单体电池间的不一致性均衡,框图部分为均衡的子模块,其中 L1 电感元器件可以实现电池电能到磁能再到电能的转换以及 能量的存储,R1 为消磁电阻,消除电感中残留的磁能,防止电感出现磁饱和现象;M 是 MOSFET 的代称,它的功能主要是控制均衡电路的导通和断开;D 是体二极管的代称, 它们与 MOSFET 并联起来构成了放电回路,回路主要是转移电池和电感的能量。所设 计的这种均衡电路可以实现电池组三种工作阶段的均衡,而且电池组相邻之间电池的均 衡电路不受主路电流的干扰,因此均衡期间互不干扰,大大加快了均衡的速率。 

模糊控制逻辑

在 SOC∈(20%,80%)的范围内采用以 SOC 作为变量的 FLC 控制方案, SOCdif和∆SOC 分别设为(0,20%)和(0,60%)。转换后的模糊变量分别是 μ(x)和 μ(y)分别对应于 SOCdif和∆SOC,其各分为 5 个模糊子集:非常小(VS)、小(S)、中(M)、大(L)、非常大(VL)。 

在均衡过程中,根据以下知识和经验建立如表 1 所示的模糊规则表:

1)如果 SOCdif很大,并且∆SOC 也很大,则需要大的均衡电流来较少均衡时间;

2)如果∆SOC 较小,SOCdif并且也较小,则需要小的均衡电流以保证电池安全。

仿真模型主体

模糊控制模块

放电工况下的SOC均衡

静置工况下的SOC均衡

充电工况下的SOC均衡

由三种工况的仿真图可知,在放电、充电条件下,电池组会先均衡电量,然后均匀放电、充电;在静置条件下,电池组可以通过SOC均衡策略平均分配各电池的电量(SOC)。

参考文献

电动汽车动力电池均衡技术的研究_李金龙

动力锂离子电池组均衡策略研究_齐火箭

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

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

相关文章

Python全栈开发前端与后端的完美融合

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在当今互联网时代,全栈开发已经成为了一种趋势。全栈开发者具备前端和后端开发的…

java Web-Spring AOP

AOP的概念 AOP:面向切面编程,面向方法编程。简单理解就是对特定方法的扩充的思想 例如我们要在特定方法进行方法的执行时间判断,我们假如去使用在每个方法去进行业务逻辑扩充,这样就太繁琐了,而使用AOP就可以简化操作。Spring A…

Pytorch 学习路程 - 1:入门

目录 下载Pytorch 入门尝试 几种常见的Tensor Scalar Vector Matrix AutoGrad机制 线性回归尝试 使用hub模块 Pytorch是重要的人工智能深度学习框架。既然已经点进来,我们就详细的介绍一下啥是Pytorch PyTorch 希望将其代替 Numpy 来利用 GPUs 的威力&…

.net6项目模板搭建教程

1.集成log4net 安装如下扩展依赖即可,已经包含了log4net依赖: Microsoft.Extensions.Logging.Log4Net.AspNetCore 添加日志配置文件: 日志配置文件属性设置为始终复制: 注入服务: #region 注入log4net日志服务build…

一年期免费SSL证书正在消失?这里还有

在数字化时代,数据安全与隐私保护的重要性不言而喻。SSL(Secure Sockets Layer)证书作为保障互联网通信安全的关键工具,其有效期一直是业界关注的焦点。近年来,我们见证了免费一年期SSL证书向三个月有效期的转变&#…

win11右键默认显示更多选项

目录 方法一:使用 Shift 键加右键单击方法二:修改注册表方法三:运行命令重启打开命令行恢复win10右键恢复win11右键 在 Windows 11 中,右键单击某个文件或文件夹时,默认情况下可能会显示较少的选项。如果您希望在右键菜…

Oracle EBS Interface/API(54)- GL日记账审批

背景: 客户化创建薪酬凭证或者银企付款入账日记账以后,用户希望自动提交审批流程,无需到系统标准功能点击审批,减少用户操作。 快速参考 参考点内容功能导航N: GL->日记账->输入并发请求None基表GL.GL_JE_BATCHESAPI参考下面介绍错误信息表None接口FormNone接口Reque…

相机标定的原理

1.相机标定资料 这个视频是建议有一定基础的去看,详细介绍了整个标定的过程。 https://www.bilibili.com/video/BV1R7411m7ZQ/?spm_id_from333.337.search-card.all.click&vd_sourcec205d4d10f730a57820343328741984a 这个文章基础一点,可以先看 h…

【YOLOv8改进[注意力]】YOLOv8添加DAT(Vision Transformer with Deformable Attention)助力涨点

目录 一 DAT 二 YOLOv8添加DAT助力涨点 1 总体修改 2 配置文件 3 训练 其他 一 DAT 官方论文地址:https://openaccess.thecvf.com/content/CVPR2022/papers/Xia_Vision_Transformer_With_Deformable_Attention_CVPR_2022_paper.pdf Transformers最近在各种视…

轻松搭建llama3Web 交互界面 - Ollama + Open WebUI

Ubuntu下安装:(官网:Download Ollama on Linux) curl -fsSL https://ollama.com/install.sh | sh 就运行起来ollama了,不放心可以用ollama serve查看一下 ollama run llama3 就可以跑起来了, 那么我们肯…

windows10环境下conda迁移到linux环境

网上给出的方案错误百出,记录一下正确方案。 1 创建yaml文件 创建到终端所在路径下 conda activate 环境名 conda env export --no-build >环境名.yaml2 新操作系统中创建新的conda环境 conda env create -f 环境名.yaml3 删除不兼容的包 终端报错 Could n…

CUDA编程【2】-(51-78)

系列文章目录 文章目录 系列文章目录前言51、寄存器溢出51.1 溢出概念51.1 使用控制 52、本地内存和共享内存52.1 本地内存52.2. 共享内存 53. 常量内存53.1 概念53.2 初始化 54. 全局内存54.1 概念54.2 初始化 55. GPU缓存和变量作用域55.1 缓存类型55.2 变量作用域 56. 静态全…

我的一些 35+ 前同事的现状

大家好,我是坤哥,好久不见,今天简单和大家聊一下我目前观察到的前同事的现状 今年和一些前同事简单聊过,他们的现状如下: A: 去新西兰做 iOS 开发快 10 年了,马上就要拿到永久居留证了,他说在新…

(六)小案例银行家应用程序-删除账号-findindex方法

findindex方法和find方法非常类似,只不过findindex顾名思义,他返回的是index; ● 下面我们使用删除账号的功能来学习一下findindex的 ● 当用户登录成功之后,可以在下方输入自己的用户名和密码,然后提交&#xff0c…

Unity 中(提示框Tweet)

using UnityEngine; using UnityEngine.UI; using DG.Tweening; using System; public class Message : MonoBehaviour {public float dropDuration 0.5f; // 掉落持续时间public float persisterDuration 1f; // 持续显示时间public float dorpHeight;public static Message…

Redis入门到通关之Redis数据结构-String篇

文章目录 欢迎来到 请回答1024 的博客 🍓🍓🍓欢迎来到 请回答1024的博客 关于博主: 我是 请回答1024,一个追求数学与计算的边界、时间与空间的平衡,0与1的延伸的后端开发者。 博客特色: 在我的…

HarmonyOS ArkUI实战开发-NAPI 加载原理(下)

上一节笔者给大家讲解了 JS 引擎解释执行到 import 语句的加载流程,总结起来就是利用 dlopen() 方法的加载特性向 NativeModuleManager 内部的链接尾部添加一个 NativeModule,没有阅读过上节文章的小伙伴,笔者强烈建议阅读一下,本…

初识《list》及手搓模拟《list》

目录 前言: 1. list的介绍及使用 list的介绍: list的使用: 1、list的构造​编辑 2、list iterator的使用 3、list capacity 4、list element access 5、list modifiers 2.list的模拟实现 1、关于迭代器: 2、迭代器类的…

ScriptableObject数据容器讲解

概述 是Unity提供的一个用于创建可重用的数据容器或逻辑的基类。 ScriptableObject 是继承自 UnityEngine.Object 的一个类,但与普通的 MonoBehaviour 不同,它不能附加到GameObject上作为组件。 相反,ScriptableObject 通常用于存储和管理…

ThingsBoard实战教程(七):模拟设备遥测

tb做为一个多租户的物联网平台,文档也很齐全。后端使用的是java语言编写的,可以用swagger来导出文档。tb的所有服务都可以通过接口来看到。接口主要分为两部分,一部分是设备API,另一部分是用于服务端API。 在我们启动tb之后,可以通过http://ip +port/swagger-ui.html 来…