您现在的位置是:首页 > 电源

分布式蓄电池智能节点设计

2019-12-20 20:50:43

摘    要:本文论述了基于CAN总线的蓄电池智能监控系统的实现,包括智能监控模块的软硬件结构,独立CAN控制器SJA1000的应用,数字式单总线温度检测单元,给出了串接电池电压检测的一种可行方案。
引言
一般电源设备只能对电池组的整体输出电压和电流进行测量,对于单块电池不能进行在线测量。而电池组的失效又往往是从单块电池失效开始的一种恶性循环,尤其对于使用时间较长但又不超过使用期限的电池组,单纯依靠维护人员的日常维护很难发现问题。因此,对于单块电池的运行参数进行在线监控,及时发现问题就变得极为重要。
单块电池的损坏首先表现在端电压在充电时过高而在放电时又迅速下降,电池体温升高,负载能力下降等异常现象。可以通过对电池的端电压、体温等参数的在线测量及时发现故障电池。
早期的蓄电池在线监控采用集中监控方法,或是基于RS-232(或RS-485)总线的分散采集、集中监控的分布式测量方法。这些方法只能采用主从式系统结构,以轮询方式收集数据。这是因为RS-232和RS-485总线只是一种纯粹的物理接口,不具有主动协调能力。CAN总线是一种多主机控制局域网标准,具有物理层和数据链路层的网络协议、多主节点、无损仲裁、高可靠性及扩充性能好等特点。下面给出一种基于CAN总线的分布式蓄电池在线监控系统。

图1 分布式蓄电池在线监控系统功能示意图

图2智能监控节点结构图

图3 CAN接口模块原理图

图4  DS1820与单片机连接示意图

系统组成
系统由上位机、RS-232-CAN接口和智能节点组成,如图1所示。
上位机由普通微机组成,接收各节点的监控数据,建立电池组运行数据库,对采集到的电池数据进行处理(如记录电池的履历、采集数据的时间等)并以表格或图形的方式输出显示,对整个系统的运行状况进行管理等。
RS-232-CAN接口为CAN总线与上位机的接口,完成CAN总线数据与RS-232接口的数据转换,对智能节点来的数据信息进行缓存,对告警信号进行告警以通知维护人员进行处理。
智能节点为智能型的监控模块,实现对电池组内(总电压48V,单块电压12V或2V)的单块电池端电压、体温、环境温度进行测量。若超出工作范围则进行告警,并将监测数据存储,定期上报监控数据。超限告警信号及时上报,并可接受上位机的轮询。下面仅就智能节点给出详细的设计方案。

硬件组成
智能监控节点以89C52为控制器,外围模块包括CAN接口模块、温度测量模块、电压测量模块、告警模块、节点地址选择和可选的存储器模块等,如图2所示。为充分利用89C52的接口资源,除CAN接口模块外其余模块均采用串行接口器件,这样就减小了电路体积,降低了电路的硬件成本。
CAN接口模块
CAN总线协议及其特性见参考文献。目前,具有CAN协议功能的芯片很多,本设计选用常见的PHLIPLE公司的SJA1000独立CAN控制器芯片和82C250 CAN接口驱动芯片。为增强节点的抗干扰能力,SJA1000的TX0和RX0通过高速光耦6N137与82C250相连,电路如图3所示。
电压测量模块
当蓄电池是由4节12V电池串接而成时,其在线端电压远高于ADC的允许输入电压,所以对电压的采集电路要进行特别设计:将串连电池组的各节电池端电压经模拟开关分别引入分压电路进行分压处理,再经电压跟随器进行阻抗变换后送入ADC的差分输入端,转换后的电压数字量输出到单片机的PI口。
ADC选用NaTIonal Semiconductor的ADC0838。 该器件是一种输入端可编程、单端8通道/差分4通道、8位串行ADC,其数据输入输出口可以分时共用。
模拟开关选用MAXIM的MAX4613。它是一种四路单刀单掷TTL/CMOS兼容的模拟开关,可单端供电(9~40V)也可双端供电(±4.5~±20V),与电池组的连接 采用“浮地”方式:每个MAX4613控制两节电池的选通,电源和地分别取两节电池串连后的正极和负极。由于MAX4613的S1、S4和S2、S3的控制极性相反,所以不能采用译码电路,而由单片机的四个I/O口线经光耦隔离后单独驱动,以保证同时只有一路电池电压接入后级的分压电路。另外,其控制端采用CMOS电平(VL接V+)。
分压电路采用三个相同的电阻,分压后的电压约为4V左右。由于使用同一个分压网络,避免了由于分压网络的差异引起各路间的误差。同时模拟转换器采用差分输入从而减少了共模干扰和避免了“浮地”引起的电压不兼容的问题。
如果对2V电池采样,可以用6个CD4052模拟开关控制各节电池的选通,每个CD4052控制4节电池,由两个I/O口线经光耦隔离后驱动两个地址选择端,另三个I/O口线经74LS138译码后分别控制六个CD4052的使能端(INH)。
温度测量模块
温度测量模块采用美国DALLAS公司推出的DS18S20系列单总线数字温度计,只需要一根导线就可将单片机和DS18S20连接起来,如图4所示。每个I/O口线可以同时挂接多个DS18S20。

软件的实现
软件设计采用模块化编程,系统软件主要分为主程序、数据采集(电压、温度)处理程序和通讯程序。
主程序为系统控制程序, 实现对系统进行初始化(包括系统自检、读取本节点地址、电池组电池电压种类、向上位机发送本节点的地址、接收上位机发送的本节点的基准电压值和温度值)和各模块软件的总体调度。
数据采集处理程序包括电压采集和温度采集。由于DS18S20的温度转换时间较长(750ms),所以每次采集先进行温度转换、电压采集,再进行温度的采集。温度转换和电压采集同步进行。每一轮采集后要将数据进行处理,判断是否超过限定值。若正常则判断是否采集了5次,若不是则再次进行采集。这是因为数据的变换是缓慢的,如果正常就没有必要每次都将数据上报,以减少CAN总线上的数据量;若到了5次或数据超限,则对数据打包上传,进入CAN通信阶段。
CAN通信程序负责将采集到的数据发送到CAN控制器,再由CAN控制器负责将数据发送到CAN总线。主要的子程序有:CAN初始化、CAN发送、CAN接收、ADC子程序,DS1820的复位、启动、ROM的搜索、读写等。其中CAN初始化、发送和接收子程序、DS1820的复位、启动、ROM搜索、读写等可参阅后面的参考文献,ADC的转换子程序详见本刊网站。

结语
分布式蓄电池智能监测系统智能化程度高、测量准确、能及时发现蓄电池组存在的早期故障。其智能监控节点可以作为对一个台站的多组电池实现分散采集、集中监控的一个组成部分进行联网使用,也可以作为开关电源的一个附属部分与开关电源配套使用。CAN接口可以用RS-232接口代替,以和现有的开关电源的控制主机联接,提高现有电源的性能。