基于AT89C51单片机的电池监测系统设计
扫描二维码
随时随地手机看文章
1、前言
随着锂离子电池的广泛应用,其安全性问题越来越受重视。对锂离子电池的参数进行实时检测可以有效避免电池的不安全使用,并且可以尽量发挥电池的性能。有些应用领域由于条件限制,难于铺设线路,需要对电池进行远距离的监测,比如路灯蓄电池管理;或者由于大量使用,逐个连接监测线路比较麻烦如基站电源管理中电池的状态监测或者大量在通信电台集中的场合等,可通过无线网络对采集的数据进行传输管理。
该系统主要由锂离子电池组状态参数数据采集、信号无线传输、数据处理等几部分组成,系统框图如图1所示。前端由状态参数采集模块和无线发射控制模块组成,其中数据采集部分包括对锂离子电池组的电压、电流、内阻以及温度等参数进行测量,由单片机对采样数据进行初步处理,然后控制发射芯片调制发送。系统后端由无线接收控制模块、单片机和串口电路、本地计算机组成,接收芯片对信号解调,单片机接收数据并进行处理,将有效数据通过串口传送到本地计算机上进行,监测人员可通过对状态数据进行分析掌握该电池组的工作状态,对不正常的电池及时进行处理,确保其工作的可靠性。
图1 电池监测系统原理框图
根据锂离子电池组多样的应用环境以及系统管理的目的,状态采样装置采用的是模块化的设计,主要包括:锂离子电池组电压测量电路、电流测量电路、内阻测量电路、温度测量电路四个部分[1,2]。检测模块对采集的信号进行A/D转换,并将数据发送给控制模块。设计中采用的高精度、高实效数据采集模块兼顾了专用化和通用化的原则,配置灵活。系统可由单片机对各个模块的选通进行控制,各模块可单独使用也可以自由组合,能适应不同的应用场合。
2、实验系统
无线数据传输和有线数据传输相比较而言,其特点是使用射频信号来发送和接收数据包。无线数据传输主要由无线数据终端、主接收器和主监控器组成,主监控器与主接收器间采用串行口通信。整个传输系统的设计都是为了实现对锂离子电池组状态在线监测这个目的,因此对数据传输的准确、实时性以及功耗问题是设计的关键。
2.1 发射端
2.1.1 发射端电路的设计实现
无线传输系统发射端的硬件电路主要由数据采集模块、单片机以及RF发射芯片组成,电路如图2所示。
图2 发射端电路
文中采用的是ATMEL公司的AT89C51单片机对发射系统进行控制,单片机控制数据采集模块分别对电池的电压、电流、内阻以及温度进行采样。无线发射芯片采用的是挪威Nordic公司推出的一体化无线收发芯片nRF401,nRF401芯片中集成了高频发射/接收、PLL合成、FSK调制/解调和多频道切换等功能,在低成本数字无线通信应用中具有突出的技术优势。
2.1.2 发射端软件设计
根据对锂离子电池组监测系统的工作模式的设计,其软件设计的基本流程如图3所示。
图3 发射端流程图
对锂离子电池组的参数采样分为几种状态:一是定时采样;二是触发采样,有两类触发,一种是处于静止状态的监测电路在检测到电池组有工作电流时进入工作状态,开始定时采样;另一种是内阻的触发采样。监测模块在系统不工作的时候处于掉电模式,单片机以系统中的工作电流作为外部中断触发。一旦系统有工作电流,单片机响应中断进入工作模式。首先设定采样模块的工作模式,对电池组状态参数进行采样,单片机等待一定采样延时后,读取采样数据进行分析,判断数据是否发送,对采样数据是否发送的判断依据可以根据具体应用体系在单片机中预先设定。对监测系统作了如下设定:
(1)监测系统应用于4串5Ah锂离子电池组的在线监测中,系统工作电流为1A,最大电流值为5A。电池组的应用现场具有保护电路,过充电保护电压值为4.2V,过放电保护电压值为3.3V,过电流保护电流值为3A;
(2)在监测系统中设定的电池组工作状态参数正常范围为:工作电压为3.4V~4.1V,工作电流《2.5A,工作温度为-10℃~60℃,内阻值为初始值的2倍以内;
(3)当电池处于正常工作范围时,监测系统每隔60s对电压、电流、温度采样一次,采样10次以后,对10次采样值取算术平均值然后发送。正常情况下电池组每循环10次启动内阻采样电路进行采样;
(4)若电池状态参数超出正常工作范围,采样电路进入快速采样阶段,每隔10s对电压、电流、温度采样一次,对10次采样值取算术平均值,同时启动电池组内阻采样电路对内组进行采样并发送采样数据。
2.2 接收端
2.2.1 接收端电路的设计实现
接收端的硬件电路由无线收发芯片nRF401、单片机AT89C51、串口芯片MAX232、主控计算机组成,电路如图4所示。
图4 接收端电路
ANT1和ANT2是接收时LNA的输入,接收芯片nRF401的TXEN脚接地,工作在接收模式中。当nRF401接收到有效信号后,输入信号被低噪声放大器放大,经由混频器变换,这个被变换的信号在送入解调器之前被放大和滤波,经解调器解调,解调后的数字信号在DOUT端输出进入单片机。单片机判断信号是否为有效数据帧,首先提取出接收到的校验码计算校验和,判断校验和是否正确,若正确则分别提取出ID码、电压、电流、内阻、温度值通过串口电路发送到终端控制计算机上,否则单片机忽略此次数据,等待下一次接收。
2.2.2 接收端软件
按照以上硬件电路设计,对系统软件编程的基本思路如下[3]:发射端单片机首先设定采样芯片的工作模式:有分别对电池的电压、电流、温度进行采样的三种状态。单片机接收检测部分传来的状态信息,判断是否发送。对于确定发送的监测数据,由于该系统可以把多个监测站的数据发往同一台主机,因此需要对各个监测对象加上ID号,另外由于可能在发送过程中会有少量的误码产生,故需在发送端产生校验和,将数据按照固定帧格式组合为数据帧之后发送到发射芯片。数据帧格式为前导符+同步字符+ID码+电压+电流+温度+校验码,由于数据包长度是固定的,可以直接采取计数的方法判断是否发送完成。
接收端单片机收到先导字段格式的信号后,产生串行中断,中断程序负责接收数据帧,最后对收到的数据帧的进行CRC 校验和计算,与收到的校验和比较,并检验校验和,若校验和正确则将数据通过串口传到计算机,若校验和错误,则等待下一次的接收。
3.实验结果分析
实验中系统对4串额定容量为5Ah的聚合物锂离子电池组进无线监测。在电池组工作过程中对其电压、内阻分别进行监测,系统前端测量值及终端监测结果如表1所示:
表1 电池组状态参数监测结果(电压/内阻)
Tab.1 Monitor result of batteries state parameter (voltage and resistance)
基于AT89C51单片机的电池监测系统设计
本设计中,对锂离子电池组工作状态参数的监测误差范围为:电压监测误差在0.005V以内;内阻误差在1mΩ以内。分析造成系统误差的原因,主要是由于前端检测电路带来的误差以及信号A/D转换引起的误差,而无线传输系统在发射距离20米内可以实现信号的稳定收发,误码率低于0.1%。
4.结论
本文对电池监测系统的无线传输进行了研究,设计了一个远程无线数据传输系统,并以简洁的硬件电路实现电池参数信号的采集与存储,通过软件的设计减小了系统对电能的消耗以及传输误差。实验表明,无线监测系统可以实现对多个独立电源的在线监测,对其状态参数信号进行稳定的收发,给监测终端提供及时有效的电池组状态信息。