无线温湿度采集系统设计说明Word下载.docx
《无线温湿度采集系统设计说明Word下载.docx》由会员分享,可在线阅读,更多相关《无线温湿度采集系统设计说明Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
无线温度、湿度采集系统是家庭信息智能化的一个部分,也独立应用于农业大棚温湿度监控。
传统的布线安装给使用带来很大不便,为了解决这一问题,本设计需要设计一款无线温湿度采集系统,通过无线的方式实现主机对各采样点的温度、湿度信息进行监控。
本设计是实现温度和湿度的测量和实时监控,通过单片机(AT89C52)直接连接SHT10,将测量得到的温度和湿度数据显示在液晶屏上。
上位机的数据经过无线传输及显示后再被传输至接受端的89S52单片机中,然后再由单片机将数据转化为可以由液晶显示板1602显示的数据。
3系统总体方案
无线温湿度采集系统是一种基于射频技术的无线湿温度检测装置。
本系统由传感器和接收机,以及显示芯片组成。
传感器部分由数字温湿度度传感器芯片SHT10,单片机AT89S52,低功耗射频传输单元nRF905和天线等组成。
传感器采用电源供电,接收机接收来自传感器的温度数据,经过处理、保存后在LCD1602上显示,所存储的温度数据可以通过串行口连接射频装置与接收端进行交换。
单片机对nRF905的对外接口进行SPI读写操作,以此来控制nRF905的工作模式以及相关收发数据的操作,从而完成无线数据传输。
nRF905
温湿度M433MHZM
传感器C无线发射无线接收C液晶显示
电源UU
采集模块接收模块
Preamble
Address
Pay_Load
CRC
32bit
图1系统通讯方式及总体框图
4采集模块硬件电路设计
本系统采用AT89S52单片机作为主控制器,显示单元采用LCD1602液晶显示,通过温湿度度传感器SHT10实现温湿度的采集,通过射频芯片nRF905实现无线数据传输和接收。
采集模块框图2所示。
温湿度传感器M
C无线发送模块
电源U
图2采集模块框图
4.1电源模块的设计
输出+5V直流电源为设计中各个分电路、器件供电。
如图3所示。
图3电源模块电路图
4.2SHT10温湿度传感器
传统的温湿度传感器将温湿度转换成可以测量的电压或电容进行计算,虽然价格便宜,但可靠性不高,而且电路复杂,需要通过A/D转换器转换才能将电信号转换成数字信号。
而数字式传感器测量得到的是数字量,可以直接与单片机相连。
因此本设计传感器选择的是数字式温湿度传感器SHT10。
数字单总线温度传感器是目前最新的测温器件,它集温度测量,A/D转换于一体,具有单总线结构,数字量输出,直接与微机接口等优点。
既可用它组成单路温度测量装置,也可用它组成多路温度测量装置,文章介绍的单路温度测量装置已研制成产品,产品经测试在-10℃-70℃间测得误差为0.25℃,80℃≤T≤105℃时误差为0.5℃,当T>
105℃误差为增大到1℃左右。
传统的模拟式湿度传感器一般都要设计信号调理电路并需要经过复杂的校准和标定过程,因此测量精度难以保证,且在线性度、重复性、互换性、一致性等方面往往不尽人意。
为了克服这些缺点,本设计采用瑞士Sensirion公司生产的具有I2C总线接口的单片全校准数字式相对湿度和温度传感器SHT10。
该传感器采用独特的CMOSensTM技术,具有数字式输出、免调试、免标定、免外围电路及全互换的特点。
图4温湿度采集模块
单片机与SHT10接口电路部分:
SHT10的SCK口和DATA口分别与单片机的P1.6口和P1.7口连接,DATA需要一个外部的上拉电阻(4.7kΩ)将信号提拉至高电平,只有当DATA为高电平时,SHT10才开始工作,如图4所示。
4.3AT89S52芯片介绍
AT89S52是一种低功耗、高性能CMOS8位微控制器,可以与MCS-51单片机产品可以兼容。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片晶振及时钟电路。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
AT89S52是片有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单、可靠。
用AT单片机构成最小系统时,只要将单片机接上时钟电路和复位电路即可,如图AT89S52单片机最小系统所示。
由于集成度的限制,单片机最小应用系统只能作一些小型的控制单元。
其应用特点:
有可供用户使用的大量I/O口线;
部存储器容量有限;
应用系统开发具有特殊性。
图5单片机引脚图
4.3.1时钟电路
AT89S52虽然有部振荡电路,但要形成时钟,必须外部附加电路。
AT89S52单片机的时钟产生方法有两种,一种是部方式,利用时钟部的振荡电路产生时钟信号;
另一种是外部方式,时钟信号由外部引入。
本设计采用部时钟方式,利用芯片部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,部的振荡电路便产生自激振荡。
本设计采用最常用的部时钟方式,即用外接晶体和电容组成的并联谐振电路。
振荡晶体可以在1.2MHZ到24MHZ之间选择,常用的晶振频率有6MHZ、12MHZ和11.0592MHZ。
电容CX1和CX2主要是帮助起振,称为谐振电容,电容值无严格要求,但电容的取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,CX1、CX2可在20pF到100pF之间取值,当时钟频率为12MHZ时典型值为30pF。
所以本设计中振荡晶体采用12MHZ,电容选择30pF。
4.3.2复位电路
AT89S52的复位是由外部的复位电路实现的。
复位引脚RST通过一个斯密特触发器来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到部复位操作所需要的信号。
图6单片机最小系统
4.4nRF905功能的实现
nRF905单片无线收发器工作由一个完全集成的频率调制器,一个带解调器的接收器,一个功率放大器,一个晶体震荡器和一个调节器组成。
ShockBurst工作模式的特点是自动产生前导码和CRC,可以很容易通过SPI接口进行编程配置。
nRF905系统原理图见附录C。
4.4.1nRF905的接口
nRF905主要包括三种接口:
1)、模式控制接口:
该接口由PWR、TRX_CE、TX_EN组成控制由nRF905组成的高频头的四种工作模式:
掉电和SPI编程模式;
待机和SPI编程模式;
发射模式;
接收模式。
2)、SPI接口:
SPI接口由CSN、SCK、MOSI以及MISO组成。
在配置模式下单片机通过SPI接口配置高频头的工作参数;
在发射/接收模式下单片机SPI接口发送和接收数据。
3)、状态输出接口:
提供载波检测输出CD,地址匹配输出AM,数据就绪输出DR。
表1nRF905的引脚说明
管脚
名称
管脚功能
说明
1
VCC
电源
电源+3.3—3.6VDC
2
TX_EN
数字输入
TX_EN=1TX模式TX_EN=0RX模式
3
TRX_CE
使能芯片发射或接收
4
PWR_UP
芯片上电
5
uCLK
时钟输出
本模块该引脚废弃不用,向后兼容
6
CD
数字输出
载波检测
7
AM
地址匹配
8
DR
接收或发射数据完成
9
MISO
SPI接口
SPI输出
10
MOSI
SPI输入
11
SCK
SPI时钟
12
CSN
SPI使能
13
GND
地
接地
14
4.4.2nRF905的工作模式
nRF905有两种工作模式和两种节能模式。
两种工作模式分别是ShockBurstTM接收模式和ShockBurstTM发送模式,两种节能模式分别是关机模式和空闲模式。
nRF905的工作模式由TRX_CE、TX_EN、PWR_UP三个引脚决定。
表2nRF905的工作模式
工作模式
X
掉电和SPI编程
Standby和SPI编程
ShockBurstEX
ShockBurstTX
与射频数据包有关的高速信号处理都在nRF905片进行,数据速率由微控制器配置的SPI接口决定,数据在微控制器中低速处理,但在nRF905中高速发送,因此中间有很长时间的空闲,这很有利于节能。
由于nRF905工作于ShockBurstTM模式,因此使用低速的微控制器也能得到很高的射频数据发射速率。
在ShockBurstTM接收模式下,当一个包含正确地址和数据的数据包被接收到后,地址匹配(AM)和数据准备好(DR)两引脚通知微控制器。
在ShockBurstTM发送模式,nRF905自动产生字头和CRC校验码,当发送过程完成后,数据准备好引脚通知微处理器数据发射完毕。
由以上分析可知,nRF905的ShockBurstTM收发模式有利于节约存储器和微控制器资源,同时也减小了编写程序的时间。
(1)nRF905的发送流程
A.当微控制器有数据要发送时,通过SPI接口,按时序把接收机的地址和要发送的数据送传给nRF905,SPI接口的速率在通信协议和器件配置时确定;
B.微控制器置高TRX_CE和TX_EN,激发nRF905的ShockBurstTM发送模式;
C.nRF905的ShockBurstTM发送:
射频寄存器自动开启;
数据打包(加字头和CRC校验码);
发送数据包;
当数据发送完成,数据准备好引脚被置高;
D.AUTO_RETRAN被置高,nRF905不断重发,直到TRX_CE被置低;
E.当TRX_CE被置低,nRF905发送过程完成,自动进入空闲模式。
ShockBurstTM工作模式保证,一旦发送数据的过程开始,无论TRX_EN和TX_EN引脚是高或低,发送过程都会被处理完。
只有在前一个数据包被发送完毕,nRF905才能接受下一个发送数据包。
(2)nRF905的节