- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于DS18B20和nRF2401库区测温网络无线传输系统
基于DS18B20和nRF2401库区测温网络无线传输系统
摘要:为解决库区温度测量布线难度大、材料成本高、维护检修难的问题,论文提出了一种用单片机作为控制核心,用DS18820搭建多点测温网络,nRF2401作为传输器件的库区温度数据无线传输系统。经实际测试,该系统测量准确度高、传输距离远、性能可靠,具有较好的应用前景。本文网络版地址:http:///article/280695 _htm
关键词:单片机;nRF2401;DS18820;测温网络;无线传输
DOI:10.3969/j.issn.1005-5517.2015.9.018
引言 库区温度直接关系到库存物资的安全与性能,目前库区温度数据的传输大多采用有线方式,存在布线难度大、材料成本高、维护检修不便等不足,并且数据线缆还易受雨雪、潮湿、鼠害等破坏。为克服此类弊端,本文采用nRF2401无线传输模块,结合l-Wire器件DS18820,设计开发一款库区温度数据无线传输系统。
1 总体方案
系统分为上位机与下位机两大部分,二者之间的通信通过nRF2401实现,如图l所示。上位机主要包括PC机和上位单片机,奠功能是负责接收下位机传送的温度数据和应用程序的运行,这一部分技术较为成熟,可借鉴的资料较多,不作为本文的重点:下位机采用51系列单片机AT89S51作为控制器,主要负责温度数据的采集、处理和传输,图l仅画出两组温度传感器和继电器,实际连接10组。本文将着重介绍其硬件电路和软件设计。
2 电路设计
下位机电路设计的重点是测温网络和无线传输模块的搭建,为实现多点测温,选用Dallas公司出品的DS18820,构建一个l-Wire总线的测温网络。DS18820是l-Wire总线的数字温度传感器,可直接将被测温度转化成串行数字信号供单片机处理,适用于恶劣环境的现场温度测量:无线传输模块选用新型单片射频收发器件nRF2401,该器件工作于2.4 GHz~2.5GHzISM频段,输出功率和通信频道可通过编程进行配置,同时,nRF2401功耗低,在以-6dBm的功率发射时,工作电流仅9mA,接收信号时,工作电流也仅12.3 mA,特别适合单片机应用场合。
图2是市售nRF2401无线模块,设计上位机、下位机电路时,只需留出相应接口即可。
图3是设计的电路原理图,单片机P12口连接10个测温器件(图中仅画出3个),从而构建一个小型l-Wire总线测温网络,可实现10个库区的温度测量:单片机其他口线连接有10个继电器(图中画出2个),用来控制10个库区散热风扇的运转:无线模块nRF2401通过接口端子与单片机连接,此处注意nRF2401工作电压是3.3V,需增加电压转换芯片,为节省篇幅图中并未画出。
上位机接收部分的电路主要由上位单片机、无线模块接口和电平转换部分组成,这是由于nRF2401输出数据格式是TTL电平,而PC机串口是MAX232电平,为此需要增加一个电平转换电路进行匹配。
3 软件编程
下位机编程重点在于温度数据的采集与传送,也就是DS18820和nRF2401的软件设计。
3.1 1-wire总线的基本原理和操作
软件设计之前,首先要了解l-wire总线的原理。l-wire总线的特点是用一条数据线同时传输时钟信号和数据,总线上每一个器件都有一个唯一的地址,包括48位的序列号、8位的家族码和8位的CRC码,主机对各器件的寻址依据这64位的ID码来进行。
为保证在一条数据线上实现双向通信,对DS18820的操作必须遵循严格的读写时序。以下介绍基于l-wire总线的几种典型操作,其余的l-wire总线命令都是由这些典型操作而来。
3.1.1 复位子函数
在复位与应答时序中,主机发出复位信号,要求l-wire器件在规定的时间内送回应答信号。
首先主机将总线拉低480 μs,发出复位脉冲,然后产生一个上升沿的跳变,并延时60 μs等待l-wire器件的应答;l-wire器件将总线拉低240μs,发出应答,主机收到应答后,再对DS18820进行ROM命令。
3.1.2 读写操作
所有的读写时序至少需要60μs,在位读和位写时序中,主机要在规定的时间内读回或写出数据。
写时序时,主机在拉低总线15μs之内释放总线,并向l-wire器件写l;读时序时,主机发出读数据命令,产生读时序,l-wire器件随即向主机传输数据。
3.2 DS18820的温度转换
DS18820网络温度测量的步骤一般是:器件初始化、复位、ROM操作、温度转换。初始化及复位完成后,要对网络中的器件进行ROM识别,然后再读取温度数据。
3.2.1 利用二叉树遍历算法
文档评论(0)