当前位置: 首页 > news >正文

对S32K144做的BMS安装快速开发Simulink库及BMS例程介绍

前言

本章介绍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.dtcms.com/a/274195.html

相关文章:

  • 【SpringBoot】 整合MyBatis+Postgresql
  • ROS1学习第三弹
  • uniApp实战五:自定义组件实现便捷选择
  • MyBatis缓存穿透深度解析:从原理到实战解决方案
  • Selenium 自动化实战技巧【selenium】
  • frame 与新窗口切换操作【selenium 】
  • 【JMeter】调试方法
  • Conda 安装与配置详解及常见问题解决
  • 从代码学习深度强化学习 - PPO PyTorch版
  • 番外-linux系统运行.net framework 4.0的项目
  • 《Java EE与中间件》实验三 基于Spring Boot框架的购物车
  • 【flutter】flutter网易云信令 + im + 声网rtm从0实现通话视频文字聊天的踩坑
  • 如何蒸馏 设计 中文nl2sql 数据集,进行grpo强化学习 训练qwen3-8b,可以提升大模型nl2sql的能力,支持300行sql生成
  • Redis 分片集群
  • mysql报错服务没有报告任何错误
  • AIGC(生成式AI)试用 33 -- 用AI学AI名词
  • 彻底解决JavaFx在Linux中文无法正常显示的问题(究其根本原因)
  • 剑指offer——数组:数组中重复的数字
  • 博客系统开发全流程解析(前端+后端+数据库)与 AI 协作初体验
  • [大模型问数]实现大模型调用MYSQL(03)【MCP笔记】
  • Prometheus+Grafana部署及企业微信邮件/群消息告警通知配置
  • Shader面试题100道之(81-100)
  • 中学物理模拟实验Python程序集成打包
  • 牛客周赛 Round 99
  • Spring 声明式事务:从原理到实现的完整解析
  • 破解多宠管理难题,端侧AI重新定义宠物智能硬件
  • 《Spring 中上下文传递的那些事儿》Part 10:上下文敏感信息脱敏与审计日志记录
  • ESP32_启动日志分析
  • 【TCP/IP】17. 移动 IP
  • Linux权限的概念