引言
近年来,蓄电池在民用和工业生产中应用越来越广泛。为保障系统持续稳定运行,研究与设计高效廉价、准确方便和快捷实用的蓄电池检测装置十分必要。蓄电池单体电压较低,很少以其自然形态直接使用,大多采用串联或串并联组合的方式,同时,蓄电池的电量随工作时间的延长和用电时间的增加会逐渐衰竭,很难保证组合中每个单体蓄电池工作特性一致。因此,必须采用合理的监控设备,通过在线实时检测各单体蓄电池的充放电电压、温度和整个蓄电池组的充放电流及充放电电压等参数,找出损坏或性能显著降低的蓄电池,以保证直流电力系统稳定可靠[1]。
因此,蓄电池组的检测应该采取分散采集、集中监控的方式。一般的检测采用RS-232或RS-485总线,由于其为主从方式总线,检测终端无法主动向上位机发送数据。本蓄电池组智能巡检仪通过非主从方式的CAN总线作为蓄电池组的分步式巡回采集总线,使得检测系统具有高可靠性、可扩充性和实时性等优点,更加适合于蓄电池组的检测与维护。
1 巡检仪总体设计及工作原理
1.1 CAN总线介绍
CAN(Controller Area Network)总线是由德国BOSH公司在1986年为汽车的监测和控制系统设计一款串行通信网络[2]。CAN总线可以为多主方式工作,不分主从,可以点对点、点对多点及全局广播方式传送和接收数据,且具有非破坏性总线仲裁技术;以5bit/s速率,通信距离最大可达10 km,传输介质可用双绞线、同轴电缆或光纤;CAN总线采用短帧结构,每帧8字节,保证了数据出错率极低,被公认为是最有发展前途的现场总线之一。
1.2 巡检仪总体设计
系统的总体设计框图如图1所示。单体检测单元分别检测蓄电池组的24节单体电池的电压和电流,各个检测单元的硬件结构十分相似,同时还有一个单独的检测单元用来检测蓄电池组整体的电压和电流。检测单元实时监测并向CAN总线发送数据,上位机接收各个检测单元的数据,并对数据进行分析、处理、存储、显示和打印,同时对单体电池的故障进行诊断和报警。
1.3 单体蓄电池检测单元的设计
单体蓄电池电压检测的功能是实现对单体电池电压和温度的检测和网络传输。该单元由电压信号变换、单片机系统、CAN总线接口和电源组成。该单元是基于CAN通信的电压检测模块,检测到的电压模拟信号经处理并数字化后,通过CAN总线传输给控制管理单元。单体电池检测单元的电路图如图2所示。
![](http://www.mcu99.com/Article/UploadFile/200806/20080606165713422.jpg)
检测终端采集到蓄电池单体电压和温度信号后,进行放大、滤波、A/D转换和隔离,送入单片机,单片机将通过CAN总线与上位机进行数据通信。其中,检测电路采用串行接口的12位A/D转换器ADS7841P,采样周期小于20 ms,通过光电隔离与单片机连接。单片机采用低功耗、小体积8位单片机LPC932。该单元用LED(发光二极管)指示工作状态。通过带有串行接口的CAN控制器与单片机连接,CAN总线用于向上位机传输检测数据。单元内的隔离电源采用小型DC/DC模块电源。
1.4 检测系统的工作原理
各检测单元将检测到的电流、电压和温度数据按CAN总线规范存储到CAN缓冲区,并启动发送命令将数据发送到CAN总线上,这些数据通过CAN总线向上位机进行发送[3]。上位机的CAN控制器将接收到的数据存储在缓冲器中,向上位机发送中断请求,若上位机响应中断,则接收这些数据并进行处理,将其转化成电压、电流和温度信号显示出来,并对这些信号进行分析和诊断,若发现异常情况,则发出警告信息。
2 单体检测单元节点电路的设计
2.1 温度采集电路
蓄电池的温度在很大程度上影响着其工作性能,所以有必要采集蓄电池的温度信息[4]。系统对蓄电池温度进行循环检测,采集数据后,经放大、滤波和A/D转换并送到单片机,然后发送到CAN总线上。其温度采集电路如图3所示。其中运算放大器A1提供一个恒压,电阻R3、R4、R6和热敏电阻R5组成一个桥路,经运算放大器A2后差分输出。
2.2 电压采集电路
系统采集单体蓄电池的电压是相对电压,为了保证电压检测的准确性和不影响系统的工作,采用光电隔离器进行隔离,经运算放大器后输入单片机。其电路结构如图4所示。
电压采样电路采用线性光耦隔离芯片HCNR201,它是一种性价比较高的模拟光电隔离器,由一个高性能的AlGas LED和两个特性十分相近的光敏二极管PD1和PD2组成。输入光敏二极管PD1用来检测并稳定LED输出光的强度,它能够很好地抑制LED输出光的漂移,改善其线性度;输出光敏二极管PD2用来产生一个正比于LED光强度的光电流。由于两个二极管特性相近且封装在一个集成芯片内,因此当LED发光时,PD1和PD2接收到LED光的数量成比例,且不受外部杂散光的干扰,所以具有很好的增益稳定性和优良的线性度。
输入电压变化转化为电流变化,其内部呈现如下线性关系:
![](http://www.mcu99.com/Article/UploadFile/200806/20080606165713461.jpg)
由组成的反馈回路可以得到输入电压与输出电压之间的线性关系为:
电流采样电路与电压采样电路结构类似,只是将电压信号通过电阻转化为电流信号后进行采集,本文不再赘述。
2.3 单片机与CAN总线连接电路
单片机与CAN总线连接电路如图5所示。
本系统的单片机选用增强型51单片机LPC932,LPC932通过SPI总线与CAN控制器MCP2510连接,经过高速光电隔离器6N137后连到CAN收发器82C250上,82C250连接在CAN总线上,实行差分发送和接收[5]。
3 通信软件的编制
系统软件包含自检程序、数显程序、滤波处理程序和通信程序等,其中通信程序是软件设计的核心和关键,通信程序主要由初始化程序、发送程序和接收程序3部分构成[6]。
3.1 初始化程序
初始化程序包括单片机LPC932各口的状态初始设置、堆栈的初始设置、定时器的设置、存储器的初始化、中断的初始化、串口的初始化和CAN控制器初始化状态的设置等,通过对CAN控制器控制段中的寄存器写入控制字,从而确定CAN控制器的工作方式,本系统采用的CAN控制器为MCP2510,在系统复位模式下,单片机LPC932要对MCP2510完成寄存器操作,写接收代码寄存器与接收屏蔽寄存器,确定节点要接受的信息ID;写总线定时寄存器,确定总线通信波特率;写输出控制寄存器,选择正常输出控制模式。
3.2 发送程序
数据从MCP2510发送到CAN总线是由其自动完成的。LPC932发送的过程是:
a)编辑所发送信息的标识ID,然而将帧信息存入外部数据存储器之中。
b)LPC932开始查询CAN控制器的状态寄存器的传输缓冲区状态标志位,若为0,则将信息写入MCP2510的发送缓冲区之中,然后,置命令寄存器TC位为1,发送该信息。
3.3 接收程序
CAN控制器自动完成信息从CAN总线到CAN接收缓冲区的传递,LPC932接收程序只需从接收缓冲区读取要接收的信息即可。MCP2510每成功地接受1帧信息,就把该信息存入内部的FIFO中,并产生接收中断。LPC932响应中断后,将FIFO内的信息读入外部RAM中,然而再释放该信息所占用的MCP2510缓冲区。
4 结束语
本文介绍了一种基于CAN总线的分布式智能蓄电池巡检仪。该系统实时性好、检测精度高、易于扩展、抗干扰性好、适用性强。同时,为了更好地对蓄电池的过充电和过放电进行保护,可在系统中增加温度补偿电路,随着蓄电池应用的不断广泛,蓄电池组的检测与维护技术将是电力电子技术研究的一个热点,基于CAN总线的分布式蓄电池检测系统具有十分明显的优点和实际应用价值。 |