欢迎访问www.autooo.net
无线测温系统组成及硬件设计
无线测温系统主要可分为基站和无线节点两大部分。每套系统一般只有1个基站,包括微控制器及射频收发单元、显示单元、报警单元、电源模块及接口单元,主要硬件连接如图3所示。

图3 基站主要部件原理图
本文相关DataSheet:
接口单元是为了方便射频模块和PC的通信,通常可采用RS-232接口、USB接口、以太网接口等,其中,RS-232接口是目前PC与通信工业中应用最广泛的一种串行接口。本文使用RS-232接口,采用MAX3232芯片实现RS-232电平与TTL电平之间的转换。MAX3232是 MAXIM公司生产的一种RS-232接口芯片,使用单一电源电压供电,电源电压在3.0~5.5V范围内都可以正常工作。
基站接收到数据后,将温度信息通过数码管(或液晶显示屏)显示出来,根据需要,还可以通过RS-232接口与PC进行通信。为简化系统,本设计直接用的P0口驱动数码管(未在图中给出),但是P0口不具备数据保持能力,需要外接一定大小的上拉电阻,显示方法采用扫描法。采用一个蜂鸣器作为报警装置,当温度超过设定范围时,鸣叫报警。射频天线采用单鞭天线。
无线节点分布在温度采集点,由数字温度传感器、射频SoC nRF9E5、天线及电池组成。在实际应用中,可以有多个无线节点,它们与基站之间通过射频进行无线通信。无线节点的电路结构如图4所示,其中, 25AA320为E2PROM程序存储器。DS18B20有寄生电源和外部电源两种供电方式,本文采用外部供电方式,VDD引脚直接连接外部电源。 DS18B20在空闲时,其DQ脚由上拉电阻置为高电 平。无线节点的天线根据实际需要可选用单鞭天线或PCB印制天线。

图4 节点结构简图
无线测温系统的软件设计
本系统软件设计比较复杂,整个软件系统的流程如图5所示,主要有以下几个关键函数:DS18B20初始化及温度采集函数、nRF9E5初始化及射频发送(接收)函数、数据显示函数、串口通信函数等。

图5 无线测温系统软件流程
限于篇幅,各个函数的详细流程图不再给出,仅列出几个函数片断供参考,程序采用C语言编写,用Keil C51进行编译。
DS18B20采用单总线数据传输方式,对读写的操作时序要求严格。DS18B20提供了一系列指令来控制传感器的工作,利用这些指令就可以对DS18B20进行操作了。为了操作方便,可编写两个操作函数,源码如程序清单1所示。
程序清单1:
//-------------------
//启动DS18B20的1次温度转换
//-------------------
void ConvertT(void)
{
RST18B20( ); //初始化
WR18B20(0xcc); //跳过多传感器识别
WR18B20(0x44); //启动温度转换
}
//-------------------
//读取DS18B20
//-------------------
int ReadT(void)
{
RST18B20( ); //初始化
WR18B20(0xcc); //跳过多传感器识别
WR18B20(0xbe); //读DS18B20缓存器
DPL=RD18B20( ); //温度低位
DPH=RD18B20( ); //温度高位
return(DPTR); //返回读出的温度值
}
在开始进行无线通信前,必须对nRF9E5进行初始化配置,这个配置是通过对配置寄存器的设置来完成的。nRF9E5有一个144位的配置字,规定了无线收发器的接收地址、收发频率、发射功率、无线传输频率、无线收发模式、CRC校验和的长度及有效数据的长度等。nRF9E5的初始化工作,可根据具体要求对照数据手册进行配置。
欢迎访问www.autooo.net