温度无线传感技术的研究与实现
2015-03-24范平平
范平平
(天津轻工职业技术学院,河北 天津 300380)
1 无线温度传感系统的设计与实现
多点无线温度测量系统以AT89S52为核心,采用数字式温度传感器DS18B20,应用传感技术、无线收发技术及计算机技术,实现多点温度数据的采集和短距离无线传输。系统结构采用模块化设计,主要由三大部分构成:第一部分为系统的温度数据采集部分,多片单总线温度传感器DS18B20组成温度采集网络,完成多点温度数据的采集;第二部分为温度数据的处理与显示部分,完成温度数据的转换和在数码管上的显示;第三部分为系统的发射端,由芯片CD40106辅助TX315A完成数据无线的发射功能。该温度测量系统电路简单,性能稳定,抗干扰能力强,可靠性高,搭建方便,易于扩展,实际发射距离约50m,因此本系统适用于在短距离对多种环境温度的监测,有广阔的应用前景[1]。
2 系统的硬件电路的搭建
由于斯迈特计算机厂生产的单片机在线系统AY-MPU89S52E设置有专门的DS18B20芯片引脚插孔,所以可将DS18B20通过插座直接插在插孔上。为使DS18B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到E2存储器操作时,给I/O线提供一个强上拉。用MOSFET把I/O线直接拉到电源上就可以实现。所以在DS18B20的VCC与DQ引脚之间焊接一个4.7KΩ的电阻;因为DQ引脚对应着P1.0,所以将P1.0对应的跳线器置于下方。随后完成了TX315A的连接,为了防止元器件连接到扩展板时电压有所衰减,导致给发射器提供的电压不足,引入了CD40106BE芯片,该芯片为CMOS电路构成的施密特触发器,主要用于信号电路的整形。整个电路集成了6个施密特触发器,每个施密特触发器为反相输出结构,本电路用其中两个施密特触发器构成同相电路,用以提高单片机串行接口的信号输出能力。本集成电路芯片共有14个引脚,引脚1与P3.1相连(P3.1位串行通信信号输出端),引脚2与引脚3相连,引脚4与TX315A信号输入端相连,引脚5,7,9,11,13都与GND相连。TX315A的引脚1与VCC相连,引脚2与GND相连,引脚3与CD40106BE芯片的引脚4相连。
3 汇编程序设计
硬件电路搭建完成后,进行了汇编程序的编写。为了组装调试方便,将一个全部的汇编程序分成4部分:①DS18B20的温度读取模块;②温度转换处理模块;③温度在数码管上的显示模块;④单片机与单片机之间的串行通信模块。下面分别就这4个模块进行简要的叙述。
3.1 DS18B20的温度读取模块
此模块由4个函数构成:①读取温度的主函数GET_TEMP;②初始化DS18B20的子函数INT;③向DS18B20写操作命令的子函数WRITE;④从DS18B20中读取数据的子函数READ。
3.2 温度转换模块
DS18B20测得的温度在存储区是以补码的形式存储的,因此要将其在数码管上显示需要进行适当转换[2]。
温度数据占用两个字节LSB与MSB,其中MSB的高5位为符号位,后三位与LSB的8位二进制组成温度数值部分,LSB的高四位与MSB的低三位组成温度的整数部分,LSB的低四位为温度的小数部分,为方便显示,将精度定为小数点后一位。
3.3 温度显示模块
将要显示的内容存储在6个存储单元中,将字位码送到P2口,字型码送到P0口,数码管从左向右依次显示,延时程序为1ms,根据视觉停留的原理,看上去像是6个数码管同时点亮。
3.4 单片机与单片机之间的串行通信模块
串行通信采用程序查询方式处理。作为发送方A,首先要发送出接收起始识别标记,便于接收方B判别从哪一字节开始接收,为了避免差错的产生,所选的起始标记不可以是0与21之间的任何十进制整数,因此选定为(99)D。之后将处理好的数据按字节依次发送给接收方B,最后一个字节发送A的地址,再由接收方B做出识别。
4 系统总体调试
此次无线温度传感系统的实现开始时由于对TX315A的特性不是十分明确,所以最初采用有线串行通信的形式进行调试,将单片机在线系统A与单片机在线系统B用导线分别将它们串行接口的2、3、5引脚与3、2、5引脚相连,扩展时只需将CD40106与TX315A焊接在单片机上,整个程序并不需要改动,但要注意将P3.1的跳线器置于下方。
由于有多个发射器将温度发送给接收方,为了避免碰撞产生,采用时分复用作为通信协议,使单位时间片的长度略大于整个程序执行一次的长度,每一时间片内只有一个发送方进行数据发送,其他发送方设置时钟执行空操作,时钟设置的时长为:(发送方个数-1)×时间片长度,所有发送方轮流发送数据。为了使接收方能顺利显示,发送数据与地址前首先发送识别标志(99)D,然后发送地址,以便接收方完成地址的识别与显示,最后发送温度数据。因为只有6个数码管,接收方既要显示数据还要显示地址,所以将温度的精度设置在小数点后1位。为使TX315A接入整个系统时,提供给发射器的电压不会有所衰减,接入CD40106芯片。
5 总结
本文所研究的多点无线温度测量系统是短距离无线通信技术在温度测量方面的一个具体应用。系统以AT89S52为核心,采用数字式温度传感器DS18B20,应用传感技术、无线收发技术及计算机技术,实现多点温度数据的采集和短距离无线传输[3]。
系统采用模块化设计,主要由三大部分构成:第一部分为系统的温度数据采集部分,多片单总线温度传感器DS18B20组成温度采集网络,完成多点温度数据的采集和无线发送;第二部分为温度数据的处理与显示部分,完成温度数据的转换和在数码管上的显示;第三部分为系统的发射端,由芯片CD40106辅助TX351A完成数据无线的发射功能。该温度测量系统电路简单,性能稳定,抗干扰能力强,可靠性高,搭建方便,易于扩展,因此本系统适用于在短距离对多种环境温度的监测。
可以将本系统设计成多点无线温度传感器,从而组成分布式无线测温系统,根据MCS-51系列单片机的主从式多机通信结构,最多可以构成具有254个测温节点的无线测温系统,节约了系统布线成本,测温点布置、移动方便,适用于各种场合,有广阔的应用前景。
[1]吴绍华,周宏辉.基于无源无线传感技术的高压设备温度监测系统分析[J].机电信息,2012(6):74-77.
[2]朱丽丽,王长友.基于AVR单片机与温度传感器DS18B20的多点温度测量[J].电工电气,2010(12):52-56.
[3]许文斌,曾全胜.基于单片机AT89C52的数字化温度测量仪[J].微计算机信息,2010(5):12-14.