基于串口通信的锂电池检测控制系统

2013-08-10 12:46:44张洪涛杨名军
湖北工业大学学报 2013年1期
关键词:电池组锂电池串口

张洪涛,裴 浩,杨名军,葛 林

(湖北工业大学电气与电子工程学院,湖北 武汉430068)

锂电池作为一种理想的新型绿色电源,由于其优越的性能,逐渐取代了以往常用的铅酸电池和镍镉电池.锂电池的优点是高能量、安全性较高、工作温度范围宽、工作电压平稳、使用寿命长.但是由于锂电池的输出功率较小,所以通常是将锂电池串联起来作为锂电池组使用.串联使用的锂电池组由于锂电池个体之间制造工艺的区别,电池之间的电压不可能完全一致,这样会使锂电池组在充放电过程中,容量高的电池会对容量低的电池放电,这种现象会大幅度降低锂电池组的使用寿命,为了保证锂电池组的使用寿命,必须给锂电池组添加电池检测系统.

目前的锂电池检测系统大多数是固定在电池组上以便实时显示电池组的工作状态,为了使电池组的工作状态可以准确及时地显示在上位机上,需要给锂电池检测系统添加串口通信模块.本文针对四节锂电池组成的锂电池组,设计了一个以FPGA作为处理器的锂电池检测系统.

1 系统的总体结构

该系统主要分为以下三个模块:FPGA控制模块、电池数据采集模块、串口通信控制模块.其中FPGA控制模块实现数据的处理和串口通信模块的驱动,电池数据采集模块主要包括电池组的电压、电流、温度三项数据的采集.本系统的串口通信模块主要分成两个模块,数据发送模块和数据接收模块.数据发送模块实时发送电池组的工作状态数据给上位机,电池组的工作状态数据主要包括电池的单体电压,电池组的总体电压、电流、温度.数据接收模块通过上位机给检测系统发送控制指令,方便对电池组进行保护[1].系统结构如图1所示.

图1 系统结构图

2 硬件电路设计

2.1 系统硬件平台

本系统硬件电路的设计平台采用黑金开发板,该开发板配置的FPGA芯片是Cyclone II系列的EP2C8Q208C[2],该芯片具有8256个逻辑单元,同时具有64M的SDRAM和16M闪存,满足程序的存储需求.开发板时钟采用外部20MHz的晶振,具有各种常用接口,包括以太网接口,USB接口,RS232串行接口,VGA接口,PS/2接口.外部设备中开发板集成了6个共阳极的数码管,4个LED灯,5个独立按键以及一个蜂鸣器.此外,开发板扩展了100个I/O口,可以给开发板添加外部电路.黑金开发板完全可以满足设计需求.

2.2 电压采集电路

电压采集电路是针对四节锂电池串联所构成的电池组的电压进行采集,采集芯片是常用的A/D转换芯片ADC0809,该芯片的参考电压是5V,工作电压也是5V,但是每节锂电池的工作电压约为3.7 V,串联起来的电压值超过了转换芯片的参考电压,因此需要采用电阻分压法,在电池组两端串联四个阻值完全相同的电阻,A/D转换芯片只对其中一个电阻两端的电压进行采集,这样采集到的电压值是实际电压值的1/4.

电池组的电压采集不仅是对电池组的电压进行采集,也需要对单体电池的电压进行采集,控制电池两端开关的关断就可以采集任意一节电池的电压.电压检测电路如图2所示,当开关S1和S0闭合时采集电池V1的电压值,开关S4和S6闭合时采集电池V2的电压值,开关S2和S7闭合时采集电池V3的电压值,开关S3和S5闭合时采集电池V4的电压值[3].

图2 电压采集电路

电压采集电路中的开关采用光电继电器TLP521_1,其内部结构如图3所示,当引脚tip_1为低电平时,发光二极管发光,此时光敏器件两端tip_2和tip_3导通,就实现了开关的闭合.

图3 TLP521_1的内部结构

2.3 电流采集电路

电池组的充放电电流有很大的不确定性,要尽量提高电流的采集频率.采集电流的A/D转换芯片使用TLC2543,该芯片的转换时间为10μs,输出12位数据,可以满足采样频率和精度的要求.由于电流的变化量微小,为了实现电流采集的准确性,在进行A/D转换之前,添加了电流放大检测芯片MAX4172.[4]该芯片可以将采样的电流放大50倍后再输出,输出后的电流值经过一个接地电阻转化为电压值,再由TLC2543采集.电流采集电路如图4所示,MAX4172采样经过R5的电流,在其内部将电流放大50倍后,通过OUT引脚输出到电阻R6,将电流转化成电压.TLC2543采集电阻R6两端的电压值.电池组的充放电电流计算公式如下:

2.4 温度采集电路

为了防止锂电池在充放电过程中温度过高,必须实时对电池组的温度进行采集.本设计中采用数字温度传感器DS18B20采集电池组的温度.DS18B20的硬件电路简单,只有三个引脚,其中VCC和GND分别接电源和接地,DQ引脚则用于数据的传输,温度采集电路见图5.

2.5 时钟分频电路的设计

因为电池的数据采集电路中A/D转换芯片都需要外部提供时钟脉冲才能工作,ADC0809的工作时钟脉冲为500kHz,TLC2543的时钟脉冲为5 MHz,DS18B20的单总线通信的时序需要精确到us,因此需要1MHz的时钟脉冲.时钟的分频可以通过 Quartus II中的软件 Mega Wizard Plug-In Manager来构建一个分频电路.分频电路如图6所示,inclk0接50MHz的外部晶振,c0为50MHz的1/50,所以为1MHz.同理,c1为5MHz,c2为500 kHz.[5]

图4 电流采集电路

3 量系统的软件设计

为了驱动系统中各个模块的正常工作,需要通过软件的方法对各个模块进行控制.本设计中采用Verilog HDL来实现软件的设计,Verilog HDL的部分语法参照C语言的语法设立,因此也具备了C语言的优点.Verilog HDL的代码使用灵活,具有很强的电路描述能力,可以提高系统设计的效率和可靠性.

本系统的软件流程见图7,分为电压采集控制、电流采集控制、温度采集控制、串口通信控制.其中电池的数据采集、串口通信的数据发送都是同时进行的,以方便实时地将电池组的数据准确发送给上位机.

图7 系统软件流程图

最后的串口通信控制,是用户通过上位机观察到系统发送过来的电池组的数据,可以根据这些数据向系统发送指令,停止电池组的充放电,以达到对电池组的保护.

4 量仿真结果分析

本文在软件Quartus II中对ADC0809,TLC2543进行了时序仿真(图8).由图8,clk_500k是ADC0809的时钟脉冲,d是经过ADC0809转换后输入给处理器的数字量,q是处理器经过处理后显示的数字量,第一个周期由于输出使能端oe在eoc为高电平的时候没有置高,所以数据不能传输到处理器.第二和第三个周期可以看到数据正常传输到处理器并显示.

图9是TLC2543的时序仿真图形,icclk是TLC2543所需的时钟脉冲,icout是处理器的控制字输入端,icin是经过TLC2543转换后的数字量,data是处理器处理后显示的数字量.因为TLC2543是在处理器输入控制字的同时,将上一次转换的数据传输到处理器,所以第一个周期的数据为0,第二个周期的数据则是第一个周期是icin的输入数据.

[1]张洪涛,周 航,彭潇丽,等.FPGA的动力电池检测系统研究[J].湖北工业大学学报,2012,27(2):4-7.

[2]褚振勇,奇 亮.FPGA设计及应用[M].第二版.西安:西安电子科技大学出版社,2002.

[3]陈洪超,李相东.锂离子电池原理、研究现状与应用前景[J].南京:军事通信技术,2005(1):12-15.

[4]杨新伟.便携式电动工具锂电池组智能监控系统设计[D].武汉:武汉理工大学图书馆,2010.

[5]周朝阳.基于FPGA_NIOS的电池充电均衡系统研究[D].西安:西安交通大学图书馆,2008.

猜你喜欢
电池组锂电池串口
浅谈AB PLC串口跟RFID传感器的通讯应用
2017年7月原电池及原电池组产量同比增长2.53%
消费导刊(2017年19期)2017-12-13 08:30:52
USB接口的多串口数据并行接收方法探索
基于SVM的锂电池SOC估算
电源技术(2016年2期)2016-02-27 09:04:52
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
地矿测绘(2015年3期)2015-12-22 06:27:26
基于LTC6802的电池组均衡电路设计
电源技术(2015年11期)2015-08-22 08:50:42
一种多采样率EKF的锂电池SOC估计
电源技术(2015年7期)2015-08-22 08:48:22
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用
电源技术(2015年9期)2015-06-05 09:36:06
基于并行控制的FPGA多串口拓展实现
锂离子电池组不一致性及其弥补措施
汽车电器(2014年5期)2014-02-28 12:14:15