毕业设计最终修订 定稿版

更新时间:2024-05-04 12:21:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

安徽工程大学机电学院毕业设计(论文)

基于无线传感网络的温度监控系统设计

摘 要

近年来,随着无线通信技术和传感器技术的飞速发展,无线传感器网络越来越得到广泛的应用,特别是在环境监测、智能家居、工业监控等领域的应用。基于无线传感器网络的温度监控系统用于对温度的自动监控。

无线传感器网络是由一组传感器以Ad Hoc方式构成的无线网络,其目的是协调地感知、采集和处理网络覆盖的地理区域中感知对象的信息,并发布给监控者。随着通信技术、嵌入式计算技术和传感器技术的飞速发展和日益成熟,具有感知能力、计算能力和通信能力的微型传感器开始在世界范围内出现,由这些微型传感器构成的传感器网络引起了人们的极大关注。这种无线传感器网络综合了传感器技术、微机电系统技术、分布式信息处理和网络通信技术,能够协调地实时监测、感知和采集网络分布区域内的各种环境或监测对象的信息,并对这些信息进行处理。在信息采集及处理的过程中,涉及到了基于嵌入式系统及面向片上系统的平台设计,基于微机电系统技术(MEMS)的传感器研发,针对分布式系统的数据挖掘及队列数据处理,以及具有自适应组网和自主路由的无线网络协议及其安全问题。正是对这些课题的不断探索,促成了无线传感器网络研究的各个分支的产生以及标准的制定。

本文是设计一个基于无线传感网络的温度监控系统其中包括温度的采集、无线发射、无线接收、报警等内容的设计可以广泛应用于工业监控、智能楼宇、环境监测等领域

关键词:无线传感网络;传感器;嵌入式系统;智能家居

I

朱野:基于无线传感网络的温度监控系统

The Design of Temperature monitoring system based on wireless

sensor networks

Abstract

In recent years, with the rapid development of wireless communication and sensor technology, wireless sensor networks has been widely used, especially in the field of environmental monitoring, smart home, and industrial monitoring applications.

Wireless sensor network is constituted by a group of sensors to the Ad Hoc mode wireless network, and its purpose is to coordinate perception, acquisition and processing of the geographical area covered by the network-aware object, and issued to the observer. With the rapid development of communication technology, embedded computing and sensor technology and increasingly sophisticated, with perception, computing power and communication capabilities of the tiny sensors worldwide, aroused by these miniature sensors, sensor networks of great concern. This wireless sensor network integrated sensor technology, MEMS technology, distributed information processing and network communication technology, able to coordinate a variety of environmental monitoring object information in real-time monitoring, sensing and collecting network distribution area, and these information processing. In the process of information collection and processing related to a platform-based system embedded systems-oriented on-chip design, micro-electromechanical systems (MEMS)-based sensor development for distributed systems, data mining and queue data processing and adaptive networking and routing wireless network protocols and security issues. It is the continuous exploration of these topics, contributed to the generation of the various branches of the wireless sensor network, as well as the development of standards.

This article is to design a wireless sensor network-based temperature monitoring system, including the design of the temperature of the collection, wireless transmitter, wireless

receiver, alarm and other content can be widely used in industrial monitoring, smart buildings, environmental monitoring field

Keyword:Wireless sensor networks; sensors;embedded systems; smart home

II

安徽工程大学机电学院毕业设计(论文)

目录

引言 ............................................................. 1 第1章 绪论 ....................................................... 2 1.1 课题研究的目的和意义 ................................................ 2 1.2 无线传感网络的研究和发展现状 ........................................ 2 1.3课题研究的主要内容 .................................................. 4 第2章 系统方案设计 ................................................ 5 2.1 系统方案的论证 ..................................................... 5 2.2 系统方案设计原则 ................................................... 6 2.3 系统方案的选择 ..................................................... 6 第3章 系统的硬件电路设计 ........................................... 8 3.1 系统电路主要硬件元件介绍 ............................................ 8 3.2本系统的硬件电路 ................................................... 13 3.3 单片机串口电路设计 ................................................. 16 3.4温度控制电路设计 ................................................... 17 第4章 系统软件设计 ............................................... 19 4.1按键处理程序设计 ................................................... 19 4.2液晶显示程序设计 ................................................... 20 4.3温度采集程序设计 ................................................... 20 4.3 报警处理程序设计 ................................................... 20 4.4发射端主程序设计 ................................................... 21 4.5接收端主程序设计 ................................................... 23 结论与展望 ....................................................... 24 致谢 ............................................................ 25 参考文献 ......................................................... 26 附录A基于无线传感网络的温度监控系统设计发射模块电路.................. 27 附录B 基于无线传感网络的温度监控系统接收模块的硬件原理图.............. 28 附录C 系统软件程序............................................... 29 附录D 参考文献摘要............................................... 44 附录E 引用外文文献及翻译 ......................................... 47

III

朱野:基于无线传感网络的温度监控系统

插图清单

图2-1方案一原理框图 .......................................................................................................... 5 图2-2方案二原理框图 .......................................................................................................... 6 图2-3本系统采用的电路方案框图 ......................................................................................... 7 图3-1 DS18B20引脚分布图 ................................................................................................... 9 图3-2 D18B20工作原理图 ....................................................................................................11 图3-3 nRF24L01芯片引脚图.................................................................................................11 图3-4 晶振电路 .................................................................................................................. 13 图3-5电源电路 ................................................................................................................... 13 图3-6 3v电源电路.............................................................................................................. 13 图3-7 8051单片机基本电路 ................................................................................................. 14 图3-8测温电路电路图 ........................................................................................................ 14 图3-9 报警电路 .................................................................................................................. 15 图3-10按键电路 ................................................................................................................. 15 图3-11 LCD1602液晶显示模块电路图.................................................................................. 16 图3-12 nrf24L01无线传输电路 .......................................................................................... 16 图3-13 电平转换电路原理图............................................................................................... 17 图3-14温度控制电路图 ....................................................................................................... 18 图4-1按键处理子程序流程图 .............................................................................................. 19 图4-2 DS18B20温度读取过程流程图 ................................................................................... 20 图4-3发射端主要程序流程图 .............................................................................................. 22

IV

安徽工程大学机电学院毕业设计(论文)

表格清单

表3-1 DS18B20详细引脚功能描述 ....................................................................................... 9 表3-2 ROM的内存指令 ........................................................................................................ 10

V

安徽工程大学机电学院毕业设计(论文)

引言

目前, 国外的一些发达国家虽然有一部分先进的无线传感器网络监控系统, 由于环境﹑成本等原因, 并不适合我国的实际情况。从实际情况, 本着低成本、低功耗的原则, 对该系统软硬件进行设计, 并解决了传统的有线监控系统的诸多问题, 具有简单、灵活和易开发等优点。无线传感器网络是由大量低成本、能耗低的微小传感器节点构成的无线网络测控系统。采用多跳对等的通信方式,将具有传感器、数据处理单元及通信模块的大量智能节点散布在感知区域, 节点以自组方式形成网络, 能够协作地实时监测、感知和采集各种环境或监测对象信息并处理、传送到需要的用户, 具有自治、自适应等智能属性。由于体积、成本和功耗等原因, 实际资源的使用受到限制。此外, 通常传感器节点需要连续工作很长一段时间, 在人力修复无法实现的情况下, 一旦有节点损坏或是电源失效等情况, 就不能及时获得准确的监测数据。为此, 无线传感器网络的设计在考虑硬件资源非常有限的条件下,选用无线射频收发芯片nRF24L01 无线数据传输设备,该设备实现能耗低、成本小的无线网络硬件系统。根据无线传感器网络的自身特点对无线传感器网络监控系统的硬件和软件进行了较详细的设计方案。

1

朱野:基于无线传感网络的温度监控系统

第1章 绪论

1.1 课题研究的目的和意义

目前,在工业现场数据采集和无线温度采集系统中,要使用大量的基于不同物理机制的传感器,且监控和采集的对象多而分散。传统的使用线缆直接连接实现信号传输的方式,将严重限制数据采集点的安放灵活性,设备布线困难。为达到实时、无人值守、不需重新布线的目的,所选用的传感器应该是有源的、准实时、低功耗和便于安装的。因此,通过无线通信的方式传递数据是一种较为理想的选择,它与有线方式相比主要有成本低、携带方便、布线安装简便等特点,特别适用于远程多点无线数据传输系统的实现。无线传感器网络是由部署在监测区域内大量的微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织的网络系统,其目的是协作地感知、采集和处理网络覆盖区域中感知对象的信息,并发送给观察者。无线传感器网络具有组网快捷、灵活等优点,具有很高的研究价值和十分广阔的应用前景。无线传感器节点负责采集室内温度信息,并将数据按一定的格式传回控制机进行分析处理。无线温度采集系统的开发有效地解决了低成本、远程数据采集的可行性和安全性等问题,对于无线传感器网络技术在环境监控领域的运用有着重要的参考价值。根据毕业设计题目的要求和设计需要本次论文设计主要实现对办办公室温度的实时监控。通过在办公室内安装基于无线传感器网络的温度采集节点来测量楼内各点温度,经过分析处理完成温度的监控。本次毕业设计研究了一种基于无线传感器网络技术的无线温度监控系统。 1.2 无线传感网络的研究和发展现状

1.2.1无线传感网络

无线传感器网络是大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络,其目的是协作地感知、采集、处理和传输网络覆盖地理区域内感知对象的监测信息,并报告给用户。它的英文是Wireless Sensor Network, 简称WSN。 大量的传感器节点将探测数据,通过汇聚节点经其它网络发送给了用户。在这个定义中,传感器网络实现了数据采集、处理和传输的三种功能,而这正对应着现代信息技术的三大基础技术,即传感器技术、计算机技术和通信技术。 1.2.2 无线传感网络的特点

无线传感器网络具有以下特点: (1)传感器节点的通信能力有限。

传感器网络中的传感器传输速率低1,通信距离近j一般只有几十到几百米a由于传感器往往工作在环境恶劣地区,更多地受到高山、建筑物、障碍物等地势地貌以及风雨雷电、潮湿、水浸等自然环境的影响,一方面造成传感器间的通信不可靠,另一方面可能使传感器出现故障、甚至损坏嘲。 (2)传感器节点的能量、计算能力和存储容量有限。

随着传感器节点的微型化,在设计中大部分节点的能量靠电池提供,其能量有限,而且由于条件限制,难以在使用过程中给节点更换电池,所以传感器节点的能量限制是整个无线传感器网络设计的瓶颈,它直接决定了网络的工作寿命册;

2

安徽工程大学机电学院毕业设计(论文)

另一方面,传感器节点的计算能力和存储能力都较低,使得其不能进行复杂的计算和数据存储,因而对于无线传感器网络的研究者们提出了挑战,它们必须设计简单有效的路由协议等,来适用于无线传感器网络。

(3)无线传感器网络的拓扑结构易变化,具有自组织能力。 由于无线传感器网络中节点节能的需要,传感器节点可以在工作和睡眠状态之间切换,传感器节点随时可能由于各种原因发生故障而失效,或者添加新的传感器节点到网络中,这些情况的发生都使得无线传感器网络的拓扑结构在使用中很容易发生变化。此外,如果节点具备移动能力,也必定会带来网络的拓扑变化。基于网络拓扑结构的可变性,无线传感器网络具有自组织、自配置的能力喁1。 (4)数据传输方向性强。

在传感器网络中,数据传输具有很强的方向性。通常,查询信息是通过广播或多播的方式从观察者向网络内传感器传输,而探测结果信息则是由分布在各处的传感器节点向查询节点汇聚。无线传感器网络的随机布设、自组织和环境适应能力强等特点使其在军事、环境监测、智能交通、医疗设备、智能家居等各个领域和其他商业领域都有广阔的应用前景和很高的应用价值。 1.2.3无线传感器网络的研究及发展现状

无线传感器网络的研究起步于20世纪90年代末期,美国的加州大学伯克利分校、加州大学洛杉矶分校、麻省理工大学和康奈尔大学等几所大学已经进行了无线传感器网络基础理论和关键技术的研究,许多著名公司也纷纷从不同的层次、不同的角度对传感器网络进行了研究和开发。

2002年,美国加州大学伯克利分校Intel实验室和大西洋学院联合在大鸭岛上部署了用来监测岛上海鸟生活习性的无线传感器网络,它们使用了包括光、湿度、气压计、红外传感器、摄像头在内的近lO种类型的传感器,系统通过自组织无线网络,将数据传输到100mP}’的基站计算机内,再由此经卫星传输至加州的服务器进行分析研究。2003年,美国自然科学基金委员会制定了无线传感器网络研究计划,在加州大学洛杉矶分校成立了传感器网络研究中心,并联合加州大学伯克利分校、南加州大学等,展开了“嵌入式智能传感器”研究项引121,以求利用传感器网络对我们生活的物理世界实现全方位的测试与控制,支持相关基础理论的研究,这也是美国国情咨文中有关Internet2最主要的远景规划之一。2004年3月英特尔公司演示了家庭护理的无线传感器网络系统。该系统通过在鞋、家具及家用电器等家中用具和设备中嵌入半导体传感器,帮助老龄人士、阿尔茨海默氏病患者以及残障人士的家庭生活,利用无线通信将各传感器联网可高效传递必要的信息从而方便接受护理。2005年美国BEA系统公司为提高美军的电子战能力而研发的“狼群\地面无线传感器网络系统是一个典型的无线传感器电磁信号监测网络,它具有多功能电子战能力,不仅可以监听地方雷达和通信,分析地方的网络和系统的运动,还可干扰敌方发射机或用算法包来渗透敌方的计算机。2006年美国军方成功地测试了由无线传感器网络组建的枪声定位系统。它是将节点安置在建筑物周围,按照一定的程序组建成网络进行突发事件的的检测,经鉴定其精度可达lm,反应时间短于3秒,为救护、反恐提供了有力的辅助手段。采用无线传感器网络,可以让大楼、桥梁及其他建筑物能够感知并汇报自身的状态,从而让管理部门按照优先级来进行一系列的维修工作,例如,将具有温度、湿度、压力、加速度、光度等传感器的节点布放在重点保护对象当中,无须拉线钻孔,便可有效地对建筑物进行长期的监测。

3

朱野:基于无线传感网络的温度监控系统

我国近几年也加快了无线传感器网络研究步伐,中科院上海微系统研究所、沈阳自动化所、中科院计算所、软件所、电子所和合肥智能所等科研机构,哈尔滨工业大学、清华大学、北京邮电大学、浙江大学、国防科技大学和中国科技大学等院校在国内较早地展开了无线传感器网络的研究。中科院上海微系统研究所凭借其在微系统和微机电系统技术方面良好的基础,从1998年开始就对无线传感器网络进行了跟踪和研究,并且已经通过系统集成的方式完成了一些终端节点和基站的研发,他们的很多工作都是与CDMA和GPS技术相关,从某种程度上说己经超越了无线传感器网络技术的范畴㈣。中科院计算所(宁波)成立了专门的项目组,开发了自己的系列节点,配套协议栈以及网络管理软件,以提供一个实验和研究平台。中科院电子所和沈阳自动化所也分别从传感器技术和控制技术角度入手开展工作,他们专注于传感和控制执行部分,对上层的通信技术和核心微处理器部分涉及较少。浙江大学现代控制工程研究所成立了“无线传感器网络控制实验室\,联合相关单位专门从事面向无线传感器网络的分布自治系统关键技术及协调控制理论方面的研究。2007年无线传感器网络控制实验室设计了一个多跳无线轮询网络,应用于敦煌微气象环境检测,主要负责对莫高窟内温度、湿度以及二氧化碳浓度进行检测。目前我国无线传感器网络的研究取得了二定的成就,支撑无线传感器网络的关键技术研究也取得了一定的进展,如无线通信技术、芯片集成技术的成熟和进步。但从研究问题的深度和投入的科研力量来说,国内的水平相对国外还有差距,研究内容多数还停留在理论阶段,开发出的硬件和软件系统以实验目的为主,仍然缺少对整个系统的创新性研究。无线传感器网络作为未来世界的重要技术有着广阔的应用前景,但要想让它真正融入到人们生活的每个层面,还需要我们开展更多、更全面的研究工作。 1.3课题研究的主要内容

根据毕业设计题目的要求和设计需要本次论文设计主要实现对温度的监控,本次设计的主要任务是:

1. 系统方案的论证和选择; 2. 系统硬件的设计; 3. 系统软件的设计;

4

朱野:基于无线传感网络的温度监控系统

向主机表明它已处在总线上并且准备工作。

b. ROM命令:

ROM命令通过每个器件64-bit的ROM码,使主机指定某一特定器件(如果有多个器件挂在总线上)与之进行通信。DS18B20的ROM如表3-3所示,每个ROM命令都是8 bit长。

表3-2 ROM的内存指令

指令 读ROM 符合ROM 约定代码 33H 55H 功能 读DS18B20中的编码(即64位地址) 发出此命令后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20,使之作出响应,为下一步对该DS18B20的读写作准备 搜索ROM 0F0H 用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件作好准备 跳过ROM 0CCH 忽略64位ROM地址,直接向DS18B20V 温度转换命令,适用于单个DS18B20工作 告警搜索命令 0ECH 执行后,只有温度超过庙宇值上限或下限的片子才做出响应 温度转换 44H 启动DS18B20进行温度转换,转换时间最长为500ms(典型为200ms),结果丰入内部9字节RAM中 读暂存器 写暂存器 BEH 4EH 读内部RAM中9字节的内容 发出向内部RAM的第3、4字节写上、下温度数据命令,紧该温度命令之后,传达两字节的数据 复制暂存器 重调E2PROM 读供电方式 48H 0B8H 0B4H 将RAM中第3、4字内容复制到E2PROM中 将E2PROM中内容恢复到RAM中的第3、4字节 读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外部供电时DS18B20发送“1” (4)DSl8B20芯片的工作原理

DSl8B20芯片温度测量的启动,发送指令,存取时钟等,全部在一组数据线上完成,

因为其内部结构上集成了温度电路、存储器等多功能模块。 DSl8B20芯片工作原理示意图见图3-2所示:

10

安徽工程大学机电学院毕业设计(论文)

主机初始化脉冲 DS18B20芯片响应脉冲 否 DS18B20芯片准备好 主机ROM指令 主机储存器指令 DS18B20芯片完成其他功能

图3-2 D18B20工作原理图

3.1.3单片2.4G 无线射频收发芯片nRF24L01

nRF24L01 是一款工作在2.4~2.5GHz 世界通用ISM 频段的单片无线收发器芯片无线收发器包括:频率发生器增强型SchockBurstTM 模式控制器功率放大器晶体振荡器调制器解调器功率频道选择和协议的设置可以通过SPI 接口进行设置极低的电流消耗当工作在发射模式下发射功率为-6dBm 时电流消耗为9.0mA 接收模式时为12.3mA。掉电模式和待机模式下电流消耗更低。芯片的引脚排列如图3-3所示

图3-3 nRF24L01芯片引脚图

11

朱野:基于无线传感网络的温度监控系统

1.主要特性:

GFSK调制:

硬件集成OSI链路层;

具有自动应答和自动再发射功能; 片内自动生成报头和CRC校验码; 数据传输率为l Mb/s或2Mb/s; SPI速率为0 Mb/s~10 Mb/s; 125个频道:

与其他nRF24系列射频器件相兼容; QFN20引脚4 mm×4 mm封装;

供电电压为1.9 V~3.6 V。 2.引脚功能及描述

CE:使能发射或接收;

CSN,SCK,MOSI,MISO:SPI引脚端,微处理器可通过此引脚配置nRF24L01: IRQ:中断标志位; VDD:电源输入端; VSS:电源地:

XC2,XC1:晶体振荡器引脚;

VDD_PA:为功率放大器供电,输出为1.8 V; ANT1,ANT2:天线接口; IREF:参考电流输入。 3.RF24L01有工作模式有四种: ①收发模式 ; ②配置模式 ; ③空闲模式 ; ④关机模式 ;

工作模式由PWR_UP register 、PRIM_RX register和CE决定。 3.1.4其它外围电路

1. 复位电路:在单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作。实际应用中,复位操作有两种形式:一种是上电复位,另一种是上电与按键均有效的复位。本设计采用按键复位。

2. 晶振电路:单片机的时钟信号通常有两种方式产生:一是内部时钟方式,二是外部时钟方式。

本设计采用内部时钟方式,在单片机内部有一震荡电路,只要在单片机的XTAL1和XTAL2脚外接石英晶体(简称晶振),就构成了自己震荡器并在单片机内部产生时钟脉冲信号。 如图3-4

12

安徽工程大学机电学院毕业设计(论文)

8051CON AT62BC1122PF12mhzC1022PFY2171619183115141312912345678RDWRX1REX2SETT1EAT0/VPINT1INT0P10P11P12P13P14P15P16P17图中电容器的作用是稳定频率和快速起振,电容值在5~30pF,典型值为30pF。晶振CYS的震荡频率范围在1.2~12MHz间选择,典型值为12MHz和6MHz。本设计采用12MHz晶振,电容值为22 pF。 3.2本系统的硬件电路

3.2.1电源部分

1.本系统单片机需要一组+5V电源,采用的电源电路如图3-5所示。该电路是把本人的8V直流输入进行全桥整流,成为脉动直流,经过,一级滤波后送至三端稳压集成电路lm7805稳压,再经二级滤波后即为+5V输出,图4-5的四个二极管组成了全桥整流电路,C1,C3是一级滤波电容,U1是稳压管lm7805,C4是二级滤波电容。

5V电源模块D5U1VunVoutJ13218V ACD3IN4004D4IN4004C32200ufC1104D1DIODED2DIODELm780s+5VGNDJ212CON2D6IN4004C4220ufC21042.本系统无线模块需要一+3V电源,采用电源电路如图3-6所示。该电路把先前转换得到的+5V电源经过低压差电压调节器lm1117转换为+3V电源。

U3+5VVinVoutJ3LM1117+C9C8104GND10u+C10100uC1110412CON23V供电电路3.2.2检测部分

这部分又可以分为两部分:8051单片机基本电路和温度采集电路。

13

RXDALE/PTXDP20P21P22P23P24P25P26P27P00P01P02P03P04P05P06P07PSEN1011302921222324252627283938373635343332 图3-4 晶振电路

图3-5电源电路

图3-6 3v电源电路

1234567813121514311918C1022PF(3)控制设备部分

P10P11P12P13P14P15P16P17INT1INT0P00P01P02P03P04P05P06P073938373635343332J3DS18B20(2)温度采集电路

T1EAT0/VP123VCCP20P21P22P23P24P25P26P27X1RXE2SET9RXDALE/PTXD12345678P10P11P12P13P14P15P16P17P00P01P02P03P04P05P06P0739383736353433322122232425262728图3-7 8051单片机基本电路

朱野:基于无线传感网络的温度监控系统

DS18B20采用外部电源供电方式,其工作电源由VDD引脚介入。此时I/O线不需要强上拉,不存在电源不足的问题。可以保证转换精度,同时再总线上理论可以接多个DS15B20传感器,组成的温度采集系统。其电路图如图3-8所示

(1)8051单片机要正常工作,振荡电路和复位电路是必不可少的,其基本电路如图3-7所示。

图3-8测温电路电路图

Y212mhzC1122PFS4SW-PB1312INT1INT014

1514T1ETA0/VP171631P20P21P22P23P24P25P26P272122232425262728RDWRPSEN101130291918X1RXE2SET8051CON AT62B9RXDALE/PTXD1716RDWRPSEN10113029 R48051CON AT62BC13R310k

(4)输入部分

(5)显示部分

P00P01P02P03P04P05P06P07393837363534333212345678P10P11P12P13P14P15P16P171312INT1INT01514T1EAT0/VP123456781312151431T1ETA0/VPINT1INT0P10P11P12P13P14P15P16P17P00P01P02P03P04P05P06P07393837363534333231+3vP20P21P22P23P24P25P26P2721222324252627281918RXDALE/PTXDPSENR6R5R410k10k10kX1RXE2SET91716RDWR10113029P20P21P22P23P24P25P26P27191891716RDWRX1RXE2SETRXDALE/PTXDPSEN2122232425262728图3-9 报警电路

安徽工程大学机电学院毕业设计(论文)

本设计采用发光二极管来模拟报警,此部分电路图如图3-9所示 D1图3-10按键电路

本设计在温度测量部分采用LCD1602液晶显示模块来显示温度,,P0由上拉电阻提高驱动能力,作为数据输出并作为LCD的驱动,P2口的P2.2~P2.4分别作为液晶显示模块的使能信号E,读/写选择R/W,数据/命令选择RS。具体电路如图3-11所示。

本设计采用三个按键,采用查询方式,一个用于选择切换设置报警温度和当前温度,另外两个用于设置报警温度的加和减。如图3-10所示。

15

8051CON AT62BUPSETVCCDOWMLEDR7101130298051CON AT62B2K

朱野:基于无线传感网络的温度监控系统

VCCLCD16151413121110987654321BLKBLAVLVDDGNDER/WRSD7D0LCD 显示器3938373635343332212223242526272810113029RXDALE/PTXDX1RXE2SET191891716RDWRPSEN8051CON AT62BP00P01P02P03P04P05P06P071234567813121514T1EAT0/VP31INT1INT0P10P11P12P13P14P15P16P17P20P21P22P23P24P25P26P27

图3-11 LCD1602液晶显示模块电路图

(6)无线通讯部分

3938373635343332212223242526272810113029X1RXE2SET191891716RDWRRXDALE/PTXDPSEN本设计采用nRF24L01无线射频芯片进行通讯,具体电路如图4-12所示。 P00P01P02P03P04P05P06P07C522pfR112MHZC622pfVCCC32.5ufL12.3mhIRQVDDVSSXC2XC113121514无线模块L22.3mHnRF24L01J21CON2C11.5ufnrf24L01C2L32.3mH1.5ufCECSNSCKMOSIMISOVDDVSSANT2ANT1VDD.PAVCCR2C7C8C931C44.7uf12345678T1ETA0/VPINT1INT0P10P11P12P13P14P15P16P17P20P21P22P23P24P25P26P27VCC8051CON AT62B图3-12 nrf24L01无线传输电路

VDDVSSIREFVSSDVDD 3.3 单片机串口电路设计

串口是系统与外界联系的重要途径,异步通信串行接口也称为 UART 异步接收/

发送器。RS-232-C 接口是目前最常用的一种串行通信接口标准,用于实现PC 机与终端设备之间以及PC 机与PC 机之间的数据通信。在系统设计中需要通过上位机来实现系

16

安徽工程大学机电学院毕业设计(论文)

统调试以及现场数据的采集和控制,通过上位机本身的串行口进行通信。其中有两种方法:一是USART 硬件直接实现;一是通过定时器软件实现。USART 模块包括四个部分:波特率部分,控制串行通信数据接收和发送的速度;接收部分,接收串行输入的数据;发送部分,发送串行输出的数据;接口部分,完成串并、并串转换。RS-232 标准电平采用负逻辑,规定:-3V~-15V 之间的任意电压表示逻辑“1”,+3V~+15V 之间的任意电压表示逻辑“0”。但单片机使用的是TTL 电平,即逻辑“1”:2.4V~5.0 V;逻辑“0”:0V~0.8 V。两者电平不匹配的,因此在应用时必须在单片机的串行通信接口接上电平转换芯片进行电平转换。在本设计中采用 MAX3232 芯片,该芯片是一款具有自动关闭功能的低功耗电平转换器件。当该芯片内部接收器检测不到有效信号时,会自动启动关闭功能,关闭电路板上的电源和驱动器。这种芯片非常适合本系统低功耗的要求,在不传输数据时,降低了系统能量消耗。在设计中采用了最为典型的连接方式,只用到了单片机的的TXD0(P3.5)和RXD0(P3.4)两个引脚,电平转换电路原理图如图3-13 所示。

J4DB9162738495C180.1ufC170.1ufMAX3232VIN-2RCOU2-T2DDIN1V+CL-C2+RIN1ROUT1CL+C160.1ufDIN2ROUT2VCCDOUT1GNDVCCCOMPONENT_C14C150.1uf39383736353433322122232425262728101130290.1ufX1RXE2SETT1ETA0/VPINT1INT0RXDALE/PTXDPSEN8051CON AT62BP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27 图3-13 电平转换电路原理图

151431191891716123456783.4温度控制电路设计

当监控区域温度低于设定温度是启动继电器k1开启加热器、当监控地区温度高于设定温度时启动继电器k2开启风扇散热,当温度回到设定温度内是关闭k1、k2。电路图如图3-14所示。

131217

RDWRP10P11P12P13P14P15P16P17

K1VCCD1PNPK2

朱野:基于无线传感网络的温度监控系统

图3-14温度控制电路图

VCCD2PNP18

123456781312151431191891716P10P11P12P13P14P15P16P17INT1INT0P00P01P02P03P04P05P06P073938373635343332T1ETA0/VPP20P21P22P23P24P25P26P27X1RXE2SETRXDALE/PTXDPSENRDWR2122232425262728101130298051CON AT62B 安徽工程大学机电学院毕业设计(论文)

第4章 系统软件设计

4.1按键处理程序设计

本设计设置三个独立式按键,分别为模式选择按键SET,升序按键UP,降序按键

DOWN,每按SET键后,进入调整模式,开始判断UP键和DOWN键是否按下,并进行相应的按键处理,再按下SET时为确认,返回正常模式。按键处理子程序流程图如图4-1所示:

开始 否 Set键按下 是 进入调整模式 是 Up键按下 升序处理 Down键按下 是 降序处理 Set再次按下 是 正常模式 否 结束 图4-1按键处理子程序流程图

19

朱野:基于无线传感网络的温度监控系统

4.2液晶显示程序设计

将温度传感器DS18B20测量到的温度数据转换成液晶字符,然后设定在第一行显示。将设定的报警温度数据转换成液晶字符,设定在第二行显示。 4.3温度采集程序设计

依据DS18B20的通信协议,首先应对DS18B20进行复位。由于本设计只用一片DS18B20,故跳过读取序列号,然后发送读取温度寄存器命令,延时一定时间后,分两次分别读取出温度的低位和高位,然后放到一个字节里面。温度子程序流程图如图4-2所示:

开始

初始化 跳过读序列号 读取温度寄存器 延时程序

读取最高温度 读取最低温度

结束

图4-2:DS18B20温度读取过程流程图

4.3 报警处理程序设计

当现在温度值大于设定上限值(或者小于设定下限值时)执行相应的控制命令。本

20

安徽工程大学机电学院毕业设计(论文)

设计用发光二极管发亮表示报警输出。具体程序如下: void Warming()

{if(temp_value>=maxtenp) JDQ=~JDQ; else JDQ=0; }

4.4发射端主程序设计

首先将LCD1602,DS18B20,nRF24L01初始化,进入默认的液晶显示界面。扫描按键:如果SET键按下,进入调整模式,设定报警温度。DS18B20读取温度,如果测取温度值超过报警温度,进行报警处理,如果没超过报警温度,把温度数据转换成液晶字符后送到LCD1602显示。然后把温度送入发射缓存器,nRF24L01设置为发射模式,开始发射处理。如果收到应答,置位TX_DS;如果没接受到应答,返回进行重发,设定最多重发10次。发射端主要程序流程图如图4-3

21

朱野:基于无线传感网络的温度监控系统

开始 初始化 进入默认液晶显示 SET键按下? 是 调整模式 否 是 读取温度 SET键再次按下 否 是否超过报警温是 报警处理

度 否 显示处理 温度数据送入发射器 Nrf24l01设置为发射模 应答是否接收到 否 是 置位TX-DS,IRQ 图4-3发射端主要程序流程图

22

安徽工程大学机电学院毕业设计(论文)

4.5接收端主程序设计

开始上电,nRF24L01初始化,设置为接受模式,然后读取状态寄存器。如果接受标志RX_DR=1,读取数据并把数据送到buf[2]数据区,然后把RS_DR,TX_DS,MAX_PT都置高为1,以清除中断。具体程序见附录3

23

朱野:基于无线传感网络的温度监控系统

结论与展望

本设计是基于nRf24L01的远程温度的测量和监控,广泛应用于电力工业、煤矿、粮食存储、火灾等场合。系统由8051单片机向数字式温度传感器DS18B20发送命令,读取DS18B20转换的温度数据,从而实现温度的测量。当测量温度超过设定的报警温度时发光二级管亮,然后8051把温度数据送到发射端nRf24L01的发射缓存器,nRF24L01通过无线方式把温度数据发射出去。接收端nRF24L01接受发送过来的温度数据,并由单片机读取保存,然后可以通过串口与PC通信。当温度高于设定温度就开启继电器打开风扇散热、当温度低于设定温度就会打开加热器加热使温度控制在设定的范围内。本文采用模块化的方式进行叙述,分方案设计,硬件设计,软件设计对各模块进行了详细的阐述。本次的设计可以广泛应用于工业现场、家电等智能自控系统中。

24

安徽工程大学机电学院毕业设计(论文)

致谢

本次设计是在江明老师的悉心指导下完成的。在整个的设计过程中江老师给了我很多的帮助,对于我不理解的部分和错误的部分都给予了耐心、深入的讲解,同时帮助我拓展思路使得我在设计中学到了很多的新的知识。在此我对江老师表示深深的感谢和崇高的敬意!

感谢安徽工程大学机电学院所有的老师和同学,良好的学习氛围和学习环境是我完成四年的大学学习和本次设计的前提条件,感谢四年来你们给予我的关心和帮助!

本次的毕业设计已经基本结束,再一次向所有帮助我的人表示感谢!

作者:

2012 年 6 月 12 日

25

朱野:基于无线传感网络的温度监控系统

参考文献

[1] 宋文,王兵,周应宾等.无线传感器网络技术与应用 [M].北京:电子工业出版社, 2006:2-9.

[2] 颜振亚,郑宝玉.无线传感器网络[J].计算机过程与应用,2005,12(15) :51-54. [3] Akyidiz F,Cayirci E.A survey on sensor networks [J].IEEE Communication Magazine, 2008,8(11) :151-156.

[4] Abdellah Chehri,Paul Fortier.UWB-based sensor networks for localization in mining environments [J].Ad Hoc Networks,2009,8(6):987-1000.

[5] 张兵,林建辉,伍川辉等.基于ZigBee 技术无线传输网络的设计与实现[J].仪表 技术与传感器,2009,32(2):49-52.

[6] 史永斌,叶湘滨,刘培亮.无线传感器网络技术研究进展[J].国外电子测量技术, 2005,24(11):19-23.

[7] Goldsmith AJ,Wicker SB.Design challenges for energy-constrained Ad Hoc Wireless networks [J].IEEE Wireless Communications,2002,9(4):8-27.

[8] 李晓维.无线传感器网络技术[M].北京:北京理工大学出版社,2007 :129-147. [9] 李栋.基于无线传感器网络的温室监测系统的设计与研究[D].江苏:江南大学, 2008.

[10] 喻晓莉,杨健,倪彦等.温湿度传感器的选用及发展趋势[J].自动化技术与应用, 2009,28(2):107-110. [11] 肖凌云.基于无线通信的家居集中控制系统的设计[D].武汉:武汉理工大学,2007. [12] Audun Andersen.Antenna Selection Guide[EB/OL].

http://focus.ti.com/lit/an/swra161/swra161.pdf,2008-10-16.

[13] 马祖长、孙怡宁、梅涛 无线传感器网路综述[J].通信学报,2004,25(004):114-124 [14]ZigBeeAlliance.ZigBeeSpecificationv1.0,ComputerNetworks(EIsevier)[J].jo

urnal2004,Dec1438(3):393-396.

[15]王为青 邱文勋 编著 51单片机应用开发案例精选 人民邮电出版社 2007:145-158,103-112.

[16] 李广弟等.单片机基础. 北京航空航天大学出版社.2007:18-38 [17] 哈尔滨讯通科技 nRF24L01数据手册,编号:080306-nRF24L01. [18] 郑阿奇.单片机应用实践教程.电子工业出版社.

26

附录A基于无线传感网络的温度监控系统设计发射模块电路

5V电源模块U1VunVoutJ1321LCD16151413121110987654321D0LCD 显示器BLKBLAVLVDDGNDER/WRSD7CON2D3IN40042200uf220ufD4IN4004C3C1104D6IN4004C4C21048V ACLm780s12+5VGNDD1DIODEVCCJ2D2DIODED5R410kDOWNJ3DS18B20R5VCC10kUP123R6VCC+3v10kSETD1R72KU3+5VJ3LM1117+C9C8104CON210uVCC100uGNDC11104+C1012VinVoutLED安徽工程大学机电学院毕业设计(论文)

3938373635343332212223242526272810113029RXDALE/PTXD3V供电电路C522pfR112MHZC622pfX1RXESE2TT1EA/VPT0INT1INT0VCCC32.5ufL12.3mhC44.7ufRDWRP10P11P12P13P14P15P16P17PSEN8051CON AT62BP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27 123456781312无线模块IRQVDDVSSXC2XC1917161514311918R10L22.3mHRES2nRF24L01J21CON2C11.5ufC2L32.3mH1.5uf2KRES2C13R3+5vnrf24L01Y2S?12MHZSW-PBC1022PFVCCVCCVCCC1122PFR2C7C8C9K1K2D2D1PNPPNP27

CECSNSCKMOSIMISOVDDVSSANT2ANT1VDD.PAVDDVSSIREFVSSDVDD附录B 基于无线传感网络的温度监控系统接收模块的硬件原理

D?5V电源模块VinVoutJ1321LCD16151413121110987654321D0LCD 显示器3938373635343332D1DIODEVCCJ2Lm780s12CON2D3IN40042200uf220ufD4IN4004C3C1104D6IN4004C4C2104BLKBLAVLVDDGNDER/WRSD7+5VGNDD2DIODE162738495C170.1ufC160.1uf8V ACMAX3232VCCCOMPONENT_朱野:基于无线传感网络的温度监控系统

+5VJ3Lm1117s+C9C8104CON210u100uGNDC11104+C1012VinVoutC140.1ufC152122232425262728P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P273V供电电路C522pfR1Y1C622pf图

X1RTXESE2T1EA/VPT0INT1INT0L12.3mh无线模块IRQVDDVSSXC2XC19171613121514311918C32.5ufC44.7uf12345678R?L22.3mHRES2nRF24L01J21CON2C11.5ufnrf24L01C2L32.3mH1.5ufCECSNSCKMOSIMISOVDDVSSANT2ANT1VDD.PA2KRES2VDDVSSIREFVSSDVDDC13R3+5vY2S?CRYSTALSW-PBC1022PFC1122PFVCCR2C7C8C9

28

VCCRDWRP10P11P12P13P14P15P16P17RXDALE/PTXDPSENVCC101130290.1uf8051CON AT62B J4DB9C180.1ufVI-N2RCO2-UT2DV+CL-C2+CL+DIN2ROUT2RIN1ROUT1VCCDOUT1GNDDIN1安徽工程大学机电学院毕业设计(论文)

附录C 系统软件程序

//*************************发 射 端 程 序*************************** #include #include

typedef unsigned char uchar; typedef unsigned char uint;

//****************************************IO端口定义*************/ sbit MISO =P1^3; sbit MOSI =P1^1; sbit SCK =P1^4; sbit CE =P1^5; sbit CSN =P1^0; sbit IRQ =P1^2; sbit LcdRs = P2^3; sbit LcdRw = P2^2; sbit LcdEn = P2^1;

sbit ACC0 = ACC^0; sbit ACC7 = ACC^7;

sbit Set = P2^5; //模式切换键 sbit Up = P2^6; //加法按钮 sbit Down = P2^7; //减法按钮

sbit DQ = P2^0; //温度传送数据IO口

sbit JDQ= P2^4; //发光二极管模拟继电器输出 char done,count,temp,flag,up_flag,down_flag; int temp_value; //温度值 int temp_value; //报警温度 uchar TempBuffer[5];

/***********1602液晶显示部分子程序****************/

//Port Definitions***************************************

sfr DBPort = 0x80; //P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口 /内部等待函数*********************************************** unsigned char LCD_Wait(void) {

LcdRs=0;

LcdRw=1; _nop_();

LcdEn=1; _nop_(); LcdEn=0;

return DBPort; }

//向LCD写入命令或数据**************************** #define LCD_COMMAND 0 // Command #define LCD_DATA 1 // Data

29

朱野:基于无线传感网络的温度监控系统

#define LCD_CLEAR_SCREEN 0x01 // 清屏

#define LCD_HOMING 0x02 // 光标返回原点 void LCD_Write(bit style, unsigned char input) {

LcdEn=0;

LcdRs=style;

LcdRw=0; _nop_();

DBPort=input; _nop_();//注意顺序 LcdEn=1; _nop_();//注意顺序 LcdEn=0; _nop_(); LCD_Wait(); }

/设置显示模式*************************************************/ #define LCD_SHOW 0x04 //显示开 #define LCD_HIDE 0x00 //显示关 #define LCD_CURSOR 0x02 //显示光标

#define LCD_NO_CURSOR 0x00 //无光标 #define LCD_FLASH 0x01 //光标闪动 #define LCD_NO_FLASH 0x00 //光标不闪动 void LCD_SetDisplay(unsigned char DisplayMode) {

LCD_Write(LCD_COMMAND, 0x08|DisplayMode); }

/设置输入模式************************************************************/ #define LCD_AC_UP 0x02

#define LCD_AC_DOWN 0x00 // default #define LCD_MOVE 0x01 // 画面可平移 #define LCD_NO_MOVE 0x00 //default void LCD_SetInput(unsigned char InputMode) {

LCD_Write(LCD_COMMAND, 0x04|InputMode); }

/初始化LCD**************************************************************/ void LCD_Initial() {

LcdEn=0;

LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵 LCD_Write(LCD_COMMAND,0x38);

LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示, 无光标 LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏

LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增, 画面不动 }

//液晶字符输入的位置**************************************************/

30

安徽工程大学机电学院毕业设计(论文)

void GotoXY(unsigned char x, unsigned char y) {

if(y==0)

LCD_Write(LCD_COMMAND,0x80|x); if(y==1)

LCD_Write(LCD_COMMAND,0x80|(x-0x40)); }

/***********************将字符输出到液晶显示****************************/ void Print(unsigned char *str) {

while(*str!='\\0') {

LCD_Write(LCD_DATA,*str); str++; } }

void show_value() //液晶显示程序 {

ReadTemp(); //开启温度采集程序

temp_to_str(); //温度数据转换成液晶字符 GotoXY(12,1); //液晶字符显示位置 Print(TempBuffer); //显示测量温度

GotoXY(12,0); //液晶字符显示位置 Print(maxtemp); //显示报警温度 Delay1ms(400); //扫描延时 }

void Warming()

{if(temp_value>=maxtenp) JDQ=~JDQ; else JDQ=0; }

#include #include

typedef unsigned char uchar; typedef unsigned char uint;

//****************************************IO端口*************************************** sbit MISO =P1^3; sbit MOSI =P1^1; sbit SCK =P1^4; sbit CE =P1^5; sbit CSN =P1^0; sbit IRQ =P1^2;

31

定义朱野:基于无线传感网络的温度监控系统

sbit LcdRs = P2^3; sbit LcdRw = P2^2; sbit LcdEn = P2^1;

sbit ACC0 = ACC^0; sbit ACC7 = ACC^7;

sbit Set = P2^5; //模式切换键 sbit Up = P2^6; //加法按钮 sbit Down = P2^7; //减法按钮

sbit DQ = P2^0; //温度传送数据IO口

sbit JDQ= P2^4; //发光二极管模拟继电器输出 char done,count,temp,flag,up_flag,down_flag; int temp_value; //温度值 int temp_value; //报警温度 uchar TempBuffer[5];

/***********1602液晶显示部分子程序****************/

//Port Definitions***************************************

sfr DBPort = 0x80; //P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口 /内部等待函数*********************************************** unsigned char LCD_Wait(void) {

LcdRs=0;

LcdRw=1; _nop_();

LcdEn=1; _nop_(); LcdEn=0;

return DBPort; }

//向LCD写入命令或数据**************************** #define LCD_COMMAND 0 // Command #define LCD_DATA 1 // Data #define LCD_CLEAR_SCREEN 0x01 // 清屏

#define LCD_HOMING 0x02 // 光标返回原点 void LCD_Write(bit style, unsigned char input) {

LcdEn=0;

LcdRs=style;

LcdRw=0; _nop_();

DBPort=input; _nop_();//注意顺序 LcdEn=1; _nop_();//注意顺序 LcdEn=0; _nop_(); LCD_Wait(); }

/设置显示模式*************************************************/ #define LCD_SHOW 0x04 //显示开

32

安徽工程大学机电学院毕业设计(论文)

#define LCD_HIDE 0x00 //显示关 #define LCD_CURSOR 0x02 //显示光标

#define LCD_NO_CURSOR 0x00 //无光标 #define LCD_FLASH 0x01 //光标闪动 #define LCD_NO_FLASH 0x00 //光标不闪动 void LCD_SetDisplay(unsigned char DisplayMode) {

LCD_Write(LCD_COMMAND, 0x08|DisplayMode); }

//设置输入模式************************************************************ #define LCD_AC_UP 0x02

#define LCD_AC_DOWN 0x00 // default #define LCD_MOVE 0x01 // 画面可平移 #define LCD_NO_MOVE 0x00 //default void LCD_SetInput(unsigned char InputMode) {

LCD_Write(LCD_COMMAND, 0x04|InputMode); }

//初始化LCD************************************************************ void LCD_Initial() {

LcdEn=0;

LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵 LCD_Write(LCD_COMMAND,0x38);

LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示, 无光标 LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏

LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增, 画面不动 }

//液晶字符输入的位置************************ void GotoXY(unsigned char x, unsigned char y) {

if(y==0)

LCD_Write(LCD_COMMAND,0x80|x); if(y==1)

LCD_Write(LCD_COMMAND,0x80|(x-0x40)); }

//将字符输出到液晶显示

void Print(unsigned char *str) {

while(*str!='\\0') {

LCD_Write(LCD_DATA,*str); str++;

33

朱野:基于无线传感网络的温度监控系统

} }

void show_value() //液晶显示程序 {

ReadTemp(); //开启温度采集程序

temp_to_str(); //温度数据转换成液晶字符 GotoXY(12,1); //液晶字符显示位置 Print(TempBuffer); //显示测量温度

GotoXY(12,0); //液晶字符显示位置 Print(maxtemp); //显示报警温度 Delay1ms(400); //扫描延时 }

void Warming()

{if(temp_value>=maxtenp) JDQ=~JDQ; else JDQ=0; }

/***********ds18b20子程序*************************/ /***********ds18b20延迟子函数(晶振12MHz )*******/ void delay_18B20(unsigned int i) {

while(i--); }

/**********ds18b20初始化函数**********************/ void Init_DS18B20(void) {

unsigned char x=0;

DQ = 1; //DQ复位 delay_18B20(8); //稍做延时

DQ = 0; //单片机将DQ拉低

delay_18B20(80); //精确延时 大于 480us DQ = 1; //拉高总线 delay_18B20(14);

x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay_18B20(20); }

/***********ds18b20读一个字节**************/ unsigned char ReadOneChar(void) {

uchar i=0;

uchar dat = 0; for (i=8;i>0;i--) {

34

本文来源:https://www.bwwdw.com/article/l5hg.html

Top