针对采用热敏电阻测温和有线温度测量系统的不足,提出了采用单总线数字温度传感器DS18B20、单片机和无线收发模块等组成智能无线温度监测系统。DS18B20具有体积小,精度高,采用一线总线,可组网等优点,短距离无线通信技术应用到多点温度测量中,实现了温度数据无线传输,该系统扩展维护方便、成本低、高可靠性等特点,具有一定的实用性。
蓄电池作为一种供电方便、安全可靠的直流电源,在电力、通信、军事等领域中得到了广泛的应用。温度是蓄电池的一个重要参数,它可以间接地反映电池的性能状况,并且根据此温度参数可以对电池进行智能化管理,以延长电池的寿命。在蓄电池组充放电维护及工作工程中,电池内部产生的热量会引起电池的温度发生变化,尤其是蓄电池过充电、电池内部电解液发生异常变化等原因均可能造成电池温度过高而造成电池损坏。
传统上用人工定时测量的方法,劳动强度大、测量精度差,工作环境恶劣,尤其是不能及时发现异常单体电池,容易导致单体电池损坏,甚至导致整组电池故障或损坏;基于总线结构的有线多点温度监测系统,能够实现温度的智能化测量,但存在布线繁多复杂、维护扩展困难等不足。鉴于此,设计了一种基于单总线温度传感器和无线收发模块的电池温度无线监测系统,能够有效地克服热敏电阻测温和总线结构控制系统的不足,有利于提高蓄电池性能监测的智能化水平。
1 单总线温度传感器DS18B20
1.1 DS18B20芯片特性
DS18B20数字温度传感器是美国DALLAS开云棋牌官网在线客服公司生产的新一代适配微处理器的智能温度传感器,它将温度传感器、A/D转换器、寄存器及接口电路集成在一个芯片中,采用1-wire总线协议,可直接数字化输出、测试。与其他温度传感器相比,具有以下主要特性:
采用独特的单线接口技术,与微处理器相连仅需一根端口线即可实现双向通信,占用微处理器的端口较少,可接收大量的引线和逻辑电路;使用中不需要任何外围电路,全部传感元件及转换电路都集成在形如一只三极管的集成电路内;测温范围- 55~ +125℃,精度可达±0.5℃,可编程9~12位A/D转换精度,测温分辨率可达0.0625℃,可实现高精度测温;测量结果直接输出数字温度信号,同时可传送CRC校验码,具有极强的抗干扰纠错能力;支持多点组网功能,多个DS18B20可挂在总线上,实现组网多点测温。适应电压范围宽:3.0~5.5V,在寄电源方式下可由数据线供电;DS18B20与单片机连接如图1所示,单总线器件只有一根数据线,系统中的数据交换、控制都在这根线上完成,单总线上外接一个4.7Ω的上拉电阻,以保证总线空闲时,状态为高电平。
智能监测系统设计" src="//www.ninimall.com/files/images/20111021/e5c90164-852b-477c-9e46-6dc5f2067878.jpg" />
图1 DS18B20与单片机硬件连接图
1.2 DS18B20的控制时序
DS18B20与微处理器间采用的是串行数据传送,在对其进行读写编程时,必须严格保证读写时序,否则将无法读取测温结果。DS18B20控制时序主要包括初始化时序、读操作时序和写操作时序,如图2所示。
图2 DS18B20控制时序
(1)初始化时序。时序见图2(a),主机总线t0时刻发送一复位脉冲(最短为480s的低电平信号)接着在t1时刻释放总线并进入接收状态,DS18B20在检测到总线的上升沿之后等待15~60μs,接着DS18B20在t2时刻发出存在脉冲(低电平持续60~240s),如图中虚线所示。
(2)写操作时序。当主机总线t0时刻从高拉至低电平时,就产生写时间隙。从t0时刻开始15μs之内应将所需写的位送到总线上,DS18B20在t0后15~60μs间对总线采样,若低电平写入的位是0,若高电平写入的位是1,连续写2位的间隙应大于1μs,见图2(b)。
(3)读操作时序。当主机总线t0时刻从高拉至低电平时,总线只需保持低电平6~10μs之后,在t1时刻将总线拉高,产生读时间隙,读时间隙在t1时刻后到t2时刻前有效,t2~t0为15μs,也就是说,在t2时刻前主机必须完成读位,并在t0后的60~120μs内释放总线,见图2(c)。
2 系统硬件结构
监测系统主要由温度监测节点、主控单元和上位机等3部分组成,系统结构如图3所示。温度监测节点分布在蓄电池组的各个单体电池上,采集各单体电池的温度信息,通过无线网络传输给主控单元;主控单元与所有监测节点进行通信,接收上位机的命令和来自监测节点的温度信息,并将温度信息上报上位机;上位机实时显示蓄电池的温度信息,并对数据进行分析处理,根据设定的报警门限启动告警程序,及时发现异常电池。
图3 系统总体结构
2.1 温度监测节点设计
温度监测节点的功能是完成对单体电池的温度信息采集、处理和无线数据传输。采用单片机控制无线收发芯片nRF2401和单总线数字温度传感器DS18B20来实现温度的智能测量,主要包括单片机系统、温度采集电路、无线收发电路、显示电路、告警电路和电源等组成,其硬件结构如图4所示。
图4 温度监测节点硬件结构
DS18B20测温电路如图1所示,用热传导的粘合剂将DS18B20粘附在蓄电池的表明,管芯温度与表面温度之差大约在0.2℃之内。利用nRf2401无线收发芯片实现无线传输,nRF2401是一个单片集成接收、发射器的芯片,工作频率范围为全球开放的2.4GHz频段。它内置了先入先出堆栈区、地址解码器、解调处理器、GFSK滤波器、时钟处理器、频率合成器,低噪声放大器、功率放大器等功能模块,需要很少的外围元件,使用起来非常方便。在本系统中nRf2401通过P2口与单片机进行通信,AT89S51的P2.0和P2.1口分别与nRF2401的CLK1,DATA相连接。nRf2401的CS是片选端,CE是发送或接收控制端,PWR_UP是电源控制端,分别由单片机的P2.3,P2.4和P2.5引脚控制。nRF2401的DR1为高时表明在接收缓冲区有数据,接单片机的P2.2。
由于nRF2401的供电电压范围为1.9~3.6V,而AT89S51单片机的供电电压是5V,为了使芯片正常工作,需要进行电平转换和分压处理,设计采用MAXIM公司的MAX884芯片进行5V到3.3V 电平转换,如图5所示。
图5 5V到3.3V转换电路
2.2 主控单元设计
主控单元和监测节点组成无线网路,通过主控单元实现上位机和监测单元的数据通信。主控单元的基本结构和监测单元类似,主要由单片机系统、无线收发模块、显示电路、串行通信电路及电源等组成。
串口是计算机上一种非常通用设备通信的协议,大多数计算机包含2个基于RS232的串口,PC的串行口是RS232C电平,而单片机的串行口是TTL电平,两者之间通过串口通信时,必须进行电平转换,设计运用MAX232A芯片完成单片机与PC之间的数据传输,硬件连接电路如图6所示。
图6 单片机与MAX232A硬件连接电路
3 控制程序设计
系统控制程序主要由单总线测温控制程序、无线收发控制程序和上位机监测程序等组成。单总线测温程序负责单总线设备初始化、采集电池温度并传送给nRF2401模块;无线收发控制程序主要功能是负责无线网络的组建和数据信息的无线传送;上位机监测程序的主要功能是通过串口和主控单元进行数据通信,实时显示并存储数据信息。以监测节点为例,图7是监测单元的程序流程图,监测单元首先进行初始化,主要包括单片机系统的通信、中断及定时的初始化等,然后采集单体电池的温度信息、保存并用数码管显示,实时监测主控单元的数据传送命令,如果有就将电池的温度数据通过无线模块发送出去。
图7 监测节点程序流程
4 试验结果
设计了试验样机,监测节点试验电路实物如图8所示,在室内进行了温度测试,采用4个监测节点,分别在距离主控单元4m,8m,12m的距离进行了试验,试验数据如表1所示。
从表1可以看出,温度的测量精度可达±0.3℃,无线传输的准确率较高,能够满足无线温度监测的需要。
图8 监测节点试验电路
表1 测温试验数据
5 结语
本文针对蓄电池组中单体电池的温度监测问题,设计了基于DS18B20数字温度传感器和无线收发芯片组成的远程无线监测系统。系统由上位机、主控单元和多个监测单节点组成,主控单元通过串口与上位机进行通信。与传统的有线多点温度测量系统相比,具有布设、扩展、维护及更新方便等特点,有一定工程实际应用价值。