当前位置:文档之家› 基于单片机的无线通信环境检测系统

基于单片机的无线通信环境检测系统

基于单片机的无线通信环境检测系统
本文设计了一个基于单片机的无线通信的综合环境监控系统。

系统以STC89C52单片机为控制核心,采用DSl8820数字温度计芯片来检测温度,以DHT11数字湿度传感器来检测环境湿度。

系统与上位机系统采用无线通信模块NRF905构建系统的通信模块。

经过实践检验,以上方案设计的环境监控系统运行稳定、检测准确。

标签:环境检测;STC89C51单片机;远程通信
一、硬件系统设计
(一)温度检测模块设计
DSl820是Dallas半导体公司的数字化温度传感器。

它采用一线总线接口。

DSl8820的测温原理采用如下方法,低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。

高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。

计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

计数器1对低温度系数晶振产生的脉冲信号进行减法计数当计数器1的预置值减到0时,温度寄存器的值将加1,计数器l的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。

斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

(二)湿度检测模块设计
测量空气湿度的方式很多,其原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性质的变化,间接地获得该物质的吸水量及周围空气的湿度。

2002年Sensiron公司在世界上率先研制成功DHT11、DHT15型智能化温度/温度传感器,其体积非常小。

测量相对温度的范围是0~100%,分辨力达0.03%RH,最高精度为±2%RH。

测量温度的范围是-40℃~123.8℃,分辨力为0.01℃。

控制电路连接也简单,只占用控制器的一个I/O口即可完成数据的通信。

(三)无线通信模块设计
nRF905模块是由Nordic公司开发而成,nRF905单片无线收发器工作在433/868/915 MHz的ISM频段由一个完全集成的频率调制器一个带解调器的接收器一个功率放大器一个晶体震荡器和一个调节器组成。

nRF905可以有四种工作模式,两种活动的模式:ShockBurst RX和ShoekBurst TX;两种节电模式:掉电SPI模式和STANDY SPI模式。

nRF905的工作模式由TRX_CE、TX_EN和PWR_UP三个引脚决定。

ShockBurst TM收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器送入,但高速发射,这样可以尽量节能,因此,使用低
速的微控制器也能得到很高的射频数据发射速率。

与射频协议相关的所有高速信号处理都在片内进行。

二、软件系统设计
(一)温度检测软件设计
DSl8820的工作方式可以有多种,本系统采用的是外部供电方式。

对DS18820的温度数据读取需要进行以下几个步骤:(1)在系统初始化的时候,发命令给DSl8820进行初始化,(2)发送温度转换命令0x44。

(3)等待一定的时间后,既可以发送跳过读序列号的操作命令0xCC。

(4)发送读取温度数据命令0xBE,该命令可以读取到9个字节的数据,其中第1个和第2个数据即为温度数据的低高位。

将该16位数据组合起来去掉最高的5位数据,然后乘以0.625。

就可以得到温度数据。

(二)湿度检测软件设计
DHT11数字湿温度传感器也采用单总线数据格式,即一个数据引脚端口即完成输入输出双向传输。

其生成的数据包由5个字节(40Bit)组成。

一次通讯时间最大3ms,数据分小数部分和整数部分输出。

一次完整的数据传输为dObit,高位先出,低位后出。

数据组成为先进行16位的温度数据输出,然后进行16位的湿度数据输出,最后8位为校验位数据输出。

其中16为的温度数据与湿度数据分别为高8位为数据的整数部分,低8位为数据的小数部分。

这样系统可以从DHT11数字湿温度传感器模块中也取得温度数据,与前述的DSl8820取得的温度数据进行数值处理,从而得到比较准确的温度数据。

(三)无线通信软件设计
本系统的nRF905发送流程可分以下几个步骤:(1)当微控制器要将温度、湿度数据发送到上位机时,通过SPI接口,按时序把接收机的地址和要发送的数据送传给nRF905,SPI接口的速率在通信協议和器件配置时确定。

(2)单片机置位Tax CE和TX_EN引脚,触发nRF905进入ShockBurst TM发送模式,nRF905射频寄存器自动开启;自动完成?数据打包工作。

当数据发送完成后,数据准备好引脚被置高;系统完成数据的发送工作。

本系统的nRF905接收流程可分以下几个步骤:(1)当TRX_CE引脚为高、TX_EN引脚为低时,nRF905进入ShockBurst TM接收模式。

(2)650us之后,nRF905不断监测,等待接收数据。

(3)当nRF905检测相同载波和匹配地址后,地址匹配引脚被置高。

(4)当接收到一个正确的数据包后,nRF905自动移去字头、地址和CRC校验位,然后把数据准备好引脚置高。

系统完成数据的接收工作。

三、结语
在整个设计过程中,系统对温度检测模块DS18820的硬件设计与软件数据读取方式,湿度检测模块SHT11的硬件设计与软件通信、无线发射模块的硬件设计与软件设计都进行详细的阐述。

整个系统完成设计后,经过实践检验,系统的温湿度检测准确度良好,无线通信数据收发通畅。

整个系统可以完成高效的工作。

对其他类似的环境监测与控制系统有很好的借鉴作用。

相关主题