(中国船舶科学研究中心,无锡 214082)
锂电池由于其不产生气体、能量密度比高、寿命长、成本低等优点,成为水下机器人设计优先选择的能源类型。但与常规陆上电池相比,水下机器人使用的电源容量大、电压高、电池组数多,其安全性始终是水下机器人系统设计时重点解决的难题[1-3]。在自主研制的小型水下机器人项目中,采用了基于CAN总线技术的锂电池在线检测系统。该系统可直接暴露在高压的绝缘油内,适合深海环境,可对每个电池的电压和温度进行实时检测,并将数据传输到水下机器人的控制系统。
小型水下机器人上有推进器、水下灯和控制系统等很多用电设备。其电源为自带电源150 VDC,共采用了40只单芯锂电池串联连接。电池组在放电和充电的工作状态中,当发生过放、过充和过热的异常情况时,易发生爆炸等事故。国内外在使用中都有类似的事故发生,所以对电池组的实时监控就非常重要。此外,电池监控的参数除了电池电压外,温度也十分重要。监控电压可防止电池出现过放和过充,温度检测可有效防止电池起火和爆炸。电池监控原理如图1所示。
图1 系统原理Fig.1 System theory diagram
作为应用于水下充油的锂电池,其检测系统与近年来发展的电动车锂电池管理系统相比,区别在于:
(1)直接暴漏在高压绝缘油内,其电子元件要求耐高压,耐油;
(2)电池组数多达47只,电压较高;
(3)体积小,可以和电池紧密地安装在充油的电池箱内;
(4)水下电池检测系统与水下机器人的控制系统进行通信,进行大批量的数据传输;
(5)水下电池检测系统除完成电压检测外,还需对每一节电池的温度进行测量。
硬件部分主要实现电压和温度测控,采用CAN总线发送至水下机器人控制系统,并通过光纤将所有数据传输至水面控制台。硬件电路中电池电压、温度采集以及CAN总线控制器传输都可以由一个C8051F040芯片完成,整个设计的电路集成度较高,结构简单。与其他现场总线相比,CAN总线有其突出优势,主要表现为多主总线、无破坏性基于优先权仲裁,可完成对通信数据的成帧处理、对通信数据块进行编码;网络内的节点个数在理论上不受限制,协议采用CRC检验并提供相应的错误处理,暂时错误和永久性故障节点的识别以及故障节点的自动脱离等;抗干扰能力强,适于恶劣环境下大量节点之间互联。
系统中每块电池配置一块监控节点,节点内包括电源、主控制器和CAN隔离收发3个部分。为节约体积和重量,与电池整体安装在一起。同时,每个节点具有不同的ID号码和检测的电池对应。其系统结构如图2所示。
图2 系统结构Fig.2 System structure diagram
电池监控节点的电源取自于被监控电池,由一个外部电源控制光耦继电器来实现电池监控系统的整体上电,可防止长期存放引起的微漏电导致电池损坏。电源电路中采用SP6641 DC-DC升压调节器,静态电流为10 μA,具有一个0.3 Ω的N通道充电开关。SP6641最低启动电压为0.9 V,并配有0.33 A或1.0 A感应电流限制模块。通过SP6641集成芯片,将电池电压转换至一个稳定的+5 V电源,给主控制器进行稳定供电。电源模块原理如图3所示。
图3 电源模块原理Fig.3 Power module theory diagram
图4 主控制器原理Fig.4 Master controller theory diagram
主控制器采用Cygnal公司C8051F040单片机,其原理如图4所示。C8051F040是完全集成的混合信号片上系统型MCU,片内集成了电压AD采集,锂电池两极电压测量直接选用单片机一个AD通道,温度测量则采用该型单片机片内的温度传感器。由于C8051F040功耗很低,本身几乎不产生热量,而且方便贴在被测物体表面,可以用来直接测量锂电池的温度,大大减少元器件的数量。C8051F040单片机内部集成了振荡器,可以解决晶体振荡器无法在高压绝缘油内工作的难题。
使用C8051F040单片机片内集成的CAN2.0B控制器,CAN控制器的原理如图5所示。CAN核提供移位(CANTX和CANRX)、消息的串/并转换及其它与协议相关的任务(如数据发送和接收过滤)。消息RAM可存储32个可以在CAN网络上接收和发送的消息对象。CAN寄存器和消息处理器为CAN控制器和CIP-51之间的数据传送和状态通知提供接口。CAN总线收发器采用PCA82C250,鉴于锂电池组电压较高,在收发器和控制器之间采用光电隔离器件6N137,隔离速度达到10 Mb/s,其隔离电路如图6所示。
图5 CAN控制器原理Fig.5 Theory diagram of CAN controller
图6 CAN隔离电路Fig.6 Circuit diagram of CAN isolation
锂电池在线检测系统软件部分监控节点的通信采用CAN总线协议,水下机器人控制系统指定采集节点电池电压和温度的数据上传,当电池采集节点收到上传指令,就产生CAN接收中断,在中断服务程序里完成数据的采集和发送。软件功能结构如图7所示。
图7 软件功能结构Fig.7 Software function structure diagram
系统上电后,C8051F040单片机首先完成系统初始化,包括时钟等待、供电电压检测和CAN控制器初始化等工作。其中CAN总线初始化是在系统自检通过后才执行的,具体包括:
(1)将SFRPAGE寄存器设置为CAN0_PAGE。
(2)将CAN0CN寄存器中的INIT和CCE位设置为1。
(3)设置位定时寄存器和BRP扩展寄存器中的时序参数。
(4)初始化每个消息对象或将其MsgVal位设置为NOT VALID(无效)。
(5)将 INIT 位清‘0’。
中断服务程序包括问询响应、温度检测和电压检测。CAN报文发送和接收是由CAN控制器自动完成的,接收数据会产生中断,程序只需从接收缓存器中读取接收的数处理。发送时将对应的数据转移到缓冲器,然后将此报文对象的编码写入命令请求寄存器启动发送即可,而发送由硬件来完成。CAN中断服务程序流程如图8所示。
图8 中断服务程序流程Fig.8 Flow chart of interrupt service routine
将监控节点采集到的电池电压、温度值和门槛值进行对比,发现异常时进行故障处理。首先将2个独立的端口置为高电平,由2个红色LED灯进行点亮显示,表示当前电压或者温度有问题,提示操作者故障点在什么位置。其次通过C8051F040内部的非易失性存储器存储当前电压和温度异常值,以便后期进行数据分析。
采用CAN总线技术开发的锂电池在线检测系统成功地应用于光纤型水下机器人ARV上,解决了锂电池在使用过程中的安全性。从ARV水下作业运行效果来看:
(1)电池监控系统可以准确地检测40组电池的电压和温度。
(2)通讯采用CAN总线实现,具有实时可靠性优点,非常适合在恶劣环境下使用。
(3)电池监控系统与ARV控制系统直接相连,将监测数据报告给控制中心。控制系统将数据通过光纤转发给水面部分。
(4)监控系统方便进行组数的扩充和减小,不用修改就可以应用到别的系统中。
本文设计的水下机器人锂电池检测系统,将电压、温度、CAN和存储高度集成在一个处理器中,极大地减小了设备的体积和重量。通过3 MPa模拟压力试验和实际工作考核,表明该系统可以应用于水下机器人工作中。
[1]闫茂德,陈金平.基于CAN总线的汽车电子系统传输网络设计[J].长安大学学报,2006,26(1):86-89.
[2]陈屹,马殿光.基于CAN总线的一种系统远程升级功能的实现[J].自动化仪表,2008,29(3):35-40.
[3]孙树文,杨建武,张慧慧,等.基于CAN总线的分布式监控系统智能节点设计[J].微计算机信息,2006,22(8-2):55-57.