LTC6802-2在高压锂电池组测控系统中的应用

2012-07-05 08:34:20徐昕晨彭月祥邢晓乔
电源技术 2012年6期
关键词:隔离器电池组寄存器

徐昕晨,彭月祥,邢晓乔

(北京工业大学应用数理学院纳米光学研究所,北京 100124)

多节锂离子电池串联的高压电池组作为代替燃料的绿色能源,在工业和运输业中的应用越来越广泛。由于发展的需要,出现了各种更高电压更大功率的应用,例如电梯备用电源,清洁能源的大型货车等。通过太阳电池方阵将太阳能辐射能转换为电能的太阳能光伏电站中的电池组就是一个典型应用。而这种电源需要更方便、支持更多电池单元的电源监控和自动平衡系统才能安全有效地工作[1]。

本文以凌力尔特(Linear Technology)公司的LTC6802-2 多节电池可寻址电池组监视器芯片和STC 公司的STC12C5-A32S2 单片机为主要元件搭建了一套高度集成化的锂离子电池组监控系统。LTC6802-2 除了具有现有其他电池组监控芯片的主要功能外,还有可寻址的特性,每组监控模块可接入12节电池,每个监控单元可对16 个不同的监控模块分别寻址,因此每个监控单元可连接多达192 节锂离子电池,各单元通过RS485 上的Modbus 协议与上位机通信,理论上可接入47 424 节锂离子电池,完全可以满足目前绝大部分对锂离子电池组监控的需求。另外,大部分的PLC 器件及工控组态软件均兼容Modbus 协议,使用本套系统可以方便地接入其中,便捷地对电池组进行监控。

1 系统硬件设计

1.1 硬件设计框架

硬件总体设计框图如图1所示。

图1 硬件总体设计框图

所有监控单元以RS485 总线上的Modbus 协议与上位机(PCPLC 器件)通信,一条传输Modbus 协议数据的RS485 总线可接入247 个监控单元。

每个监控单元由一片STC12C5A32S2 单片机、LCD、小键盘与至多16 组监控模块组成(如图2所示),各监控模块与单片机通过母板连接,母板负责传输SPI 信号以及供电给各监控模块的隔离器。单片机通过SPI 总线对监控模块的数据进行采集,以及控制16×12 个电池单元的平衡模块。STC12C5A32S2单片机的特点是双串口,串口1 负责烧写程序和与上位机通信,串口2 则负责屏幕和键盘的通信。STC12C5A32S2 还内置1.2 K SRAM,32 K NOR FLASH,29 K EEPROM,可省去外扩ROM 和RAM。LCD 及键盘是可选部分,可方便地进行现场调试及操作,如不需要现场操作,也可省去。

图2 监控单元硬件框图

监控单元中的监控模块由一片LTC6802-2、至多12 节锂离子电池单元与相应的平衡器、环境监测单元、隔离器组成,如图3所示。LTC6802-2 芯片的特点有:(1)可分别测量12节串联锂离子电池电压(最大串联电压60 V);(2)级联架构可监测高压电池组;(3)可以4 位地址标识串联系统中的每个芯片;(4)高精度,最大0.25%总测量误差;(5)13 ms 完成系统中所有电池的测量;(6)片内自带被动电池平衡开关,可被动平衡电池电压;(7)两路模拟输入,接入热敏电阻或传感器即为两路温度计;(8)1 MHz 带校验串行通信接口。

图3 监控模块硬件框图

LTC6802-2 对电池单元进行电压采集,并控制平衡器使系统中各个电池单元相互平衡。LTC6802-2 除片内有温度传感器以外,还有两个12 位ADC 接口,一般情况下可接入温湿度传感器,全面监测电池单元的状态及所处的环境状态,一旦电池单元出现异常,如过充电引起的发热,或环境出现异常,可由单片机检测到并送至上位机,自动或由管理人员采取相应对策。

由于每个监控模块电位各不相同,因此需要隔离器在数据传输线上进行电气隔离,本文中采用的隔离器为ADUM 1411。LTC6802-2 相对于此系列芯片的第一版LTC6802 的一大改进在于可寻址,选址跳线为LTC6802-2 的4 条地址线,可手动修改每个监控模块的地址,方便单片机访问,大大简化程序的编写过程。需要注意的是,每个监控单元内不可有重复地址的监控模块。

1.2 硬件设计原理

监控单元核心是单片机STC12C5A32S2,它通过强上拉SPI 访问监控模块;通过RS232 显示;通过RS485 与微机通信。如图4所示。

图4 单片机板原理图

STC12C5A32S2 内置复位电路,因此外部复位电路可省去。

STC12C5A32S2 内部I/O 口自带100 K 弱上拉电阻,不能满足SPI 数据线的负载要求,需要另加强上拉电阻,尤其是MOSI 数据线,最多需负载16 个隔离器的输入端,如母版设计较大,或对数据传输速率有更高要求,可在此处加三极管做简单驱动,或加驱动芯片。

为方便RS485 数据传输,选用18.432 MHz 晶体可在满足高频工作的条件下获得整数波特率,减少通信误差。

本文中,RS485 通过MAX485 芯片实现,单片机输出的UART 经过MAX485 即转换为RS485 差分信号,差分信号的优点是大幅减少共模干扰,可省略地线,一条双绞线即可完成较长距离上的信号传输。另外,RS485 总线上某个节点出现问题也不会对总线上的其他节点造成损坏。

某些情况下,系统中只需要一个监控单元,这时可使用RS232 与上位机进行点对点通信,本设计中增加的跳线即可将UART 信号转换为RS232 信号,从母版直接向外输出RS232 信号。

监控模块的核心是LTC6802-2,比上一个版本LTC6802多出4 位寻址功能,MCU 可单独对每个LTC6802-2 进行访问,大大简化了程序设计。主要功能是检测电池组电压,通过SPI 上传给监控单元的单片机,并从LCD 上显示。如图5所示。

V-到C12级联12 节锂离子电池,V+ 连接至C12,C12与GND 之间放置60 V 稳压二极管保护芯片,电池两端接入场效应管和大功率电阻。当电池单元n过充时,由单片机软件检测到并打开Sn平衡开关,场效应管导通,为电池放电,否则Sn关闭,电池充电[2-3]。

4 条SPI 数据线上拉到VREG,经过隔离器后接驳至监控模块外部的SPI 总线。需要注意的是,MISO 的数据方向是LTC6802-2 向MCU 传输,当某LTC6802-2 发送数据时,MISO总线被相应隔离器拉低,而其他隔离器此时输出高电平,这时会出现高低电平短路的情况,阻碍通信过程,严重时有可能损坏隔离器,为防止这种情况,在每个隔离模块的MISO 线上加一个二极管限定数据传输方向。本设计中选用ADUM 1411 隔离器,ADUM 1411 隔离器的4 条数据线中有3 条方向相同,另一条方向相反,是针对SPI 数据信号隔离设计的,可简化PCB布线。

图5 监控模块板原理图

两个VTEMP 接口是通用12 位ADC,本设计中接入了两个100 K 的NTC 以监测电池组温度及环境温度,如有需要,还可以用这两个ADC 接口采集其他低速模拟信号。

VREF 是LTC6802-2 内部集成的基准源,可输出稳定的3.075 V 参考电压,可用做温度传感器的参考电位。如需要更多温度传感器或更大的基准源电流输出,或其他数值的参考源,需在此处另加运放。

VREG 是LTC6802-2 集成的稳压器,可为监控模块上等电位的器件(如隔离器本地端)提供5.5 V,4 mA 输出的电源。

MMB 接口是LTC6802-2 的模式选择线,LTC6802-2 有两种模式,一种模式是用SPI 进行操作的高级测量模式,另一种是低级的监视模式,本设计中只使用高级的测量模式,因此MMB 接口上拉到VREG 以选择高级测量模式。

2 系统软件设计

2.1 软件设计框架

由于上位机可使用现有工控组态软件对本系统进行监控,本文暂不涉及上位机软件,只考虑单片机程序的设计。

LTC6802-2 支持可寻址,因此大大简化了操作LTC6802-2 的相关代码,只需向SPI 总线发送的数据包中加入目标地址即可。

本系统属于保护系统,因此软件上对通信失败及突发情况的处理要求也较严格,LTC6802-2 自带了PEC 数据校验机制,当某LTC6802-2 发送的数据不能通过PEC 校验时即认为通信失败,通信失败可能是LTC6802-2 受到静电冲击,ESD 保护被启动,各寄存器被复位,SPI 芯片处于禁用状态,另一种可能是LTC6802-2 损坏,发送出不正确的数据。如果连续通信失败超过指定次数,单片机就会尝试重新设置有问题的LTC6802-2,如果依然通信失败,单片机就会向上位机报告异常状态并启动蜂鸣器发出警报。图6为单片机软件框图。

图6 单片机软件框图

2.2 关键代码

通过下面三个函数即可单独对单元内每片LTC6802-2 进行读写,修改配置寄存器的相应位即可实现平衡FET 的导通与截止,操作GPIO 等功能,读取出的电压寄存器值和温度寄存器值需进一步处理即可得到电压值与温度。

void LTC6802_W rite_CFGR (unsigned char Address, unsigned char*Data)//写配置寄存器函数,输入参数为地址与待写入各寄存器值:

{

Enable_SS();//清零SPI 总线SS 线,开始传输数据

SPI_Transmit(0x80+Address);//发送地址

SPI_Transmit(WRCFG);//发送写配置寄存器命令

SPI_Transmit_Bytes(CFGR,6);//传输寄存器数据

Disable_SS();//置位SS 线,结束传输

}

void LTC6802_Send_Poll_Command (unsigned char Address, unsigned char Command)//发送AD 转换命令,输入地址与指令

{

Enable_SS();//开始传输数据

SPI_Transmit(0x80+Address);//发送地址

SPI_Transmit(Command);//发送指令

Disable_SS();//结束传输

_delay_ms(25);//等待转换结束

}

unsigned char LTC6802_Read_REG(unsigned char Address,unsigned char*Data, unsigned Command)// 读取电压寄存器,输入地址、待写入数组与读相应寄存器指令

{

Enable_SS();//开始传输数据

SPI_Transmit(0x80+Address);//发送地址

SPI_Transmit(Command);//发送读寄存器命令

SPI_Receive_Bytes(Data,size of(Data));//读取寄存器

if (SPI_Receive()=PEC_Check(Data, size of(Data)))//PEC校验

{

Disable_SS();//结束传输

return Operation_Success;//校验成功,返回操作成功代码

}

Disable_SS();//结束传输

return Read_CVRG_Faild;//校验失败,返回操作失败代码

}

由于单片机SPI 发送线需要同时驱动16 个隔离器,上升沿变缓,SPI 传输相关函数中需要适当加延时,如果需要高速传输,建议在单片机的SPI 输出脚上加驱动芯片。注意增加驱动芯片后,SPI 频率仍不能超过1 MHz,如果单片机速度过快,还需要适当加延时。

3 测试结果

电池电压上限设定为4.2V,当电池电压超过4.2 V 时放电FET打开,电压低于4.1 V 时放电FET 关闭。测试电压测量精度时,分别在电池为4.2、4.1、4.0、3.9、3.8V左右时用LTC6802-2 得到的数据与万用表测试结果比较,得出平均绝对误差为3.59 mV,平均相对误差为0.896%,最大绝对误差5 mV,最大相对误差1.28%。虽然满足设计要求,但相比LTC6802-2 宣传的0.25%最大总测量误差还是过大,如需进一步降低误差,可在每个电池单元上加入RC 滤波电路,软件上也需做相应处理,如对LTC6802-2 使用先放电后检测指令等。

4 结论

大功率高电压的锂电池组应用越来越广泛,对应的管理芯片种类繁多,功能也各不相同。本文介绍了LTC6802-2 在高压电池组监控上的应用,本文中的系统可实现各监控单元对单元内所有电池数据的刷新速度达到25 ms,对突发情况可快速反应,保证了锂离子电池的寿命和设备及现场人员的安全。通过与上位机成熟的组态软件配合,还可对数据进行记录及分析等进一步的处理。

致谢:感谢北京工业大学服务北京创新人才、团队建设项目资助。

[1]高丽丽,徐克宝,赵平强,等.矿用单轨机车锂离子电池组均衡电路的研究[J].煤矿机械,2010,31(2):30-33.

[2]陈渊睿,伍堂顺,毛建一.动力锂电池组充放电智能管理系统[J].电源技术,2009,33(8):666-670.

[3]任德奎,陈水全,孙显鹏.水雷锂离子电池组充电控制策略研究[J].水雷战与舰船防护,2011,19(1):52-54.

猜你喜欢
隔离器电池组寄存器
浅谈无菌检查用隔离器
Lite寄存器模型的设计与实现
计算机应用(2020年5期)2020-06-07 07:06:44
浅谈鸡负压隔离器的安装及使用
2017年7月原电池及原电池组产量同比增长2.53%
消费导刊(2017年19期)2017-12-13 08:30:52
分簇结构向量寄存器分配策略研究*
一种实验动物新型隔离器系统的研制
基于LTC6802的电池组均衡电路设计
电源技术(2015年11期)2015-08-22 08:50:42
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用
电源技术(2015年9期)2015-06-05 09:36:06
基于石墨烯的隔离器理论设计与分析
锂离子电池组不一致性及其弥补措施
汽车电器(2014年5期)2014-02-28 12:14:15