前言

本章介绍BMS硬件功能及SimuLink库为主,捎带介绍一些例程内容

注意:例程所用的协议均是自定义的

自做的SimuLink库也会不定期更新

BMS例程的内容不定期维护添加

当前的BMS没有主动均衡功能,这个有考虑后期加上,当前还处于考虑阶段

软件程序的应用层和底层是分离的,方便更换程序及移植模块

BMS的例程中仅使用了P2板卡,P3没有使用

一、硬件介绍

1、当前的硬件产品3D仿真图如下(电路板透视图的内部有不少变动,仅作参考)

2、电池管理系统控制器技术参数

                                                             技术参数

微控制器

FS32K144,32位,100引脚,汽车级芯片

Flash 512 KB,SRAM 64KB

最高主频:112MHz,硬件浮点单元

控制版功能

电池组两级对搭铁的绝缘电阻检测

检测两路硬件唤醒信号的电压

检测电源供电的电压

两路可控led指示灯

电源

供电电源8~32V,可防反接,2路硬件唤醒,支持1路CAN FD,支持硬件唤醒掉电后程序控制休眠

1路5V输出,平均500mA,峰值1A

控制区功能

电池组两级对搭铁的绝缘电阻检测

检测硬件唤醒信号的电压

检测电源供电的电压

两路可控led指示灯

2路0-5V电压采集,转换精度12bit

2路高压互锁信号采集,可采集频率信号

3路CC信号

1路CP信号

2路高压互锁信号输出,可配置输出PWM

5路底边驱动,每路可过1.5A电流

5路高边驱动,每路可过1.5A电流

可用“FreeMASTER”在线标定

3路CAN通讯,其中 2 路 CAN2.0B, ISO11898, 1路 CAN FD 兼容 CAN 2.0B

1路485通讯

4路IO检测通道

可隔离检测1路高压电压信号

采集卡区域

采用车规级芯片MC33771采集模组电压,菊花链通讯,可拼接

每组最大可采集14路锂电池电压信号

每组最大可采集5路温度信号

第一组可采集镇流器的电流信号(这个作废)

可做被动均衡

外壳

ABS塑料外壳,3D打印

工作温度范围

-40~85℃

工作湿度范围

0~95%

外形尺寸(mm)

208*124*31

连接器

40PIN28PIN 汽车连接器

3、电池管理系统控制器的管脚说明

控制部分接线定义

40P引脚

引脚定义

40P引脚

引脚定义

1

电源输入

21

汽车地

2

唤醒信号1

22

唤醒信号2

3

第1路IO检测

23

第2路IO检测

4

第3路IO检测

24

第4路IO检测

5

485通讯A

25

485通讯B

6

第1路CAN通讯H

26

第1路CAN通讯L

7

第2路CAN通讯H

27

第2路CAN通讯L

8

第3路CAN通讯H

28

第3路CAN通讯L

9

5V电源输出

29

5V电源参考地

10

第1路5V信号采集

30

第2路5V信号采集

11

第1路NTC电阻采集

31

第2路NTC电阻采集

12

第1路高边输出

32

第1路低边输出

13

第2路高边输出

33

第2路低边输出

14

第3路高边输出

34

第3路低边输出

15

第4路高边输出

35

第4路低边输出

16

第5路高边输出

36

第5路低边输出

17

第1路互锁信号输出

37

第1路互锁信号输入

18

第2路互锁信号输出

38

第2路互锁信号输入

19

慢充CP信号

39

慢充CC信号

20

快充CC2信号

40

快充CC1信号

前14块电池管教定义

28P引脚

引脚定义

28P引脚

引脚定义

1

第1节电池负极

15

第1节电池负极

2

第2节电池正极

16

第1节电池正极

3

第4节电池正极

17

第3节电池正极

4

第6节电池正极

18

第5节电池正极

5

第8节电池正极

19

第7节电池正极

6

第10节电池正极

20

第9节电池正极

7

第12节电池正极

21

第11节电池正极

8

第14节电池正极

22

第13节电池正极

9

镇流器正极

23

镇流器负极

10

NTC温度传感器1

24

NTC温度传感器2

11

NTC温度传感器1

25

NTC温度传感器2

12

NTC温度传感器3

26

NTC温度传感器4

13

NTC温度传感器3

27

NTC温度传感器4

14

NTC温度传感器5

28

NTC温度传感器5

后14块电池管教定义

28P引脚

引脚定义

28P引脚

引脚定义

1

第15节电池负极

15

第15节电池负极

2

第16节电池正极

16

第15节电池正极

3

第18节电池正极

17

第17节电池正极

4

第20节电池正极

18

第19节电池正极

5

第22节电池正极

19

第21节电池正极

6

第24节电池正极

20

第23节电池正极

7

第26节电池正极

21

第25节电池正极

8

第28节电池正极

22

第27节电池正极

9

镇流器正极

23

镇流器负极

10

NTC温度传感器6

24

NTC温度传感器7

11

NTC温度传感器6

25

NTC温度传感器7

12

NTC温度传感器8

26

NTC温度传感器9

13

NTC温度传感器8

27

NTC温度传感器4

14

NTC温度传感器10

28

NTC温度传感器10

提示:若电池数量不足,请保持每个采集芯片至少有3节电池,每个芯片的第一节电池位置和最后一节电池位置保证有电池存在,中间部分可以短接。

4、开发工具

类型

名称

说明

开发语言

SimuLink/C

开发环境

Matlab/IAR/MDK/S32DS等

Matlab2022b(我用这个版本)

标定软件

FreeMASTER

有条件的可以CCP和XCP

烧录器

Jlink/CAN更新

建议使用配合BMS对接的简易HIL测试箱,确保自己后期开发的模型没有问题再用与实际使用场景,尽可能的避免出现经济损失性的BUG,特别是电池部分,用真电池很难把所有的故障信息表达出来,很容易有考虑不周的地方

对接简易HIL测试箱的下次说明,实时性能:1ms

二、软件部分

1、首先先安装官方基础库,方法如下

S32K1xx的MBD工具箱加载及激活_matlab mbd安装-CSDN博客

2、获取自主编辑的SimuLink库“BMSS32K144_SimuLinkLib”,如下,放置的位置不要有中文路径

3、打开matlab,并在matlab目录行中添加“BMSS32K144_SimuLinkLib”的目录

4、设置路径-包含“BMSS32K144_SimuLinkLib”的目录

5、双击打开“slblocks.m”文件,点击运行

5、关闭“slblocks.m”文件,并关闭matlab

三、打开BMS例程,开机第一次打开SimuLink模型比较慢,耐心等待

例程BMS模型如下

1、SimuLink模型库介绍,全汉语的名称,没必要啰嗦解释了

2、BMS单体电池信息采集

3、电池均衡管理

4、模拟量采集

5、数字量采集

6、CP信号采集

7、底层信息和应用层信息交换(如果更换应用层,注意这里需要修改)

8、接收CAN控制指令

9、应用层--逻辑处理

10、更新标定量

11、底层信号输出表达

12、CAN信息返回

三、协议及底层文件、CAN更新程序

同VCU的协议用是同一个、CAN更新程序和VCU用CAN更新程序方法相同

对S32K144做的VCU安装快速开发Simulink库及VCU例程介绍-CSDN博客

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

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

相关文章

urlencode、html实体编码、unicode

目录 urlencode html实体编码 Unicode编码 urlencode URL编码也称为百分号编码,用于将URL中的特殊字符转换为安全传输的格式。英文数字一般不编码 特点: 使用%后跟两个十六进制数字表示字符 空格编码为或%20 保留字符(; / ? : & …

【HarmonyOS】元服务概念详解

【HarmonyOS】元服务概念详解 最近几年,我们手里的设备越来越多——手机、平板、手表、车机……光是管理这些设备上的APP就够头疼了:下载要流量、安装占内存、换个设备又得重新弄一遍。有没有更简单的方式?HarmonyOS推出的“元服务”&#xf…

vscode/cursor怎么自定义文字、行高、颜色

JetBrains Mono: A free and open source typeface for developers | JetBrains: Developer Tools for Professionals and Teams 首先下载上面的文字,然后右键全选,安装 然后重启cursor 下载插件Apc Customize UI 点击设置 把下面的代码复制进去&…

JavaScript 与 C语言基础知识差别

一, 变量声明对比 C语言: int age 20; // 必须指定类型 float price 9.99; char grade A; const double PI 3.14; // 常量JavaScript: let age 20; // 数字 var price 9.99; // 现在不用,有缺点 co…

无缝矩阵支持音频分离带画面分割功能的全面解析

一、技术原理与实现方式1. 音频分离技术核心功能:HDMI无缝矩阵通过硬件或软件实现音频加嵌与分离功能,支持多设备音频的独立处理与增强。实现方式:音频加嵌:将外部音频信号(如麦克风、调音台)嵌入HDMI信号中…

AI创作系列第18篇:海狸IM移动端UI统一大升级 - 从混乱到规范的技术重构之路

AI创作系列第18篇:海狸IM移动端UI统一大升级 - 从混乱到规范的技术重构之路本文是海狸IM AI创作系列的第18篇文章,记录7月11日-13日周末期间对移动端的UI统一升级工作。这次重构不是功能性的,而是架构性的 - 我们重新设计了整个UI架构&#x…

八、nginx搭建,实现vue跳转nginx跳转gateway

基本的调用链路: vue调用nginx,nginx反向代理gateway,gateway看用户是否登录,没有登录的话,就创建验证码并先输入密码后获取token。 截止现在我们创建了两个项目能够通过feign调用,并且创建好了gateway,且能调用对应的项目。 这一章节,我们搭建好nginx,通过反向代理,…

C++ 中常见的字符串定义方式及其用法

引言 最近在学习C&#xff0c;下面将从基础到进阶的顺序&#xff0c;列出一些 C 中常见的字符串定义方式及其用法&#xff0c;包含完整代码和详细注释&#xff0c;加深对代码的理解。 C 风格字符串&#xff08;char*或 char[]&#xff09; 定义方式 #include <iostream>i…

下一代防火墙-防范DOS攻击、IPS防护、web防护实验

一、实验拓扑二、实验设备1.山石网科系列下一代防火墙2.三层交换机一台3.windows两台4.各种工具&#xff0c;如hyenae、小旋风服务器、永恒之蓝等等三、实验目的1.掌握网络攻击防护策略配置2.通过下一代防火墙来防护服务器免受DOS攻击四、防范Dos攻击实验1.将一台windows配置为…

【人工智能】通过 Dify 构建智能助手

通过 Dify 构建智能助手1.定义2.如何使用智能助手3.添加助手需要的工具4.配置 Agent5.配置对话开场白6.添加文件上传7.调试与预览8.应用发布1.定义 智能助手&#xff08;Agent Assistant&#xff09;&#xff0c;利用大语言模型的推理能力&#xff0c;能够自主对复杂的人类任务…

破局与重构:文心大模型开源的产业变革密码

——从技术垄断到生态共享的战略转型深度解析 引言&#xff1a;一场静悄悄的革命 2024年&#xff0c;当百度宣布文心大模型4.5系列全面开源时&#xff0c;这不仅仅是一次技术发布&#xff0c;更是一场关于AI产业未来走向的战略博弈。在全球AI竞争白热化的当下&#xff0c;开源意…

7.15 窗口函数 | 二分 | 位运算

05.071.位运算2.位图class Solution { public:int exchangeBits(int num) {bitset<33> bitNum(num);for (int i 0; i < 16; i){bitNum[32] bitNum[2*i];bitNum[2*i] bitNum[2*i1];bitNum[2*i1] bitNum[32];}return (int)bitNum.to_ulong();} };577.员工奖金select…

Windows 安装配置Claude Code

文章目录1.安装node.js2.安装 Claude Code3.测试claude1.安装node.js https://nodejs.org/en/download/ 一路回车即可顺利安装完成。 再键盘按下Win R快捷键&#xff0c;输入cmd&#xff0c;然后回车启动命令行窗口。分别输入node -v和npm -v来查看node.js版本和npm版本。 环…

C++动态数组vector

一、为什么要用vector而不是数组 虽有嘉肴&#xff0c;弗食&#xff0c;不知其旨也。______,____,____________。 简单来说就是节约内存&#xff0c;不容易RE 二、如何使用vector 既谓之数组&#xff0c;则用之如数组 1.定义 vector<数据类型>名称 vector<int …

14.使用GoogleNet/Inception网络进行Fashion-Mnist分类

14.1 GoogleNet网络结构设计import torch from torch import nn from torch.nn import functional as F from torchsummary import summary class Inception(nn.Module):def __init__(self, in_channels,c1,c2,c3,c4,**kwargs):super(Inception,self).__init__(**kwargs)#第一条…

NE综合实验2:RIP 与 OSPF 动态路由精细配置、FTPTELNET 服务搭建及精准访问限制

NE综合实验2&#xff1a;RIP 与 OSPF 动态路由精细配置、FTPTELNET 服务搭建及精准访问限制 涉及的协议可以看我之前的文章&#xff1a; RIP实验 OSPF协议&#xff1a;核心概念与配置要点解析 ACL协议&#xff1a;核心概念与配置要点解析 基于OSPF动态路由与ACL访问控制的网…

Android 插件化实现原理详解

Android 插件化实现原理详解 插件化技术是Android开发中一项重要的高级技术&#xff0c;它允许应用动态加载和执行未安装的APK模块。以下是插件化技术的核心实现原理和关键技术点&#xff1a; 一、插件化核心思想宿主与插件&#xff1a; 宿主(Host)&#xff1a;主应用APK&#…

空间智能-李飞飞团队工作总结(至2025.07)

李飞飞团队在空间智能(Spatial Intelligence)领域的研究自2024年起取得了一系列突破性进展,其里程碑成果可归纳为以下核心方向: 一、理论框架提出与定义(2024年) 1、空间智能概念系统化 a.定义: 李飞飞首次明确空间智能为“机器在3D空间和时间中感知、推理和行动的能…

【算法深练】BFS:“由近及远”的遍历艺术,广度优先算法题型全解析

前言 宽度优先遍历BFS与深度优先遍历DFS有本质上的区别&#xff0c;DFS是一直扩到低之后找返回&#xff0c;而BFS是一层层的扩展就像剥洋葱皮一样。 通常BFS是将所有路径同时进行尝试&#xff0c;所以BFS找到的第一个满足条件的位置&#xff0c;一定是路径最短的位置&#xf…

ZW3D 二次开发-创建球体

使用中望3d用户函数 cvxPartSphere 创建球体 函数定义: ZW_API_C evxErrors cvxPartSphere(svxSphereData *Sphere, int *idShape); typedef struct svxSphereData {evxBoolType Combine; /**<@brief combination method */svxPoint Center; /**<@brief sphere ce…