1、摘 要在传统的温室控制系统中,温室环境检测器与相应执行机构之间通过有线电缆进行通信。有线传输系统的可靠性和抗干扰性能差,限制了农业机器人等移动作业设施的使用以及温室设施的更新。作物在生命周期中的一切生物化学作用,都必须在一定的温度条件下进行,也就是说,温度是影响作物生长发育最重要的因素。nRF905是单片射频收发芯片,将射频技术应用于温室环境参数测控系统中,以无线方式取代温室环境参数检测器和相应执行机构之间的有线电缆连接,避免了温室内大量电缆的铺设,以达到便捷地对温室温度自动监测,灵活地对温室执行机构的自动控制,为作物生长提供适宜的温度。本论文研究了基于nRF905的温室温度测控系统的硬件和软
2、件设计。系统通用性强,可用于果蔬储藏保鲜、畜舍、冷库、粮库、生产车间等环境控制领域。关键词:数据采集;射频模块nRF905ABSTRACTIn the tradition of the greenhouse control system, The greenhouse environment detector and the corresponding actuator communicate through cable. The reliability of cable transmission system and poor anti-interference performance. A
3、griculturalrobotics and Mobile operation facilities and Mobile operation facilities has been limited. Crops in the life cycle of all biochemical effect,must be in a certain temperature conditions. that is to say,influence of temperature on crop growth and development of the most important factors. n
4、RF905 is a single chip RF transceiver, the application of RF technology in environmental parameters monitoring and control system of greenhouse. Connected wirelessly to replace the cable between the greenhouse environment parameters detector and the corresponding execution mechanism. To avoid the la
5、rge number of cable laying in the greenhouse. Convenient to the greenhouse temperature automatic monitoring. Flexible automatic control of greenhouse actuator. Provide the suitable temperature.This paper studies the design of hardware and software of the greenhouse temperature control system based o
6、n nRF905The system versatility, can be used for fruit and vegetable storage, cold storage, livestock, grain depot, workshop and other environmental control field. Keyword : data acquisition ; radio frequency module nRF905目录第一章绪论51.1 选题的目的与意义51.2 国内外温室温度研究现状51.3 短距离无线通信技术比较61.3.1 IEEE802.11 WLAN61.3.
7、2 蓝牙(Bluetooth)技术61.3.3 红外(IrDA)技术71.3.4 HomeRF家用无线局域网技术71.3.5 低功率短距离无线通信技术71.4 主要研究内容8第二章 基于nRF905的温室温度测控系统的硬件实现92.1 系统简介92.2 系统主要构成器件介绍92.2.1 温度传感器DS18B2092.2.2 微控制器STC89C52 112.2.3 无线射频模块122.3 硬件电路设计132.3.1 电源电路设计132.3.2 温度采集电路132.3.3 射频模块nRF905外围电路142.4 本章小结14第三章 基于nRF905 的温室温度测控系统的软件实现153.1 温度采
8、集模块程序设计153.2无线传输模块的程序设计173.2.1 nRF905发送流程程序设计173.2.2 nRF905接收流程程序设计193.3 本章小结20第四章 系统测试、结论及展望214.1 系统测试214.2 测试中注意问题以及测试方法214.3 结论及展望21参考文献23附录1:温度信号采集程序清单25附录2:nRF905接收和发送程序清单29附录3:主程序37致 谢25第一章 绪论1.1 选题的目的与意义我国的人均耕地只有世界平均水平的1/3,要实现耕地资源在使用过程中的效益最大化,利用高新技术改造传统农业无疑是一条必由之路。温室生产是综合运用各种先进设施和技术,人为创造各种作物生
9、长发育的最佳环境条件,并通过科学的经营管理,最大限度地提高土地产出率、资源利用率、劳动生产率和产品商品率,获得最佳经济效益和社会效益的一种完全有别于传统农业的生产模式。推广和使用低成本、高可靠的温室测控系统是温室生产走向工业化、自动化和高效化的必由之路,而温室内环境的综合控制是实现温室生产高效、优质的关键。目前,我国的温室环境检测与控制技术得到了迅速发展,现代化程度不断提高,但是无论是基于集散控制结构还是基于现场总线技术的温室控制系统,其信号传输方式都为有线传输。而温室内的环境是非常恶劣的,如夏季光照强、湿度高、具有一定的酸性等,这些因素都会导致线缆的老化,从而降低系统的可靠性和抗干扰能力。同
10、时,为了科学合理地实现温室环境参数的自动检测,检测装置和执行机构的设置不仅数量大而且分布广,有线传输导致温室建造、安装、维护复杂、工作量大;设施扩建更新困难;农业机器人等移动作业设施的应用受到限制;为此,在温室中应用基于无线技术的传感器数据采集系统,将有助于解决有线系统的局限性1-3。nRF905是单片射频收发芯片,将射频技术应用于温室环境参数测控系统中,以无线方式取代温室环境参数检测器和相应执行机构之间的有线电缆连接,避免了温室内大量电缆的铺设,以达到便捷地对温室环境参数自动监测,灵活地对温室执行机构的自动控制,为作物提供适宜的生长环境,确保温室经济效益。在温室内作物的各个生长时期,温度、湿
11、度、光照、CO2等环境参数都会影响作物的生长发育,其中温度是影响作物生长发育最重要的因素。作物在生命周期中的一切生物化学作用,都必须在一定的温度条件下进行。因此,本论文以温度测控为例,研究基于nRF905的温室温度测控系统的硬件和软件设计。1.2 国内外温室温度研究现状 温室环境控制技术是随自动化检测技术、过程控制技术、通讯技术及计算机技术的发展而发展起来的。现代化的温室智能控制系统对提高温室生产水平、改进传统的温室生产无疑起着重要的作用,因此国内外科研机构研制出了许多温室智能控制系统。Joshua Mendoza-Jasso等为了降低价格和实时性采用FPGA设计了远程监控系统4;Ameur
12、S等采用80C32设计了一个数据采集系统5; T.Hesketch针对新西兰温室设计的数字控制系统,检测室内温度随光照度、加热设备及降温设备的工作状态而变化的情况6; H.J.Tantau综合温室内外的温度、光照、风速以及热水管的进出口温度,建立温室数学模型,此模型输出加热、通风系统执行机构的设定点温度,并将此温度送至负反馈控制环,从而将温室温度控制在设定温度上7;B.J.Bailey综合考虑了保温幕对温度的影响,以及对整个加热系统的经济性进行了分析,提出了优化以后的温度控制模型8;随着设施农业的推广,我国加大了温室结构和温室控制方面的研究力度。杜尚丰等总结了国内温室控制硬件的发展情况9;徐津
13、等研究了CAN总线温室智能控制器的开发10;王定成等研究了基于USB的温室环境便携式数据采集器的设计11;孙忠富、陈建恩等对无线传输的控制系统进行了研究12,13。1.3 短距离无线通信技术比较目前广泛应用的短距离无线通信技术主要有:IEEE802.11 WLAN、蓝牙、IrDA、Home-RF、低功率短距离无线通信技术。1.3.1 IEEE802.11 WLANIEEE 802.11是电子电气工程师协会(Institute of Electrical and Electronics Engineers,IEEE) 802工作组制定的无线局域网(Wireless Local Area Netw
14、ork,WLAN)标准,主要用于实现小范围内的移动组网和无线接入14-17。IEEE在802.11的基础上相继推出了802.11a和802.11b两个标准。802.11a工作在5GHz的U-NII频带,802.11b工作在与蓝牙一样的2.4GHz ISM频带。802.11b只支持数据传输,传输速率最高可达11Mbps,并且可根据环境中的射频状况,在11Mbps、5.5 Mbps、2 Mbps和1Mbps之间切换,传输距离高达300m。802.11b的传输速率和安全性高于蓝牙,因而在局域网的无线接入应用方面具有一定的优势。基于802.11b技术的无线网络接入点,可以很好地支持多个无线用户终端(主
15、要为笔记本电脑)接入本地局域网以及访问互联网。但是,802.11b技术在体积、功耗和成本上无法与蓝牙相比,因而目前除了作为网络接入之外,在其它对低功耗、低成本等要求高的领域和设备上的应用还很少,比如移动电话和PDA。蓝牙可以应用于那些802.11b无法胜任的广阔领域,与之相互补充。1.3.2 蓝牙(Bluetooth)技术蓝牙是由爱立信、东芝、诺基亚、英特尔和国际商用机器公司等公布的一种无线数据与语音通信的开放性全球规范,开发于上世纪90年代中后期。它是一种用于短距离的、点对多点的数据和语音传输的射频规范。开发该技术的目的是以近距离、无线为基础为固定与移动终端建立临时对等链接。蓝牙的传输距离在
16、1m到10m之间,增加发射功率或配置专用的放大器后可使传输距离达到100m。 目前,蓝牙设备在无线耳机、无线键盘等领域应用较多,但其国内市场的推广仍然十分不够,其最大障碍是成本依然很高,蓝牙模块购买价格昂贵。1.3.3 红外(IrDA)技术IrDA(Infrared Data Association)是由红外数据协会推出并推行的一种无线通信协议,这种通信方式通过数据电脉冲和红外光脉冲之间的相互转换实现无线数据的收发。IrDA设备使用发光二极管发送信号,波长范围875nm。新制定的超高红外标准传输速率达到16Mpbs,相比传统版本的4Mbps快了4倍,接收角度也由原来的30度扩展到120度。Ir
17、DA设备的使用不需要申请特定频率的使用执照,并且还具有体积小、功耗低、技术成熟的优点。IrDA数据传输速率比较高,同时由于是点对点的通信,受到的干扰也较小,目前在成熟度和普及度上,IrDA是新兴的无线通信技术无法比拟的。但是,IrDA的缺点也很明显。首先IrDA是一种视距传输技术,通信设备中间不能有任何阻挡物,通信设备的位置也需要相对固定,不适宜用于移动数据传输;其次,IrDA只能实现点对点的无线通信,不能完成点对多点的无线通信;IrDA设备的核心器件-红外LED容易损坏,因而设备寿命有限。1.3.4 HomeRF家用无线局域网技术HomeRF技术建立在共享无线访问协议(Shared Wire
18、less Access Protocol,SWAP)之上。该协议主要针对家庭无线局域网,同时支持数据和语音通信。其数据通信采用简化的IEEE 802.11协议标准;语音通信部分采用数字增强型无线电话(Digital Enhanced Cordless Telephony,DECT)标准,使用时分多址(Time Division Multiple Access,TDMA)技术。HomeRF同样工作在2.4GHz频段,采用跳频技术,每秒跳频50次,最大功率为100mW,有效范围约50m。HomeRF的传输速率为1Mbps或2Mbps,最多可支持6个全双工的语音信道。HomeRF技术侧重于PC及其外
19、设所组成的无线局域网,主要针对低成本的家庭语音与数据的无线连接,不仅可以组建家庭范围内的局域网,还可以将家中的各种电器设备通过相应的网络接入点与公用交换电话网以及互联网相连。1.3.5 低功率短距离无线通信技术该技术一般采用单片数字信号收发芯片,加上微控制器和少量外围器件构成专用或通用无线通信模块。一般射频芯片采用FSK调制方式,工作于ISM频段,一些必要的外围模块都已经集成在芯片内部,并且提供了简单透明的数据传输协议或使用简单的加密协议,用户不用对无线通信原理和工作机制有较深的了解,只要依据芯片提供的操作接口进行操作即可实现基本的数据无线传输功能。由于其功率小、价格低廉、开发简单快速因而在工
20、业、民用领域得到了广泛的应用。但数据传输速度、流量都较小,因此比较适合搭建对数据传输速度要求不高的小型网络。目前,很多公司推出了这种类型的单片无线收发芯片,其中比较典型的是Nordic公司推出的nRF系列芯片,如nRF905;综合以上对几种常用的短距离无线通信方案的性能比较,可以得出各种标准都是根据不同的使用场合、不同的用户需求而指定的,有的是为了增加带宽和传输距离,有的则是考虑移动性和经济性,局部最优不等于全局最优,将射频技术应用在温室环境无线测控系统中的研究方案是可行的。1.4 主要研究内容本论文的主要研究内容是基于微处理器STC89C52和无线射频模块nRF905构建温室温度测控系统,实
21、现温室温度检测器与相应执行机构之间的无线通讯。具体研究任务主要分为以下几方面: (1) 比较分析常用短距离无线通信技术的特点,验证射频技术在温室环境测控系统中应用的可行性;(2) 硬件设计包括:用Protel DXP 2004完成电路原理图的绘制;元器件的选择;利用实验板进行功能模块电路调试;(3) 软件设计包括:温度信号采集模块、无线传输的程序设计;(4) 软件设计主要是在Keil Vision开发环境下,采用C语言编写模块化程序,通过烧写器将编译后生成的文件写入STC89C52,进行模块电路调试;(5) 系统整体调试,主要测试无线射频模块nRF905的传输距离及其传输数据的稳定性。第二章
22、基于nRF905的温室温度测控系统的硬件实现作物在生命周期中的一切生物化学作用,都必须在一定的温度条件下进行,也就是说,温度是影响作物生长发育最重要的因素。本论文研究了基于nRF905的温室温度测控系统的硬件和软件设计。2.1 系统简介基于nRF905的温室温度测控系统的结构框图如图2-1所示。控制端的微控制器STC89C52通过nRF905以无线方式采集温室内的温度信号,通过液晶显示器LCD-1602显示采集温度值,并与预先设置的温度上下限进行比较,当温度低于设置的温度下限时,蜂鸣器报警同时加热器加热,直至温度升到设定的温度范围内,继电器控制关闭加热器,停止加热;当温度高于设置的温度上限时,
23、蜂鸣器报警同时控制通风窗运行,使温室降温,直至温度降至设定的温度范围内时,控制继电器关闭通风窗,停止通风。环境温度采集点nRF905nRF905显示模块报警模块微控制器继电器组加热器通风窗控制端图 2-1 基于无线射频模块nRF905的温室温度测控系统框图2.2 系统主要构成器件介绍2.2.1 温度传感器DS18B20温室是一个有较大惯性的被控对象,温度的变化速度较慢,因而在选择温度传感器的时候,对传感器的反应速度要求不高,主要要求传感器具有优良的物理及化学稳定性。DS18B20不仅价格便宜,而且使用方便,测温准确,精度较高。因此,为了节省成本,提高效率,方便测控系统以后的进一步扩展和完善,本
24、温室温度测控系统采用DS18B20单总线数字式温度传感器来实现温度信号的采集。1. DS18B20的特点(1)适应电压范围比较宽,一般在3v到5.5v之间,在寄生电源方式下可由数据线供电;(2)独特的单线接口方式,它与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通信;(3)支持多点组网功能,多个DS18B20可以并联在唯一的一个三线上,实现多点组网测控;(4)在使用中不需要任何外围元件,全部传感元件和转换电路集成在一起;(5)测温范围在-40到85之间,在-10到85之间的精确度为0.5;(6)可编程分辨率为9到12位,对应的可分辨温度为0.5,0.25,0.125和0.
25、0625,可实现高精度测温;(7)在9位分辨率时,最多在93.75ms内把温度转换为数字;12位分辨率时,最多在750ms内把温度值转换为数字;(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时传送CRC校验码,具有极强的抗干扰纠错能力;(9)负压特性,电源极性接反时,芯片不会因发热而烧毁,但不能正常工作;2. DS18B20的工作原理DS18B20内部结构框图如图2-2所示,主要由4部分组成:64位ROM、温度敏感元件、非易失性温度报警触发器TH和TL、配置寄存器。ROM中的64位序列号是DS18B20的地址序列码,每个DS18B20都有唯一的地址序列码,在构成大型温控
26、系统时,可以实现一根总线上挂接多个DS18B20的目的。非易失性温度报警触发器TH和TL可通过软件写入用户报警上下限值。配置寄存器为高速暂存存储器中的第五个字节,DS18B20在工作时按此寄存器中的分辨率将温度转换成相应精度的数值。GNDI/OUDD内部UDDCVD2VD164位ROM和单线接口存储器和控制逻辑便笺式RAM温度传感器8位CRC发生器配置寄存器高温寄存器低温寄存器电源检测图2-2 DS18B20的内部电路框图2.2.2 微控制器STC89C52 本系统采用单片机STC89C52作为温度采集点和控制端的微处理器,基于单片机的控制系统开发容易、系统小巧、功耗低、成本低廉、性价比高。S
27、TC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供灵活、有效的解决方案。STC89C52的主要性能参数:(1)STC89C52支持在线可编程(ISP)写入技术,改写单片机存储器内的程序不需要把芯片从工作环境中剥离,串行写入、速度更快、稳定性更好;(2)工作频率范围:040MHz;(3)通用异步串行口(UART),还可用定时器
28、软件实现多个UART;(4)内部集成看门狗计时器,无需外接看门狗计时器单元电路;(5)工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V 单片机);(6)工作温度范围:-40+85(工业级)/075(商业级);(7)外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒;(8)通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻;2.2.3 无线射频模块本系统采用射频模块nRF905作为无线传输的媒介。1.
29、nRF905无线模块特点(1)433Mhz开放ISM频段免许可证使用;(2)最高工作速率50kbps,高效GFSK 调制,抗干扰能力强,特别适合工业控制场合;(3)125 频道,满足多点通信和跳频通信需要; (4)内置硬件CRC检错和点对多点通信地址控制; (5)低功耗1.9 - 3.6V工作,待机模式下状态仅为2.5uA; (6)收发模式切换时间 650us ;(7)模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便 ;(8)TX Mode: 在+10dBm 情况下,电流为30mA; RX Mode: 12.2mA ;(9)标准DIP
30、间距接口,便于嵌入式应用; 2. nRF905接口电路管脚说明nRF905接口电路管脚说明如下表2-1所示。管脚名称管脚功能说明1VCC电源电源+3.33.6V DC2TX_EN数字输入TX_EN=1 TX 模式TX_EN=0 RX 模式3TRX_CE数字输入使能芯片发射或接收4PWR_UP数字输入芯片上电5uCLK时钟输出本模块该脚废弃不用,向后兼容6CD数字输出载波检测7AM数字输出地址匹配8DR数字输出接收或发射数据完成9MISOSPI接口SPI 输出10MOSISPI接口SPI 输入11SCKSPI时钟SPI 时钟12CSNSPI使能SPI 使能13GND地接地14表2-1接口电路管脚
31、说明GND地接地2.3 硬件电路设计2.3.1 电源电路设计电源是系统运行的基础,由于线性电源输出端的纹波小,且在电磁干扰和电源纯净性方面都优于开关电源,因此本系统所需电源都采用线性电源。系统由9V充电电池供电,通过三端集成稳压器LM7805、ASM1117-3.3V组成的串联型直流稳压电路提供系统所需的直流电源+5V、+3.3V,电源电路23-26如图2-3所示。图2-3 系统电源电路图9V电池经过三端稳压器LM7805输出+5V电压,+5V电压给单片机STC89SC52、温度传感器、LCD1602、蜂鸣器、继电器等供电;LM7805的输出电压+5V经三端稳压芯片ASM1117-3.3V获得
32、3.3V电压,为NRF905射频模块提供工作电压;根据电源设计规则以及实验条件,在进行本系统电源设计时,三端稳压器LM7805、ASM1117-3.3V的输入、输出端采用47F/16V电解电容和104(容值:0.1F)独石电容搭配使用;其中耐压16V、容值47F的电解电容用来支撑输出电压,104独石电容用来旁路高频干扰;在PCB布线时输入、输出端的电容尽量靠近稳压模块。2.3.2 温度采集电路温度采集电路27,28如图2-4所示。DS18B20的数据输入输出脚(DQ)与单片机STC89C52的P2.7口相连,进行数据和时钟的传输。单总线通常要求外接一个大约4.7k的上拉电阻,这样,当总线闲置时
33、,其状态为高电平。图2-4 温度采集电路2.3.3 射频模块nRF905外围电路射频模块nRF905外围电路如图2-5所示,nRF905的第1引脚VCC接3.3V的工作电压,nRF905 的工作模式由TRX_CE、TX_EN 和PWR_UP 三个引脚决定,nRF905使用SPI (Serial Peripheral Interface) 串行外设接口与微处理器之间进行通信。图2-5 无线射频电路2.4 本章小结 本章以温室温度为控制对象,研究了基于无线射频模块nRF905的温室温度测控系统的硬件设计,包括系统各个部分的设计思想、电路原理图以及核心芯片的主要技术参数、特点等;为了实现系统的低成本
34、和低功耗,在满足设计要求的前提下,尽可能使用了芯片内部功能和选择价格低廉、低功耗的元器件,达到了基本的设计要求。第三章 基于nRF905 的温室温度测控系统的软件实现在测控系统设计中,软件的设计在很大程度上决定了测控系统的性能。温度采集点和控制端的程序设计是在Keil Vision2开发环境下,采用C语言编写。基于nRF905 的温室温度测控系统的软件设计主要包括:温度信号采集模块、无线传输模块的程序设计。3.1 温度采集模块程序设计由于DS18B20采用的是单总线协议方式,即在一根数据线上实现数据的双向传输,而单片机STC89C52在硬件上不支持单总线协议,需要采用软件的方法来模拟单总线的协
35、议时序来完成对DS18B20芯片的访问。因此,DS18B20测温软件的编写,需要严格遵循单总线协议,以保证数据的完整性。DSl8B20工作过程中的协议如下:初始化;ROM操作命令;存储器操作命令;处理数据。每一次访问DS18B20时必须遵循这一顺序,如果其中的任何一步缺少或顺序混乱,DS18B20将不会响应。1.初始化单总线上的所有处理均从初始化序列开始。2.ROM操作命令27-29一旦总线主机检测到从器件的存在,即可根据具体情况发出器件相应的ROM操作命令,所有ROM操作命令均为8位二进制数。(1)Read ROM(读ROM)33H:允许总线主机读DS18B20的8位产品系列编码、唯一的48
36、位序列号、8位的CRC。 (2)Match ROM(匹配ROM)55H:允许总线主机对多点总线上待定的DS18B20寻址。(3)Skip ROM(跳过ROM)CCH:在单点总线系统中,该命令通过允许主机不提供64位ROM编码而直接访问存储器操作来节省时间。(4)Search ROM(搜索ROM)F0H:允许总线控制器用排除法识别总线上的所有从器件的64位编码。(5)Alarm Search(告警搜索)ECH:仅在最近一次温度测量出现告警的情况下,DS18B20才对此命令作出响应。告警的条件定义为温度高于TH或低于TL。DS18B20一上电,告警条件就保持在设置状态,直到另一次温度测量显示出非告
37、警值或者改变TH或TL的设置,使得测量值再一次位于允许的范围之内,存储在E2PROM内的触发器值用于警告。 3.存储器操作命令(1)Write Scratchpad(写暂存存储器)4EH:向DS18B20的暂存器中写入数据,开始位置在地址2,接下来写入的两个字节将存在暂存器中的地址位置2和3,可以在任何时刻发出复位命令来终止写入。(2)Read Scratchpad(读暂存存储器)BEH:读取暂存器的内容,读取数据将从字节0开始,字节8(CRC)结束,可以在任何时间发出复位命令中止读取。(3)Copy Scratchpad(复制暂存存储器)48H:将暂存器的内容复制到DS18B20的E2PRO
38、M存储器里,即把温度报警触发字节存入非易失性存储器里。 (4)Convert Temperature(温度变换)44H:启动一次温度转换而无需其它数据。温度转换命令被执行,DS18B20保持等待状态。如果总线控制器在这条指令之后发出读时间隙,而DS18B20忙于数据转换,DS18B20输出“0”;温度转换完成,输出“1”。 如果使用寄生电源,总线控制器必须在这条命令发出后立即启动强上拉并保持500ms。(5)Recall E2PROM(重新调出)B8H:将存储在E2PROM中温度触发器的值重新调至暂存存储器。(6)Read PowerSupply(读电源)B4H:对于在此指令发送至DS18B2
39、0之后所发出的第一读数据的时间隙,器件都会给出其电源方式的信号:“0”为寄生电源供电,“1”为外部电源供电。4.处理数据当温度转换命令发布后,经转换所得的温度值以2字节补码形式存放在高速暂存存储器的第0和第1字节,单片机可以通过单线接口读出该数据,低位在前,高位在后。温度数据采集程序流程图如图3-1所示;温度信号采集程序清单见附录1。是否向DS18B20发送初始化脉冲开始向DS18B20发送跳过ROM命令(CCH)向DS18B20发送温度转换命令(44H)转换结束?向DS18B20发送初始化脉冲向DS18B20发送跳过ROM命令(CCH)向DS18B20发送读温度暂存器命令(BEH)图3-1温
40、度数据采集程序流程图读取数据3.2无线传输模块的程序设计nRF905 通过 SPI 与微控制器进行通信,只有在关机模式和待机模式下 nRF905 才能通过 SPI 接口进行通信,因此微处理器STC89C52对 nRF905 进行读写操作前都应该将 nRF905 置于待机模式。3.2.1 nRF905发送流程程序设计nRF905 设置为待机模式,MCU 准备好数据要发送到目的节点,通过 SPI 口将目的节点的地址信息和有效数据信息传送到nRF905 的发送寄存器中,MCU 设置 TRX_CE 和 TX_EN 为高来激活 nRF905的发送模式。nRF905 进入发送模式后,数据打包完成(自动加字
41、头和CRC校验码),数据包发送(自动进行数据曼彻斯特编码、GFSK 调制、100 kbps 速率发送),若 DR 信号置高则说明发送完成。如果自动重发信号(AUTO_RETRAN)被置高,则 nRF905 将不断地重发数据,直到 TRX_CE 被置低为止。当 TRX_CE 被置低时,nRF905 会立刻结束正在发送的数据包,并将自己置为 standby 模式22。发送完成后需要设置为待机模式,发送程序流程图如图 3-2 所示。nRF905发送程序清单见附录2。Nrf905自动生成前导码,CRC校验码、数据打包图 3-2 发送程序流程图 否是结束设为待机模式发送是否完成?开始设置为待机模式写发送
42、地址给nrf905写发送数据至nrf905设置为发送模式开始发送3.2.2 nRF905接收流程程序设计当 TRX_CE 被置高,且 TX_EN 被置低时,NRF905 进入接收模式,650 us 之后,nRF905 开始侦听信道;若 nRF905 监听到所要接收的频段的载波信号,则载波侦听信号 CD 被置高;若接收到的数据包地址有效,则地址匹配信号 AM 被置高;若循环校验码 CRC 检测正确,则 nNRF905 将去除数据包的字头,地址和 CRC 各位,并将数据准备好信号 DR 置高。MCU 将 TRX_CE 信号置低,进入 standby 模式,并通过 SPI 口以一定的速率将 NRF9
43、05 接收寄存器中的数据读到微控制器中。当所有数据传送完毕后,NRF905 将 DR 和 AM 信号置低。此时 nRF905 可以进入接收模式,发送模式和节电模式。接收流程图 3-3 所示。nRF905接收程序清单见附录2。在程序编写时需要注意:发送模式会确保一个传输数据包发送开始后,总是能够完成,不管在发送的过程中 TRX_CE,TX_EN 被如何设置。当发送结束后,新的模式才被激活。而在接收模式下,正在传输数据时,如果 TRX_CE 或 TX_EN 的状态被改变,那么 nRF905 将立刻改变模式,并且传输的数据包丢失。因此,在程序设计时,如果 MCU 已经检测到 AM 信号,说明 nRF
44、905 正在接收数据,这时等待 DR 信号后再改变模式。开始设置为接受模式有无同频载波地址是否正确至高AM接受数据CRC正确?DR置为高TRX_CE置低,读取NRF905有效数据DR、AM置低置低AMYYYNNN图3-3 nRF905接收流程图3.3 本章小结本章主要研究了基于射频模块nRF905的温室温度测控系统的软件设计,包括温度信号采集模块、无线传输模块的程序设计。在设计中药严格遵循硬件的时序来编写程序,否则会使功能出现紊乱,甚至是错误。第四章 系统测试、结论及展望4.1 系统测试本设计主要在TX-51开发板上实验,在计算机上用proteus进行仿真,用keil软件进行软件编译,用STC
45、-ISP软件进行下载,在下载前设置最高波特率为115200,最低波特率为2400,COM为COM4,内部扩展选定为“允许访问”,MCU TYPE选择为STC89C52RC。测试温度:0100摄氏度。在室内,先用温度计测量温室温为27.5摄氏度,记录下数据。现在将接收端和发送端的电源打开,在接受端观察结果。然后与温度计进行对比。从对比的结果中可以发现,两者的数据是一样的。将接受端拿出实验室,关上门,进行无线的穿透测试,发现温度依然不变。再次拿着接收端,以每次十米的距离远离接受端。观察后发现,随着距离的增加,温度一直不变,没出现断点的情况。在室外,同样的先用温度计测量温度为34摄氏度,记录下数据。
46、打开模块电源进行测量,观察到的结果与温度计显示的结果一样。接着将接收端远离发送端,并在两者之间放一些阻挡物,发现随着距离的增加,测量的温度依然正确,但当距离远到约150米时候,从LCD上观察到,数值并不准确了。将障碍物拿开后,这时温度又重新正确显示。上诉试验说明本设计是成功的,验证了距离和障碍物对无线射频的影响,但是没有在真的温室里进行操作,因此略有不足,在以后的试验中要继续改正。4.2 测试中注意问题以及测试方法 在测试中药选择不同的地形地貌,距离远近,不同环境的温室,多点测试,各种天气下的测试以及有无遮挡物等情况下的测试,另外还需多测几组数据使得实验更严谨。使系统运行,观察系统硬件检测是否正常(包括单片机最小系统,键盘电路,显示电路,温度测试电路等)。系统自带测试表格数据,观察显示数据是否相符合即可。采用温度传感器和温度计同时测量多点水温变化情况(取温度值不同的多点),目测显示电路是否正常。并记录各点温度值,与实际温度值比较,得出系统的温度指标。使用串口调试助手与单片机通讯,观察单片机与串口之间传输数据正确否。4.3 结论