汤健,赵鸣,徐振国,赵光晶,张友浩
摘 要: 设计了一款基于STC89C52单片机的蓄电池无线监测系统,能够同时监测多组蓄电池。使用DS2438智能监测芯片实时监测蓄电池工作状态参数,如温度、电压、电流和容量等,单片机读取数据,通过JDY-40无线通讯传输数据到接收端,当数值超出所设上下限时,系统就报警。通过对蓄电池工作状态的实时监控,实现对蓄电池的健康维护,延长蓄电池的使用寿命,确保用电设备能够安全、连续地运行。
关键词: 单片机; 蓄电池; DS2438; JDY-40
中图分类号:TP27 文献标识码:A 文章编号:1006-8228(2022)01-28-04
Battery wireless monitoring system using STC89C52 single-chip microcomputer
Tang Jian, Zhao Ming, Xu Zhenguo, Zhao Guangjing, Zhang Youhao
(School of Air Transport, Shanghai University of Engineering Science, Shanghai 201620, China)
Abstract: This paper designs a battery wireless monitoring system using STC89C52 MCU, which can monitor multiple groups of batteries at the same time. DS2438 intelligent monitoring chip is used to monitor the working state parameters of batteries in real time, such as temperature, voltage, current and capacity. The data is read by MCU and transmitted to the receiving end through JDY-40 wireless communication. When the value exceeds the set upper or lower limit, the system will alarm. Through the real-time monitoring of the working state of the battery, the healthy maintenance of the battery is realized, the service life of the battery is extended, and the safe and continuous operation of the electrical equipment is ensured.
Key words: single-chip microcomputer; battery; DS2438; JDY-40
0 引言
蓄電池组作为储能元件,是电气系统极其重要的组成部分,它的工作状态直接关系到整个系统的可靠性,然而蓄电池却是整个系统中平均无故障时间最短的器件之一。
目前,蓄电池使用过程中存在的主要问题是:蓄电池过热得不到控制,亏损电池长期与较好的电池串联使用,加剧了亏损蓄电池使用寿命的减少,同时也影响其他蓄电池的使用寿命[1],导致电气系统无法正常运作。
为了及时准确地反映蓄电池当前电压、电流、温度和容量的变化,能利用有关参数对蓄电池实现全方面的性能监控,使得电气系统工作稳定可靠,防止蓄电池因工作故障而降低其使用寿命,本文设计了蓄电池无线监测系统,通过DS2438智能监测芯片来实现对多组蓄电池的监测,采用STC89C52为控制单元完成信号处理。
1 蓄电池无线监测系统设计
蓄电池无线监测系统由监测端与接收端两部分组成(图1)[2]。系统包含了STC89C52单片机、蓄电池组、信号采集电路(DS2438),无线通讯发送端、无线通讯接收端、键盘电路、显示电路以及报警电路。
在监测端,由信号采集电路(DS2438)监测蓄电池的电压、电流、温度和容量等[3],同时监测三组蓄电池,然后数据打包发送给STC89C52单片机,单片机将数据高速化处理后发送至无线通讯发送端,无线通讯由JDY-40实现。
在接收端,无线通讯接收端采集到发送端的数据后,发送给接收端单片机,数据处理后,由显示电路中LCD显示屏显示被测蓄电池的电压、电流和温度等,并通过四个LED灯显示蓄电池的剩余容量。在键盘电路中,不仅可以设置上下限报警值和复位,还可以按键切换显示不同组蓄电池的各项参数。在监测参数值超出所设定阈值时,系统将由蜂鸣器提示报警。
2 主电路硬件设计
2.1 STC89C52单片机
本设计使用了两块STC89C52单片机,以监测端上的STC89C52RC单片机与其他芯片等硬件的连接为例,其引脚具体连接如图2所示。RST引脚接复位电路;第18、19引脚分别外接晶振电路,即时钟电路;第20引脚直接接地;第31引脚EA端接电源高电平,单片机从片内的程序存储器中读指令[4]。第40引脚接电源高电平,再通过一个节点接一个小电容接地,起到了滤波、去耦、缓冲电压、消除高频噪声的作用,从而得到更加完整的信号。
2.2 信号采集电路
本设计采用DS2438实现信号采集。DS2438是单总线器件,一个控制电路上可以接多个DS2438芯片,从而,可以对多个蓄电池进行监测[5]。以其中一路蓄电池监测电路为例,信号采集电路(DS2438)如图3所示,其余两路相同。DS2438的电压测量大小为0~10V,而蓄电池中的端电压一般高于10V,充满电后电压更高,所以采用两个电阻R9与R10对蓄电池电压进行分压,而后连接到 DS2438的VAD端进行测量。本设计中,取[R9=R10=10kΩ]。
DS2438内部有电流A/D转换器,采用电路电流负反馈来保证所测电流的准确性,使用7个0.33Ω电阻并联得到0.05Ω的电阻。电池电流监视器输入(+)接蓄电池负极,电池电流监视器输入(-)接一个电阻和一个电容,起到滤波,解决尖峰电流的作用,其中电阻[R8=100kΩ](使用两个50kΩ电阻串联),贴片电容[C6=100nF]。DQ端接单片机的P2.0进行数据输入/输出,引出一个节点通过电阻R11接+5V电源,[ R11=4.7kΩ]。
2.3 无线通讯电路
无线通讯电路如图4所示。在通讯电路中,采用了三个1N4007二极管串联,利用其正向压降降压后,再把电压给予JDY-40无线通信的电源端。串联一个10uF的电容C1,起到滤波作用。当低频时,有用信号可以顺利发送给VCC。使用串口直通信即JDY-40的RXD端接单片机的TXD端P3.1,JDY-40的TXD端接单片机的RXD端P3.0[6]。SET端接单片机P3.2来实现高电平透传,低电平AT指令的功能。
本设计中,利用无线传感器JDY-40双向透传(只负责传输数据,不负责处理)收发一体的功能,采用串口半双工方式,来实现串口连续写入与接收数据。JDY-40默认为串口透传模式。
2.4 键盘电路
键盘电路如图5所示,本设计设置了五个按键,分别是增加键、减小键、设置键、切换测量键、报警复位键[7]。增加键、减小键、设置键是用来设置报警限值,按下设置键即可修改限值。在监测过程中,只监测其中一路蓄电池的工作情况,通过切换测量键来监测其余两路蓄电池。当蓄电池工作中有关参数超过限值报警时,按下报警复位键给予复位。
2.5 显示电路
显示电路有LCD1602显示电路和LED显示电路两部分。
LCD1602显示电路如图6所示。引脚1 VSS端接地;引脚2 VCC端接+5V电源;引脚3 V0是对比度调整端,直接接地对比度最高,影响清晰度,需接一个500Ω的电阻调整清晰度;引脚4寄存器选择端接单片机P3.5;引脚5读写端接单片机P3.6;引脚6使能端接单片机P3.7,读取令液晶模块工作的指令;引脚7~14接单片机P2.0~P2.7,进行数据传输;引脚15 BLA背光正极;引脚16 BLK背光负极。
LED显示电路如图7所示。将四个LED发光二极管分别串联一个1kΩ的电阻后并联,满足单向导电性,正极一端共同接+5V电源高电平,另一端分别接向单片机P0.1~P0.4。
2.6 报警电路
报警电路如图8所示。报警电路中使用了一个PNP型三极管S8550来放大电流,确保蜂鸣器正常工作。三极管发射极接电源,基极通过一个电阻接单片机P0.0以接收信号,该电阻起到了降低单片机输出给三极管基极电流的作用,从而减少工作时的功耗。
3 系统软件设计
本系统软件包括主程序、监测子程序、无线通讯子程序、键盘子程序、显示模块子程序等。主程序流程如图9所示。系统启动后,程序中的相关数值进行复位,在复位的过程中对标志位和定时器进行设定,并且需要设定一个限值,将串口通信协议恢复到初始状态。在系统开始执行程序后,开始扫描键盘,直到定时器停止工作。
本设计应达到对蓄电池的实时监测,为满足这一要求就要让单片机不断地访问监测芯片 DS2438。监测子程序流程如图10所示。在进行程序设计时,应先对定时/计数器进行设置,包括定时器的工作状态,然后单片机执行下一步程序,直到定时器的中断,执行中断之后调用 DS2438 子程序,通过芯片 DS2438 来收集蓄电池的电流电压和温度等参数,然后由单片机通过无线通讯模块传输到接收端,由接收端的显示模块进行数据显示,最后重新初始化,定时中断结束。
4 系统调试
当系统进入工作状态后,监测端由监测芯片DS2438监测蓄电池的电压、电流和温度等参数,然后数据打包发送给监测端单片机,再由监测端单片机通过无线传输模块发送给接收端单片机,参数处理后由显示屏显示被测电池的温度、电压和电流,再通过一组LED燈直观显示电池电量。利用键盘来设置阈值,能切换显示不同蓄电池的各项参数。在超过或低于限值时,系统蜂鸣器给出相应的报警。
调试时,首先在通电前利用万用表检查硬件线路,特别注意电源的走线,防止电源之间的短路和极性错误;通电后,执行读写指令,对存储器、输入/输出端口进行读写和逻辑检查,对各模块子程序分别调试。监测第一组蓄电池时,LCD显示出现混乱,此时先检查硬件电路,排除硬件电路问题,后检查软件程序,发现引脚设定出现错误,致使LCD显示错误;在监测第二组蓄电池时,电压值不稳定,经过检查硬件电路,发现零件电路存在虚焊,导致电压不稳定,出现了较大的差距;监测第三组时,电流较大,硬件电路未发现问题,检查软件程序,发现显示子程编写错误,致使在显示电流时,只显示小数部分。
5 结束语
本设计采用STC89C52单片机、DS2438监测芯片和JDY-40模块相结合,使得系统功耗低,延迟小,监测精准。在保证蓄电池工作完好性的前提下,系统能实时监测出蓄电池的电压、电流、温度和容量等状态参数,实现对蓄电池的维护;能提前发现亏损电池,确保电池组供电系统安全运行,延长蓄电池的使用寿命。通过软硬件的实践验证,本蓄电池监测系统运行安全、功能丰富、操作简单,有着广泛的应用空间。
参考文献(References):
[1] 侯波,刘俊伟.一种电动车铅酸蓄电池SOC预测模型及检测系统的设计[J].电测与仪表,2010(11):47-50
[2] 任璐,李文石,钱敏.基于nRF24L01的无线电子记分系统设计[J].微型机与应用,2017(4)
[3] 兰成荣.蓄电池实时监测系统的研究与设计[D]. 湖南大学,2014
[4] 陈亚萍.FDM温度控制系统的硬件结构设计[D]. 华中科技大学,2007
[5] 郭克友,郭晓丽,王艺伟.基于DS2438的车载电池管理系统设计[J].电源技术,2016(7):1416-1418
[6]周燕艳,海深.单片机原理及应用课程教学改革与实践[J].福建电脑,2018,34(1):81-82
[7] 王佳.循环流化床锅炉燃烧过程控制策略的研究[D].河北科技大学,2011