基于ARM的锂电池监控系统设计

2015-10-24 03:50聂巍丁玉峰余峰
船电技术 2015年10期
关键词:上位锂电池驱动

聂巍,丁玉峰,余峰

(武汉船用电力推进装置研究所,武汉430064)

基于ARM的锂电池监控系统设计

聂巍,丁玉峰,余峰

(武汉船用电力推进装置研究所,武汉430064)

安全问题日益成为锂电池技术发展的关键难题,对锂电池状态进行有效的监控显得尤为重要。本文设计了一种以ARM为控制核心的锂电池监控系统。详细描述了该系统的主要功能、硬件结构和软件设计。实现了96路单体电池的电压、16路电池温度以及电池放电电流的测量,并通过CAN总线将检测数据传送给上位机。实践表明该系统工作稳定可靠,检测精准,满足锂电池监控系统的设计需求。

ARM锂电池监控系统

0 引言

锂电池作为动力电池广泛应用于电动汽车、电动自行车等领域[1]。在这些领域中,通常需要对锂电池单体作大规模的串联或并联处理,来满足输出功率等方面的需求,因此需要对电池组中单体电池状态进行精确检测,来判断电池组状态,保证电池组的正常工作。本文以96节串联锂电池组为研究对象,针对电池组的检测与保护设计了一种锂电池监控系统。根据锂电池监控系统所要达到的控制功能,本文以LPC2378微控制器为控制核心,基于μc/OS-Ⅱ系统进行软件设计。

1 系统硬件设计

1.1系统功能

本文设计的锂电池监控系统主要实现了以下四个功能:数据采集、数据存储、上位机通讯、电池组故障保护。其中:

数据采集:1)共96路电池电压采集;2)共16路电池温度采集;3)电池放电电流采集。

数据存储:1)定时对所有采集数据进行存储;2)对电池组状态、监控系统状态进行存储;3)对上位机所发指令等通讯信息进行存储。

上位机通讯:通过CAN总线将所采集数据、电池组及监控系统状态等信息发送给上位机。

电池组故障保护:1)电池欠压故障保护;2)电池过流故障保护;3)电池过温故障保护;4)电池防充电保护。

1.2硬件方案设计

监控系统的核心是嵌入式微控制器,32位的ARM微控制器是嵌入式控制器的主流。为了满足监控系统的功能需求和今后扩展系统的要求,选用恩智浦公司的LPC2378作为本系统的微控制器。LPC2378包含了10/100Ethernet MAC、USB 2.0全速接口、4个UART、2路CAN通道、2个SPI接口等,可在高达72 MHz的工作频率下运行,512KB的片内FLASH程序存储器,32KB的SRAM[2]。监控系统以LPC2378为核心,硬件系统结构图如图1所示。

图1 硬件系统结构图

数据采集电路采用Linear公司的电池监视IC LTC6803,它内置1个12位ADC、1个精准电压基准。每个LTC6803能够在输入共模电压高达60V的情况下测量多达l2个串接电池的电压,2路外接温度传感器电压,可用13 ms完成一个系统中所有电池的测量,最大总测量误差为0.25%[3]。本系统中采用8个LTC6803串联使用,主控制器通过SPI总线控制LTC6803启动电压温度采集,并通过总线传回采集数据。

在控制板上,扩展了64MB的FLASHROM作为存储单元,用来存储电池数据、状态和通讯指令等信息。系统中通过信号调理电路将0~10 A的电流信号转换为0~3V的电压信号,然后输出到LPC2378的AD采集接口。系统所需的CAN通讯信号通过高速CAN隔离收发器CTM1050进行转换,该芯片内部集成了所有必需的CAN隔离及CAN收、发器件,满足系统与上位机通讯需求。在放电回路中,串连一个大功率MOS管,用于控制放电回路的开通与关断。

2 软件设计

2.1嵌入式操作系统设计

长期以来,嵌入式系统在工业、电信、航空及军事领域得到了广泛的应用。本系统从系统实时性、多线程应用的要求出发,基于μc/OS-Ⅱ嵌入式操作系统开发锂电池监控系统控制软件。分为μc/OS-Ⅱ嵌入式操作系统层,电池监控应用层以及硬件驱动层。硬件驱动层包括AD驱动,SPI驱动,定时器驱动,CAN驱动和LTC6803驱动等。硬件驱动层提供硬件初始化函数、中断处理和对外接口。电池监控应用层用于实现系统需求,多任务模式。

通过对系统功能分析,将软件主要划分为3个任务。分别是:

T1:CAN通讯任务,优先级最高。用于与上位机通讯。

T2:电池监控任务,优先级低于T1。对电池模块数据进行采样,进行电池状态判断,并处理。

T3:数据存储任务,优先级最低。对电池数据及状态进行存储。

软件基本结构图如图2所示。

图2 软件基本结构图

任务T1-T3作为3个独立模块,由操作系统调度程序进行调度。

2.2驱动程序设计

硬件驱动层包括AD驱动,SPI驱动,定时器驱动,CAN驱动和LTC6803驱动等。其中除LTC6803驱动外,都有官方例程可以借鉴,减少了开发任务量。LTC6803驱动程序遵循数据手册描述,上电后,通过SPI总线对LTC6803进行初始化配置,在采集电压或温度时,先发送启动电池电压ADC转换指令,转换约在12 ms后完成,然后读电池电压寄存器,获取采集结果。其中启动电池电压ADC转换按如下流程进行。

1)将CSBI拉至低电平;

2)发送STCVAD命令字节和PEC(堆栈中的所有器件同时启动ADC转换);

3)将底部器件的SDO输出拉至低电平并持续约12 ms的时间;

4)SDO输出以1 kHz频率跳转,指示菊链中的所有器件ADC转换均完成;

5)将CSBI拉至高电平以退出轮询状态。

对采集结果进行处理,ADC输出一个带0X200(十进制为512)偏移的12位代码。输入电压可以按下式计算:

式中的DOUT是一个十进制整数。

2.3应用程序设计

在应用程序中,根据系统的功能,本系统主要编写了以下程序:

1)数据采样处理程序:为了保证电压温度及电流的采样精度,除了硬件滤波外,软件采用多次采样后去除最大值和最小值,然后进行均值的方法进行软件滤波,将滤波后的数据与门限值进行比较,判断电池是否工作于正常状态;

2)数据存储程序:将每次采集的数据以及电池状态,按时间顺序存储在FLASHROM中,当数据容量超过存储空间时,删除最先保存的采集数据;对与上位机通讯过程中产生的指令进行存储,进行系统操作记录;

3)CAN指令处理程序:根据上位机所发指令,对监控系统进行相应的操作,包括:上传采集数据、电池状态、系统状态,开通、关断放电回路等;

4)故障报警及保护程序:根据采集的数据,对电池状态进行判断,当电池电压过高、过低,电池温度过高,放电电流过大等情况发生时,立即向上位机报送故障信息,并可断开放电回路,保护电池。

3 测试试验

采用VB开发的上位机对监控系统所采集的数据进行读取,得到检测数据如图3所示。界面中反映了所有电池电压和温度、放电回路电流,通过读状态显示出系统和电池的状态。

图3 上位机界面

为了了解监控系统的电压采样精度,对一个测量通道进行电压检测试验,将监控系统测量值与万用表测量值进行比较,得到数据如表1所示。可以得出在实际电压为0.49V时,测量误差最大为0.61%,略高于手册上0.25%的误差,随着电压的升高误差逐渐减小,但都在10 mV以内。经过多次试验,发现引起误差的主要原因在于LTC6803的测量电压基准偏差导致,手册标称值为3.065V,实际测量得到范围为3.055V到3.075V,保证此基准电压的准确,是提高LTC6803测量精度的关键,在设计过程中需重点关注。

表1 锂电监控系统电压测试

4 结束语

本文采用恩智浦公司的LPC2378芯片和Linear公司的LTC6803芯片设计了一种锂电池监控系统,该系统能够测量96路单体电池的电压、16路电池温度以及电池放电电流,并通过CAN总线将检测数据传送给上位机。经过实际测试,该监控系统具有电压检测±10 mV精度,系统工作稳定可靠,具有广泛的应用价值。

[1]祝斌.动力电池技术与应用[J].船电技术,2015,35(4):30-34.

[2]周立功.ARM微控制器基础与实战(第2版)[M].北京:北京航空航天大学出版社,2005.

[3]郭建成,杨继承,曹广永.LTC6803-3在锂电检测系统中的应用[J].中国新通信.2013,14:84-85.

Design of Lithium Batteriessupervisorysystem with ARM

Nie Wei,Ding Yufeng,Yu Feng
(Wuhan Institute of Marine Electric Propulsion,Wuhan 430064,China)

Because thesecurity becomes the key question of lithium batteries technology development,it is particularly important to monitor effectively lithium batteries operation.In this paper,a lithium batteriessupervisorysystem with ARM is designed,and main function,hardwarestructure andsoftware design method for thesupervisorysystem are presented.It can measure 96 cellsVoltage,16 cells temperature and batteries discharging current,and transmit the testing result to thesupervisory controlsystem through the CAN bus.Testsshow that thesystem isstable,reliable and accurate,and can meet the demands of lithium batterysupervisorysystem.

ARM;lithium battery;supervisorysystem

TM911.14

A

1003-4862(2015)10-0070-04

2015-03-14

聂巍(1989-),硕士。研究方向:控制科学与工程。

猜你喜欢
上位锂电池驱动
基于模糊PI控制的驱动防滑仿真系统分析
屈宏斌:未来五年,双轮驱动,砥砺前行
轨旁ATC系统门控柜接收/驱动板改造
一种锂电池组主动均衡充电保护电路的设计
特斯拉 风云之老阿姨上位
锂电池里装微型灭火器:再也不担心手机电池起火等
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
基于S3C6410的Wi-Fi驱动移植实现
充电电池到底该怎么带?——话说锂电池