微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 基于CAN总线的分布式蓄电池在线监控系统设计

基于CAN总线的分布式蓄电池在线监控系统设计

时间:01-19 来源:3721RD 点击:

引言

  一般电源设备只能对电池组的整体输出电压和电流进行测量,对于单块电池不能进行在线测量。而电池组的失效又往往是从单块电池失效开始的一种恶性循环,尤其对于使用时间较长但又不超过使用期限的电池组,单纯依靠维护人员的日常维护很难发现问题。因此,对于单块电池的运行参数进行在线监控,及时发现问题就变得极为重要。

  单块电池的损坏首先表现在端电压在充电时过高而在放电时又迅速下降,电池体温升高,负载能力下降等异常现象。可以通过对电池的端电压、体温等参数的在线测量及时发现故障电池。

  早期的蓄电池在线监控采用集中监控方法,或是基于RS-232(或RS-485)总线的分散采集、集中监控的分布式测量方法。这些方法只能采用主从式系统结构,以轮询方式收集数据。这是因为RS-232和RS-485总线只是一种纯粹的物理接口,不具有主动协调能力。CAN总线是一种多主机控制局域网标准,具有物理层和数据链路层的网络协议、多主节点、无损仲裁、高可靠性及扩充性能好等特点。下面给出一种基于CAN总线的分布式蓄电池在线监控系统。

  系统组成

  系统由上位机、RS-232-CAN接口和智能节点组成,如图1所示。

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

  上位机由普通微机组成,接收各节点的监控数据,建立电池组运行数据库,对采集到的电池数据进行处理(如记录电池的履历、采集数据的时间等)并以表格或图形的方式输出显示,对整个系统的运行状况进行管理等。

  RS-232-CAN接口为CAN总线与上位机的接口,完成CAN总线数据与RS-232接口的数据转换,对智能节点来的数据信息进行缓存,对告警信号进行告警以通知维护人员进行处理。

  智能节点为智能型的监控模块,实现对电池组内(总电压48V,单块电压12V或2V)的单块电池端电压、体温、环境温度进行测量。若超出工作范围则进行告警,并将监测数据存储,定期上报监控数据。超限告警信号及时上报,并可接受上位机的轮询。下面仅就智能节点给出详细的设计方案。

硬件组成

  智能监控节点以89C52为控制器,外围模块包括CAN接口模块、温度测量模块、电压测量模块、告警模块、节点地址选择和可选的存储器模块等,如图2所示。为充分利用89C52的接口资源,除CAN接口模块外其余模块均采用串行接口器件,这样就减小了电路体积,降低了电路的硬件成本。

图2智能监控节点结构图

CAN接口模块

  CAN总线协议及其特性见参考文献。目前,具有CAN协议功能的芯片很多,本设计选用常见的PHLIPLE公司的SJA1000独立CAN控制器芯片和82C250 CAN接口驱动芯片。为增强节点的抗干扰能力,SJA1000的TX0和RX0通过高速光耦6N137与82C250相连,电路如图3所示。

图3 CAN接口模块原理图

电压测量模块

  当蓄电池是由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。

软件的实现

  软件设计采用模块化编程,系统软件主要分为主程序、数据采集(电压、温度)处理程序和通讯程序。

主程序

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top