打印
[应用相关]

STM32与BMS系统

[复制链接]
楼主: Diyer2015
手机看帖
扫描二维码
随时随地手机跟帖
21
Diyer2015|  楼主 | 2019-1-2 10:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
    美国国家仪器(NI)总部坐落于德克萨斯州,它于1976年建立,公司开始时的主营业务
是测量。现在世界各地有_50多个合作单位和分公司。NI在测量,控制,集成领域独树一帜,
其设计的采集卡有着优越的性能,被广泛应用。美国《财富》杂志对NI公司有着极高的评
价。NI公司有着良好的技术支持和售后服务。随着其金牌产品LAB VIEW的诞生,NI“软
件即仪器”的口号得到了世界范围内的认可。越来越多的公司将复杂的硬件测量系统,集成
到一台或多台PC主机上,将硬件软件化也是测量行业发展的方向之一。LAB VIEW是一款
基于C语言的开发环境,其编程语言称为“G语言”即图形化的语言,图形化语言的执行
方式是一种数据流的执行方式,即控件的输入端的条件都满足之后,才会执行下一步。
    本论文使用LAB VIEW作为编程环境的原因是:LAB VIEW中的控件都是由NI工程师
用C语言编程集成化得来,用LAB VIEW编程会极大的缩短研发周期[l9]。NI-VISA是
LAB VIEW的一个接口模块,可以实现各种接口的通信,如USB, USART, RS-232, RS-48_5,
CAN等接口。避免了复杂冗长的C语言接口程序编程。

使用特权

评论回复
22
Diyer2015|  楼主 | 2019-1-2 11:00 | 只看该作者

使用特权

评论回复
23
Diyer2015|  楼主 | 2019-1-2 11:00 | 只看该作者
    LAB V IEW主要用于对数据进行处理和分析,并通过接口来实现对下位机的各种操作。
通过使用LAB V IEW的顺序结构、条件结构、和事件结构来实现上位机的功能。非常容易能
够达到设计要求。配合NI的采集卡和摄像头能够完成各种各样的采集控制系统。LAB V IEW
用户操作界面极其人性化,设计者可以按照用户的需求随意设计LAB V IEW程序的编程界面。
    本论文主要使用循环结构、条件结构、事件结构、来实现上位机和下位机之间的通信。
设计一种可以检测铿电池电压、局部温度、散热状态、能量传递方向的上位机软件。该上位
机还可以实现控制电池电压、局部温度的功能。图3-1为BMS系统的上位机实现的框图。
其工作过程是:LTC6804通过SPI将采集到的各种变量传递给STM32F103ZET6,单片机通
过USB将各种变量的数据传递给LABVIEW} LABVIEW通过NI-VISA接受数据,通过控件
进行分析及显示。并且LAB V IEW可以通过NI-VISA给单片机发送指令从而控制单片机进行
一系列的操作。

使用特权

评论回复
24
Diyer2015|  楼主 | 2019-1-2 11:08 | 只看该作者
    USB是串行通用总线的简称,USB于1994年由多家公司联合提出,其中主要企业是微
软和英特尔。传输速率快,采用差分信号传输数据可靠性高,USB接口支持即插即用,统一
化的接口标准,使USB成为当今最常用的接口之一。目前绝大多数有线鼠标、有线键盘、
还有可以连接至电脑的各种外设均采用USB接口。USB2.0的传输速率达60M/S,USB3.0
的传输速率更是达到了640M/S o  USB的传输速率能够满足大多数接口的需求,
STM32F103ZET6芯片内部集成了USB2.0的控制器,并且意法半导体官方也提供了USB的
各种参考例程例如:USB_ CDC、USB_ HID、USB_ MOUSE。这些例程只需稍加改动就
可以使用,本设计使用USB_ CDC的例程,对其进行了改动,经过调试该程序可以成功驱动
USB芯片。
    NI-VISA是LAB V IEW的一个接口软件,通过NI-VISA可以清楚地观测到各种设备和接
口的工作状态,以及它们的传输速率。安装NI-VISA后在LAB V IEW中可以找到VISA的控
件。其中配置VISA-OPEN,  VISA-WRITE,  VISA-READ,  VISA-CLOSE,可以配置USB的
数据传输。USB在第一次连接至LAB V IEW的时候需要利用VISA  Driver Development
Wizard生成一个USB的INF文件,然后再对设备管理器中的USB硬件安装新的驱动(即前
面生成的INF文件)。然后就可以在LAB V IEW中搜索到USB的资源。配置USB并接受数
据的程序框图如图3-2所示。

使用特权

评论回复
25
Diyer2015|  楼主 | 2019-1-2 11:09 | 只看该作者
    其中VISA-OPEN用于打开USB生成的INF文件中的仪器描述符,即实现USB接口与
LAB V IEW的连接。VISA-WRITE用于通过USB发送命令给下位机,下位机接收到命令,
延时100MS }   VISA-READ接受到USB传来的30个字节。这30个字节的数据包括电压电
流、均衡模式、能量传递方向、温度、热管理系统的工作状态等。这些数据将被送入通知器,
使用通知器作为数据同步的工具,通知器相比于局部变量和全局变量有着安全可靠性高并且
易于对数据操作的优点。通知器的程序设计如图3-3所示。

使用特权

评论回复
26
Diyer2015|  楼主 | 2019-1-2 11:10 | 只看该作者

使用特权

评论回复
27
Diyer2015|  楼主 | 2019-1-2 11:10 | 只看该作者
    其中数据通知器用来传递USB发送过来的数据,这些数据存储为一个含有30个元素的数
组。然后通过索引数组对表示电压值的数组元素进行操作,其中数组元素要经过一个子V工
才能换算成真实的电压值。处理后得到的电压真实值输入到显示控件中去。根据电压值的大
小,来调整显示控件的属性节点,使其显示不同的颜色。散热系统的状态显示框图如图3-_5
所示。根据单片机传来的散热系统状态,在上位机上模拟风扇的工作状态,通过调用电脑中
旋转位置不同的图片,控制其可见和不可见的属性节点,即可以模拟出风扇的运行效果。
    上位机控制下位机的方式是在一个嵌套的条件结构中对V工SA-WR工TE控件进行操作,在上
位机下位机之间设定协议,上位机发不同的命令,下位机就会根据不同的指令执行不同的命
令。如下位机接收到开头为0X01, 0X01, OXOA的指令则为给第十号电池充电的命令,下位
机就会闭合相应的开关、给第10号电池充电。图3-6为上位机给下位机发送指令的LABV工EW
框图。

使用特权

评论回复
28
Diyer2015|  楼主 | 2019-1-2 11:16 | 只看该作者

使用特权

评论回复
29
Diyer2015|  楼主 | 2019-1-2 11:16 | 只看该作者
    在这两个嵌套的条件结构中,向VISA-WRITE中写入不同的指令,下位机就会执行不同
的命令,单片机通过控制I/O口的高低电平来控制继电器或者MOSFET的开关,从而将BMS
控制在不同的工作状态。在遵循整洁,美观,操作性强,现实直观的原则下。电池管理系统
的上位机最终的界面设计如图3-7所示。由图可见BMS上位机模拟其硬件系统,显示直观。
能够清楚地观测到每一节电池的电压,绿色代表安全电压,红色代表报警电压。每一个
DS18B20采集到的温度即显示到对应的位置,绿色为安全温度,红色为报警温度。每一节铿
电池下,有一个指示灯。若指示灯亮起则代表该电池电压过高在进行被动均衡。界面下端的
提示框,是显示充电电流的大小,没有充电则电流为0。提示信息是显示正在进行充电的电
池是哪一个,同时也会提示主动均衡能量传递的方向。右下角有一个系统开关,用来启动上
位机系统运行,和给单片机发送读取数据的指令。

使用特权

评论回复
30
Diyer2015|  楼主 | 2019-1-2 11:17 | 只看该作者
    当铿电池电压小于3. 7V时,充电系统即开始工作,将铿电池电压充满至4. 4V左右,然
后切断充电回路,数据显示充电系统工作效率非常高。在铿电池过放的时候能够及时的给铿
电池进行补电。
4. 2散热系统有效性分析
通过对USB上传的温度数据进行分析,并观测风扇的运行状态,在Ds 1 gB2o的温度大
于设定值3 _5摄氏度时,散热系统即开始工作将温度降到30摄氏度时,散热系统停止工作。
如图4-2为散热系统验证图。

使用特权

评论回复
31
Diyer2015|  楼主 | 2019-1-2 11:18 | 只看该作者

使用特权

评论回复
32
Diyer2015|  楼主 | 2019-1-2 11:18 | 只看该作者
    上位机和下位机同时运行时,下位机的热管理系统、充电系统、均衡系统,均可以正常
工作,上位机能即时的显示出下位机上传过来的电压数据、温度数据,以及主动均衡和被动
均衡数据。在电池电压不足的时候,下位机会自动的将过放的电池连接进入充电系统。图4-3
为BMS系统整体运行图。可见BMS系统正常工作,上位机显示管理和下位机工作控制之间
协调一致。系统可靠性高,没有BUG的存在。

使用特权

评论回复
33
lihui567| | 2019-1-3 15:50 | 只看该作者
这里为啥不用电量检测芯片呢,这样测试的电量不是更准确

使用特权

评论回复
34
磨砂| | 2019-1-5 11:05 | 只看该作者
bms系统是什么系统啊

使用特权

评论回复
35
晓伍| | 2019-1-5 11:10 | 只看该作者
铿电池是一种新兴的电池吗

使用特权

评论回复
36
八层楼| | 2019-1-5 11:16 | 只看该作者
干货啊  感谢分享

使用特权

评论回复
37
观海| | 2019-1-5 11:21 | 只看该作者
现在的电池都是用的这种了吗

使用特权

评论回复
38
guanjiaer| | 2019-1-5 15:25 | 只看该作者
现在国产电车的电池是一个瓶颈啊

使用特权

评论回复
39
Suetme| | 2021-4-9 15:20 | 只看该作者
楼主有LTC6803的程序吗,最近在做电池管理系统设计,不太会这款芯片的编程

使用特权

评论回复
40
Suetme| | 2021-4-9 15:23 | 只看该作者
主要是LTC6803的初始化程序,以及如何读电池电压的程序

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则