基于nrf905远程温度监控系统.docx
- 文档编号:13780365
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:16
- 大小:29.11KB
基于nrf905远程温度监控系统.docx
《基于nrf905远程温度监控系统.docx》由会员分享,可在线阅读,更多相关《基于nrf905远程温度监控系统.docx(16页珍藏版)》请在冰点文库上搜索。
基于nrf905远程温度监控系统
基于nrf905远程温度监控系统
基于nrf905远程温度监控系统南京工程学院毕业设计说明书(论文)摘要本论文以STC89C52单片机为核心,给出了一种无线温度监控系统的硬件和软件的设计。
该系统由STC89C52,无线收发模块nRF905,时间芯片DS1302,DS18B20温度传感器,LCD12864液晶显示器等组成。
该系统通过STC89C52控制,由DS18B20采集温度数据,DS1302提供时间,在LCD12864上显示时间温度等信息并通过NRF905进行无线收发,以达到远程监控的目的。
该系统具有准确度高、实时性好、功耗小、操作方便等优点。
关键词:
无线传输;温度监控;STC89C52单片机;无线收发模块nRF905AbstractSTC89C52single-chipmicrocomputerasthecore,thispaperpresentsawirelesstemperaturemonitoringsystemhardwareandsoftwaredesign.ThesystemconsistsofSTC89C52,wirelesstransceivermodulesnRF905,timechipDS1302,DS18B20temperaturesensor,LCD12864LCD,etc.ThesystemiscontrolledbySTC89C52,temperaturedataacquisitionbyDS18B20,DS1302providestime,displaytimeandtemperatureandotherinformationandwirelesstransceiverbasedonNRF905inLCD12864,inordertoachievethepurposeofremotemonitoring.Thesystemhashighaccuracyandgoodreal-timeperformance,lowconsumption,convenientoperation,etc.Keywords:
Wirelesstransmission;temperaturemeasurement;STC89C52Single-chipmicrocomputer;wirelesstransceivermodulenRF905目录第一章绪论51.1前言51.2选题背景与意义51.3系统总体设计61.4主要章节安排6第二章系统硬件框架82.1硬件系统电路82.2硬件电路及工作原理92.2.1主控器件STC89C5292.2.2LCD12864112.2.3DS18B20温度传感器132.2.4NRF905射频模块162.2.5时钟芯片DS1302202.2.6报警器222.2.7独立键盘23第三章软件总体设计及各模块部分程序详细介绍263.1设计总思路263.2各模块软件部分的设计原理263.2.1主程序模块263.2.2功能实现模块39
(1)温度采集模块程序设计29
(2)日期模块程序设计34(3)液晶显示模块程序设计37(4)预警温度及时间的设定程序39(5)报警程序设计44(6)无线收发模块程序设计45第四章系统的调试484.1KEIL软件开发484.2软件调试494.2.1软件调试环境494.2.2软件调试过程494.3制板及调试514.4调试中遇到的问题及解决的方法51第五章总结与展望53致谢54参考文献:
55附录A:
56附录B:
57附录C:
58附录D:
60第一章绪论1.1前言远程温度监控系统在工业和农业生产,科学研究和人们的生活领域中得到了广泛的应用,工业生产过程中,很多时候都需要对温度进行严格的监控以使得生产能够顺利进行,使用自动化温度控制系统;可以对生产环境的温度进行自动控制保证生产的自动化智能化能够顺利安全进行,从而提高企业的安全效率.温度对于工农业如此重要,由此推进了温度传感器的发展。
传感器主要经历了三个发展阶段:
模拟集成温度传感器、模拟集成温度控制器、智能温度传感器。
进入新世纪后,温度传感器的发展趋势迅速,温度传感器的精度越来越高,功能越来越强大。
随着单片机技术的飞速发展,通过单片机对被控对象进行控制成为今后自动控制领域的一个重要发展方向。
采用51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量;随着无线通信技术的快速发展,其远程温度检测技术也在不断地提高。
系统中采用DS18B20作为高精度温度传感器,采用了无线收发芯片nRF905,其发射功率为10dBm,使用立柱型天线,发射速率50Kbps,外置433MHz天线,空旷通讯距离可达300米左右,抗干扰能力较强,,可以有效地实现各种场合温度的直接测量,并进行温度传输。
1.2选题背景与意义远程温度控制广泛应用于人们的生产和生活中,人们使用温度计来采集温度,通过人工操作加热、通风和降温设备来控制温度,这样不但控制精度低、实时性差,而且操作人员的劳动强度大。
即使有些用户采用半导体二极管作温度传感器,但由于其互换性差,效果也不理想。
在某些行业中对温度的要求较高,由于工作环境温度不合理而引发的事故时有发生。
对工业生产可靠进行造成影响,甚至操作人员的安全。
为了避免这些缺点,需要在某些特定的环境里安装数字温度测量及控制设备。
本设计由于采用了新型单片机对温度进行控制,以其测量精度高,操作简单。
可运行性强,价格低廉等优点,特别适用于生活,医疗,工业生产等方面的温度测量及控制。
远程温度监控在日常生活中有着广泛的用途,此次的温度监测器基于此而设计,它的最大的优点在于可以测量显示当前温度,并通过无线收发装置nRF905将温度发送给主机,将当前温度与预置温度进行比较,当当前温度超过预置温度时发出报警,实现对实时温度进行监测、整理和分析的目的。
由于该系统设计合理,采用低功耗报警器仅需占用少量资源即可进行高精度的温度测量。
操作方便,性能稳定,合理的使用编译软件,可以快速的获取采集数据,在实际的使用中获得了理想的效果。
在远程温度监控上,形成了一套完整的控制方案,可以移植应用于设备恒温、屋内暖气,工业和农业等许多方面。
1.3系统总体设计设计的内容是远程温度监控系统的发送和接收部分。
整个系统分为软件和硬件两个部份,在硬件的基础上完成软件的设计,设计的要求如下。
(1)完成系统硬件和软件总体设计。
(2)完成无线发送端nRF905软件设计。
(3)完成LCD驱动子程序设计。
(4)完成DS18B20温度采集子程序设计。
(5)完成C51单片机主程序设计。
(6)实现远程温度监控的过程演示。
1.4主要章节安排第一章绪论第二章系统的发送端和接收端硬件设计框架,主要介绍下硬件部分的元器件的性能。
第三章软件的总体设计,及各个子程序的软件流程图。
第四章部分程序的详细介绍,把各个模块的程序设计中比较重要的程序拿出来加以分析。
第五章系统的调试第六章总结与展望第二章系统硬件框架2.1硬件系统电路发送端由温度传感器DS18B20,时钟DS1302,STC89S52单片机,nRF905无线射频模块,LCD12864液晶显示屏,蜂鸣器组成。
MCU处理器STC89C52温度传感器DS18B20时钟芯片DS1302可调按键LCD12864显示屏蜂鸣器报警模块NRF905无线射频模块图1发送端系统设计框图发送端由温度传感器DS18B20,时钟DS1302,STC89S52单片机,nRF905无线射频模块,LCD12864液晶显示屏,蜂鸣器组成。
MCU处理器STC89C52可调按键LCD12864显示屏蜂鸣器报警模块NRF905无线射频模块图2接收端系统设计框图其主要实现的以下的功能:
(1)DS1302时间模块:
DS1302时钟芯片实现时钟功能准确提供:
年、月、日、星期、时、分、秒。
(2)LCD12864液晶显示模块:
将采集到的时间温度等信息12864液晶上显示。
(3)DS18B20温度的采集模块:
通过DS18B20数字温度传感器实现温度的采集。
(4)键控模块:
S1复位键;S2加1键;S3光标选择键;S4确认键。
(5)无线收发模块:
将采集到的温度、时钟等信息通过NRF905进行收发。
(6)报警模块:
当出现异常状况时系统报警,硬件设计是通过三极管的放大作用来驱动蜂鸣器。
2.2硬件电路及工作原理硬件电路主要有主控器件STC89C51、时钟芯片DS1302、液晶显示LCD12864、蜂鸣器,继电器电路,无线收发芯片NRF905等构成,以下就详细介绍这些元器件。
2.2.1单片机STC89C52RCSTC89C52RC是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和512bytes的随机存取数据存储器(RAM),兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元及2K字节EEPROM存储空间。
(1)主要功能特性:
l兼容MCS51指令系统;l8k可反复擦写FlashROM;l32个双向I/O口;l512x8bit内部RAM;l3个16位可编程定时/计数器中断;l时钟频率0-24MHz;l2个串行中断,可编程UART串行通道;l2个外部中断源,共8个中断源;l2个读写中断口线,3级加密位;l低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;
(2)主要管脚有:
l1~8脚:
通用I/O接口p1.0~p1.7;l9脚:
rst复位键;l10.11:
RXD串口输入TXD串口输出;12~19:
I/Op3接口l12,13脚INT0中断0,INT1中断1;l14,15脚:
计数脉冲T0T1l16,17脚:
WR写控制RD读控制输出端;l18,19脚:
晶振谐振器);l20脚地线;l21~28脚p2接口高8位地址总线;l29脚:
psen片外rom选通端l30脚:
ALE/PROG地址锁存;l31脚:
EArom取指令控器高电平片内取低电平片外;l32~39脚:
p0.7~p0.0l40脚:
电源+5V。
图3STC89C52RC2.2.2LCD12864LCD12864是一款具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人图形界面。
可以显示4行8列32个汉字,每个汉字由16×16的点阵组成,也可以通过点阵来显示图形.12864的另一显著特点是低电压低功耗。
采用该类型的液晶显示屏与其他点阵液晶显示屏相比,能够显示更多的图形和文字,硬件电路和软件程序也都变得简洁多了。
考虑到经济效益,该模块的价格和同样的点阵型液晶模块相比价格较低。
LCD12864引脚图如图所示:
图4LCD12864引脚图
(1)引脚说明(具体的引脚功能见表1)1电源地0V(VSS);2电源正5V(VCC);3亮度引脚(VO);4显示选择引脚(RS),高电平数据模式,低电平指令模式;5读写选择引脚(R/W),高电平读,低电平写;6使能引脚(E),高电平使能,下降沿锁存;7、8、9、10、11、12、13、14三态数据线,15串口方式(PSB);16空脚(NC);17复位(RESET),低电平复位;18驱动电压(VOUT);19背光电源正5V(A);20背光电源负0V(K)。
管脚号名称LEVEL功能1VSS0V电源地2VDD+5V电源正(3.0V-5.5V)3VO-对比度(亮度)调整4CSH/L模组片选端,高电平有效5SIDH/L串行数据输入端6CLKH/L串行同步时钟:
上升沿时读取SID数据15PSBLL:
端口方式17/RESETH/L复位端19AVDD背光源电压+5V20KVSS背光源负端0V表1引脚功能图
(2)、显示特性l显示方式:
STN、半透、正显l驱动方式:
1/32DUTY,1/5BIASl视角方向:
6点l背光方式:
侧部高亮白色LED,功耗仅为普通LED的1/5—1/10l通讯方式:
串行、并口可选l内置DC-DC转换电路,无需外加负压l无需片选信号,简化软件设计ll工作温度:
0℃-+55℃,存储温度:
-20℃-+60℃l低电源电压(VDD:
+3.0--+5.5V)l显示分辨率:
128×64点l内置汉字字库,提供8192个16×16点阵汉字l内置128个16×8点阵字符l2MHZ时钟频率2.2.3DS18B20温度传感器美国DALLAS公司推出DS18B20是智能化数字式温度传感器,所有的转换电路和传感组件在一个很小的三极管的集成电路中。
送入DSl8B20的信息和从DSl8B20送出的信息都是通过单总线接口完成的,因此单片机和DSl8B20之间仅需一条数据总线的链接。
可以由数据线本身提供读,写和完成温度变换所需的电源,从而无需提供外部电源。
DSl8B20采用“一线总线”的接口,现场测量的温度直接通过“单总线”的方式进行传输,“单总线”的数字传输方式有助于提高系统的抗干扰的能力。
DS18B20采集温度范围为-55℃~+125℃,在-10~+85℃范围内测量温度精度较高,精度为范围±0.5℃图5DS18B20连接硬件图
(1).特征:
l采用独特的单线接口。
只需要连接一个引脚就可以实现通信l能够连接多个传感器来测量分布式温度,使检测变得快捷简化l无需其他外部组件l可以实用用数据线来供电l不需要备用电源l用来测量从-55℃~+125℃范围的温度,增量值为0.5℃l用9位2进制数字方式输出温度l用户可定义的,不容易丢失数据的温度告警设置l告警搜索命令识别和寻址温度在编定的极限之外的器件(温度告警情况)
(2).引脚定义:
lDQ为数字信号输入/输出端;lGND为电源地;lVDD为外接供电电源输入端(在寄生电源接线方式时接地)。
(3).内部结构DSl8B20内部有四个主要部分:
①64位光刻ROM数据存储器②温度传感器③非易失性电可擦写温度报警触发器TH、TL④非易失性电可擦写设置寄存器。
除此之外还有告诉缓存存储器。
器件只有3根外部引脚,其中VDD和GND为电源引脚,另一根DQ线则用作]/O总线,因此称为一线式数据总线。
与单片机接口的每个I/O口可挂接多个DQVDD图6DS18B20内部结构(4).DS18B20使用中注意事项DS1820虽然测量温度具有高精度,系统设计简单,采用单总线连接,无需占用多个接口等优点,但在实际操作中需要注意下列几个问题:
l较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820和STC89C52之间采用串行方式传送数据,因此,在对DS1820读写程序编写时,必须严格控制读写时序,否则将不能读取出测量的温度。
l在DS1820的相关的资料中都没有提到DS1820在单总线上所挂数量多少问题,容易造成误解,认为可以在单总线上挂任意许多个DS1820,然而在实际操作中中并不是这样的。
在单总线上所挂DS18B20数量超过8个时,就需要解决单片机的总线驱动问题,在进行测量多点温度系统设计时尤其要注意这一点。
lDS1820对连接的总线电缆的长度是有一定限制。
当传输采用普通的信号电缆时不能够太长,如果长度达到50m进行传输,读取的测温数据就会出现错误。
当采用双绞线带屏蔽电缆时,传输距离较长,正常情况下通讯距离能达到150m,每米绞合次数越多时,正常情况下通讯距离可以进一步加长。
出现这种情况主要是因为总线分布电容促使信号波形产生畸变造成的。
因此,在用DS1820为温度传感器的远距离温度监控系统设计时,总线分布电容和阻抗匹配问题需要得到充分考虑。
l在DS1820测量温度程序设计中,当向DS1820发出温度转换命令后,程序总是在等待DS1820的返回信号,只要其中一个DS1820接触不良或断线,当程序进行读该DS1820时,将不会得到到返回信号,该程序就进入了死循环。
在对DS18B20进行软件设计和硬件连接时,都必须重视这一点。
2.2.4nRF905射频模块挪威Nordic公司推出nRF905是单射频发射器芯片,工作所需电压为1.9V-3.6V,它共有32引脚封装(5×5),工作在433/868/915MHz这3个频道。
nRF905能够自动完成处理字头和CRC(循环冗余校验)的工作,彻斯特编/解可以通过内部硬件自动完成,使用SPI接口与单片机通信,配置非常方便,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,在接收模式时电流大小为12.5mA。
nRF905单无线收发器工作由一个完全集成的频率调制器,一个带解调器的接收器,一个功率放大器,一个晶体震荡器和一个调节器组成。
ShockBurst工作模式的特点是产生前导和CRC自己完成的,通过SPI接口来进行编程配置能够很容易实现。
传输前听的载波检测协议,当正确的数据包被接收或发送时有数据准备就绪信号输出,侦测接收的数据包当地址正确输出地址匹配信号。
图7nRF905硬件连接图
(1).特征l433Mhz开放ISM频段免许可证使用l最高工作速率50kbps,高效GFSK调制,抗干扰能力强l125频道,满足多点通信和跳频通信需要l内置硬件CRC检错和点对多点通信地址控制l低功耗1.9-3.6V工作,待机模式下状态仅为2.5uAl收发模式切换时间lVCC脚接电压范围为3.3V~3.6V之间,超过3.6V将会烧毁模块。
推荐电压3.3V。
l除电源VCC和接地端,其余脚都可以直接和5V单片机IO口直接相连。
l硬件上面没有SPI的单片机也可以控制本模块,用普通单片机IO口模拟SPI不需要单片机SPI模块介入,只需添加代码模拟SPI时序即可。
l13脚、14脚为接地脚,需要和母板的逻辑地连接起来l与51系列单片机P0口连接时候,需要加10K的上拉电阻,与其余口连接不需要。
图8NRF905引脚图管脚名称管脚功能说明1VCC电源电源+3.3~3.6VDC2TX_EN数字输入TX_EN=1TX模式TX_EN=0RX模式3TRX_CE数字输入使能芯片发射或接收4PWR_UP数字输入芯片上电5uCLK时钟输出本模块该脚废弃不用,向后兼容6CD数字输出载波检测7AM数字输出地址匹配8DR数字输出接收或发射数据完成9MISOSPI接口SPI输出10MOSISPI接口SPI输入11SCKSPI时钟SPI时钟12CSNSPI使能SPI使能13GND地接地14GND地接地表2无线收发电路的引脚定义(3).模块引脚和电气参数表3.2为基于nRF905的无线收发电路的性能参考数据参数数值单位最低工作电压3.0V最大发射功率10dBm最大数据传输率曼切斯特编码50kbps输出功率为-10dBm时工作电流9mA接收模式时工作电流12.5mA温度范围-40to+85典型灵敏度-100dBmPOWERDOWN模式时工作电流2.5uA表3nRF905电路性能参考数据(4).工作方式NewMsg-RF905一共有四种工作模式,其中有两种活动RX/TX模式和两种节电模式。
活动模式:
ShockBurstRX、ShockBurstTX节电模式:
掉电和SPI编程——STANDBY和SPI编程nRF905工作模式由TRX_CE、TX_EN、PWR_UP的设置来设定,具体如表3.3。
PWR_UPTRX_CETX_EN工作模式0XX掉电和SPI编程10XStandby和SPI编程110ShockBurstRX111ShockBurstTX表4无线收发模块的设定lShockBurst模式:
ShockBurstTM收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器送入高速发射,这样可以尽量节能,因此也能得到很高的射频数据发射速率。
与射频协议相关的所有高速信号处理都在片内进行,这样做的好处:
尽量节能;低系统费用(低速微处理器也能进行高速射频发射);数据在空中停留时间短,抗干扰性高。
ShockBurstTM技术同时也减小了整个系统的平均工作电流。
在ShockBurstTM收发模式下,RF905自动处理字头和CRC校验码。
在接收数据时,自动把字头和CRC校验码移去。
在发送数据时,自动加上字头和CRC校验码,当发送过程完成后,DR引脚通知微处理器数据发射完毕。
ShockBurstTX发送流程:
①.当微控制器有数据要发送时,通过SPI接口,按时序把接收机的地址和要发送的数据送传给RF905,SPI接口的速率在通信协议和器件配置时确定;②.微控制器置高TRX_CE和TX_EN,激发RF905的ShockBurstTM发送模式;③.RF905的ShockBurstTM发送:
a.射频寄存器自动开启;b.数据打包(加字头和CRC校验码);c.发送数据包;d.当数据发送完成,数据准备好引脚被置高;④.AUTO_RETRAN被置高,RF905不断重发,直到TRX_CE被置低;⑤.当TRX_CE被置低,RF905发送过程完成,自动进入空闲模式。
注意:
ShockBurstTM工作模式保证,一旦发送数据的过程开始,无论TRX_EN和TX_EN引脚是高或低,发送过程都会被处理完。
只有在前一个数据包被发送完毕,RF905才能接受下一个发送数据包。
ShockBurstRX接收流程:
①.当TRX_CE为高、TX_EN为低时,RF905进入ShockBurstTM接收模式;②.650us后,RF905不断监测,等待接收数据;③.当RF905检测到同一频段的载波时,载波检测引脚被置高;④.当接收到一个相匹配的地址,AM引脚被置高;⑤.数据包接收完毕,芯片自动移去字头、地址和CRC校验位,然后DR脚置高⑥.微控制器把TRX_CE置低,nRF905进入空闲模式;⑦.微控制器通过SPI口,以一定的速率把数据移到微控制器内;⑧.当所有的数据接收完毕,nRF905把DR引脚和AM引脚置低;⑨.nRF90
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 nrf905 远程 温度 监控 系统