基于无线传感器网络的灌溉系统设计论文.doc_第1页
基于无线传感器网络的灌溉系统设计论文.doc_第2页
基于无线传感器网络的灌溉系统设计论文.doc_第3页
基于无线传感器网络的灌溉系统设计论文.doc_第4页
基于无线传感器网络的灌溉系统设计论文.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于dsp的全向运动控制系统软件设计南 阳 理 工 学 院本科生毕业设计(论文)学 院: 电子与电气工程学院 专 业: 电子信息工程 学 生: 张 波 指导教师: 薛 晓 完成日期 2015 年 5 月南阳理工学院本科生毕业设计(论文)基于无线传感器网络的灌溉系统设计wireless sensor networks based irrigation system design 总 计 : 28 页公 式 : 1 个插 图 : 20 幅表 格: 5 个南 阳 理 工 学 院 本 科 毕 业 设 计(论文)基于无线传感器网络的灌溉系统设计wireless sensor networks based irrigation system design学 院: 电子与电气工程学院 专 业: 电子信息工程 学 生 姓 名: 张 波 学 号: 1109635051 指 导 教 师(职称): 薛 晓(讲师) 评 阅 教 师: 完 成 日 期: 南阳理工学院nanyang institute of technology基于无线传感器网络的灌溉系统设计基于无线传感器网络的灌溉系统设计电子信息工程专业 张波 摘 要 本文基于无线传感器zigbee模块,搭建出传输通信网络。以python语言为软件开发语言,设计用户客户端。以stc89c52rc为中央处理器来控制灌溉器的运作。在对系统构架分析和构思的基础上,实现无线传感器网络的灌溉系统设计。通过zigbee模块与客户端的连接和zigbee模块与中央处理器的连接组成了从用户控制到灌溉器运作的一套流程,这样就完成了无线传感器网络灌溉系统的软硬件设计。然后通过串口调试助手和编译器自带调试器调试各个模块的通信和控制。最后通过各个模块的连接、实验验证和结果分析准确的实现了无线传感器灌溉器系统的基本要求。 关键词 网状传输模型;传输通道;串行通信;处理器wireless sensor networks based irrigation system designelectronic and information engineering zhang bo abstract:based on zigbee wireless sensor module, to build a transport communication network. in python language software development language, design of the user client. in stc89c52rc central processor to control the operation of irrigation. in the analysis of the system architecture and concepts on the basis of irrigation system design of wireless sensor networks. connection and zigbee zigbee module with the central processor module with the client through the formation of the control from the user to the irrigation device functioning set of processes, thus completing the hardware and software design of wireless sensor networks of irrigation systems. then comes debugger to debug communication and control of each module through the serial debugging assistant and compiler. finally, the connection of each module, experimental verification and accurate implementation of the results of the analysis of the basic requirements of the wireless sensor system of irrigation. key words: mesh transmission model; transmission channel; serial communication; processor基于无线传感器网络的灌溉系统设计目 录1 引言.11.1 关于无线传感器网络灌溉系统的总体构思.11.2 无线网络传输的国内外现状.21.3 本课题研究的意义及其发展方向.31.4 论文整体结构安排.42 无线网络灌溉系统的实现方案.42.1 系统方案的选择.42.2 控制端设计方案.22.2.1 开发语言选择.22.2.2 操作系统选择.22.3 通信端设计方案.42.4 处理端设计方案.62.4.1 51单片机与stm32单片机的对比.62.5 灌溉器端设计方案.83 系统模块设计和功能实现.83.1 控制端设计与实现.83.2 发送端和接收端模块选择与具体实现.93.3 处理端芯片选择与实现.113.4 灌溉器设计与实现.133.5 系统供电模块设计.144 系统调试与分析.154.1 系统控制端调试.154.2 通信端调试.164.3 处理器控制灌溉器调试.16结束语.18参考文献.19附录(图纸、程序清单).20致谢.251、 引言 目前,无线网络随着社会的发展不断的进入人们的视野里。蓝牙,wlan,pan等无线传输方式已经家喻户晓。同时人们也认识到,无线网络带给人们生活,工作中的种种便利。以前,一方和另一方通信都需要牵一根线,俗称“牵线”,以至于现在地下埋着各种错综复杂的连线线路,并且在使用寿命和维护方面都很难工作。于是人们开始需求一种方法,能够最小化的利用线路来传输大量的信息,而不再使用那么多的材料。随之,光纤就问世了。光纤的问世使得通信在传输方面取得了显著性的进步。一根光纤,把网络、电话线等可用信息流全部包含在了其中。不仅在材料方面用量较少,使用寿命显著提高,最值得一提的是它的传输信息的速度可达到每秒可传输100亿个数码信号,其传输速度之快可想而知。随着社会的进步,城市的开发,高楼地下室、地下停车场、地铁等地下运营场所的不断兴起,在地下埋光纤的方式越来越受到大量的限制。并且虽然光纤传输的速度较快,但是其每增一个基点,就要增加一个支路,而若是其中一个基点不能正常工作,将会导致其后的线路也无法工作,对生产和生活造成了大量的不便。于是网络结构的传输方式被提出来。因为网状的传输方式一个基点至少有三条传输线路,甚至更多,因为其中一个基点出现问题,不会影响整体的信息传输,它可以跳过坏掉的节点,寻找能正常工作的节点进行传输。这样用户就不会因为其中的一个基点的损坏而被影响,同时给维修人员争取了更多的时间。 图1 网状结构传输模型图1.1 关于无线传感器网络灌溉系统的总体构思 无线灌溉系统是基于无线传感器网络的一种人性化系统设计。它在搭建无线网络的基础上实现了控制端可移动、节点可移动、终端可移动的多重移动效果。在人性化设计方面,传输的距离不会太远,可达到1600米左右。在控制方面实现可移动控制。在使用方面,其网络节点的优越性使得传输线路不仅仅只有一条。传输信号控制发送信号系统框图如下:处理端灌溉器通信端控制端图2 无线传感器网络灌溉系统设计框图 由系统框图可知,系统的设计由四个部分组成,首先是控制端用来接收用户发送的指令,通信端用来将用户的指令传输到处理器,处理端是处理器接收到指令后通过解析发送控制信号,去控制灌溉器的运作。整个系统下来,从用户发送指令到灌溉器去运行灌溉,只需要这四个模块就可以完成,但这四个部分是相互联系的,共同去完成了灌溉系统的设计。1.2 无线网络传输的国内外发展现状 由于传感器网络的巨大应用价值,它已经引起了世界许多国家的军事部分、工业界和学术界的极大关注。美国技术评论认为,有十种新兴技术在不远的将来会产生巨大影响,其中第一项就是无线传感器网络。强调战标情报的感知能力,信息的综合能力和信息的利用能力,设立了一系列的军事传感器网络研究项目。并且美国海军最近还开展了网状传感器系统cec的研究。无线传感器网络是由无处不在的、具有通信与计算能力的微小传感器节点,以多条无线通信方式构成的自组织分布式网络系统,其目的是实时监测、感知和采集网络分布域内各种监测对象的信息,并对这些信息进行处理,然后传送给需要信息的用户。无线通信与组网是无线传感器网络的主要功能,其核心内容是通信协议,通信协议使传感器节点相互之间能够传送数据,形成一个网络整体,从而完成各种复杂的任务,是无线传感器网络工作的基础。 到目前为止,中国计算机学会青年计算机科技论坛于2014年在北京召开了中国第一次关于无线网络的专题报告会,讨论了无线传感器网络技术及其在中国的发展问题。在工业现场,由于生产环境恶劣,工作人员不能长时间停留在现场观察设备是否运行正常,此时便需要利用无线传输的方式进行数据采集。目前国内对无线网络模型利用的方面也非常多。比如在通信方面,手机通信、广播通信等都是通过在各地建立信号塔的方式作为信号传输的基站,来中转继送传送的信号。在国内外利用的卫星定位,同样也是将在对地球采集的信号先发送到外太空的卫星上,再由人们通过提取想要的卫星信号,来观看需要的信息。并且国内的许多研究机构都已经开始对无线网络进行了跟踪研究。毋庸置疑,跟踪国外传感器网络技术的发展,并做出开创性的研究工作,对我们国家国防现代化以及实验流体力学的发展也具有重要的意义。1.3 本课题研究的意义及其发展方向 本课题基于无线传感器网络通过搭建无线网络,从移动设备中发送相关命令到终端设备中,从而控制终端的外围设备运作。由此课题可知,其设计过程中最重要的就是利用软件编程方式去制作应用软件。目前社会上软件编程的软件语言很多,其中python语言是一种新兴软件脚本语言,具有很大的发展前途。图3 python语言与其他软件语言对比 无线网络的搭建使得信号在传输过程中能够更加自主、方便的选择传输道路,其利用节点的路由属性,可以使其在距离上的限制大大的减少,更从使用和维修方便更加方便和人性化。我们知道网状的传输模式使得信号传输不受线路的制约,如若其中一条线路受到破坏,则还会有其他的线路可供传输选择。这样用户就不会因为某个节点的损坏而耽误正常的生活、生产。这种无线网络系统在中短距离传输过程中极其可靠,利用无线 传感器搭建起来的网络,使不用的用户在不同的区域都可得到应用。其终端的可移动特性使得用户解除了固定位置的限定,哪个地方需要信息,就可以直接把传感器放到那个地方便于接收和发送。在生产方面,无线传感器不像其它无线设备那样,其具有很好的稳定性、可维护性、可操作性。在价格方面,也是比较低廉的,对大多数使用者都是可以很好的承担和使用的。 目前这种无线传感器网络在工业控制的一些场所里使用比较频繁,但其中的价值肯定不单单于此。随着网络时代的迅速兴起,网络的传输也慢慢成为主流。在许多大楼中随处可见许多网线的拉扯,若利用组成这种无线网络的传输,则利用一台主路由器,几台分路由器就可以把网络覆盖整座大楼。另外,随着无线充电的兴起,利用无线网络的搭建,组成无线供电系统网络,这样家家户户只需安装一个接收供电的无线模块,则一家的供电问题就可以解决了,不必再扯拉许多类型的电线进行远距离供电了。无线网络的利用肯定定不仅仅于此,相信在未来,无线网络传输将以它的灵活性、高速度的传输效率发挥更大的作用。1.4 论文整体结构安排 论文阐述了基于无线传感器网络的灌溉器系统设计。从整体流程设计到各个模块进行实现,论文介绍了系统的设计思想,从系统整体设计,到元器件选择,再到各个模块的实现,最后调试整体效果。本论文可以分为四个部分如下表:章节内容第一部分引言:介绍无线网络系统以其国内外现状和发展意义第二部分系统方案设计:系统的实现方案选择及其元器件的选择第三部分具体模块设计:系统中各个模块的设计与实现第四部分调试:系统的调试、分析与总结表1 论文整体组织结构图2、 无线网络灌溉系统的实现方案2.1 系统方案的选择 无线传感器网络灌溉系统是通过外部操作者发送控制指令,然后将指令通过网络传送到灌溉器实行灌溉。因此其设计方案为:方案一:利用外部机械按键发送信号,通过处理器接收并处理然后经由无线传感器组成的特定频率的电磁波网络发送到控制端,控制端处理器通过解调调制过的信号再去控制抽水喷头的运作。方案二:利用客户端软件发送信号,信号由节点组成的无线网络传输到控制端,控制端接收信号并控制灌溉器的运作。 综合比较,方案一需要利用外部的机械按键进行发送信号,其稳定性较差。并且按键信号需要处理器来进行接收再经处理器发送到无线网络端,最后到达控制端。对处理器的资源利用率不高造成浪费。但其制作简单易行,可以完成系统设计的基本要求。对于方案二,利用客户端软件发送的信号,确保了信号的稳定性,其节点的传输方式,使得传输更有针对性。而它则需要不同的地方增加节点。根据比较,系统选择第二套方案实行。2.2 控制端设计方案 系统中控制端是用于用户输入控制指令信号,并将信号保存交由发送端。其作用用于识别用户的控制指令,并转换为有效信号作为传输。系统利用客户端软件完成对用户信号的采集。同时,软件开发要考虑对操作系统的,不同的操作系统对应不同的应用人群。软件的运行对系统的要求也不同。因此对操作系统的选择将影响整个灌溉系统运行的稳定性。2.2.1 开发语言选择 目前对于软件的开发语言有很多,其中被广泛使用的包括:java语言、c+语言、c#语言、visual basic语言、python语言等。图4 开发语言使用比例图u java语言:java语言是一种面向对象、跨平台、泛型编程的软件开发语言。其引进的虚拟机原理可以使得java语言运行于不同的开发平台。并对程序提供了安全管理器,方式非法病毒的访问。其分布式的结构使得应用起来就像操作电脑文件一样容易。java语言的分类清晰,可以在分部环境中维护程序及其分类。u c+:c+语言是一种支持多泛型的通用编程语言,是使用最为广泛的程序设计语言。它的面向对象程序设计、过程化程序设计、泛型程序设计以及基于原则设计等多种设计风格使得在程序设计领域独占一方。出于对语言简洁性和运行高效性方面的考虑,c+的很多特性都需要以库或者其他形式来进行提供,而并不是直接添加到语言本身里去。u python语言:python语言语法清晰而简洁,其中它的连接作用可以很轻松的把用其它语言制作的模块像胶水一样连接到一起。python语言在设计上秉承了清晰化一的风格,其设计宗旨是对于一个固定的问题,只要寻求一种最好的解决方式就可以了。更是在脚本语言的实现方面,达到了用法简洁、使用高效的效果。u visual basic语言:basic语言是高阶程序式的一种语言,是一种为初学者设计的程序设计语言。它在编写完成后不需要经由编译和链接等过程操作就可以直接进行运行,但若想单独运行时仍需要创建成工程文件。而在和操作系统方面,它的语言能够配合电脑的操作功能得以充分发挥,使得它收到广大程序员们的喜爱。u c#语言:c#语言是一种稳定的、优雅的、安全的、简单的、由c语言和c+语言衍生出来的计算机编程语言。并一起强大的操作能力、创新的语法特性、强大的操作能力和便捷的面向组件编程能力成为ecma与iso标准规范。它还为自己增加了源代码版本定义等新特性,使得其在开发领域赢得了一席之地。2.2.2 操作系统选择 对于软件的开发,操作系统的选择也是一个必不可少的问题,目前软件的运行的操作系统大多是linux或者红帽等软件开发系统。然后现在用户大多都使用的则是微软的windows操作系统,因此对于操作系统的选择,更需要满足用户的需求。操作系统系统简介或配置要求linux免费试用,自由传播的类unix操作系统、多种运行平台、嵌入式系统windows xp配置:cpu 233mhz、内存 64mb、硬盘 1.5gb、显卡 4mb显卡windows 7画面更加美观,搜索和使用信息更加简单,系统更加安全不易遭受攻击windows 8使用统一的可扩展固件界面,支持arm架构的系统,支持nfc近距离通信表2 操作系统简介 系统利用操作系统来运行控制端的软件,对于操作系统的选择有以下几方面需要考虑:1 :对于电脑本身配置的选择,不同的电脑配置适应不同的层次操作系统。2 :对设计要求的高低,选择出适当类型的操作系统3 :考虑用户对操作系统的熟练使用度,选择使用率较高的系统面向用户。2.3 通信端设计方案 系统的通信端是想把控制端的用户输入的信号,通过通信端给发送出去,由此可知,通信端包括两部分,发送端和接收端。发送端负责发送控制端用户输入的信号,而接收端则接收发送端发送出来的信号。因此,通信端的两个部分就因为是一对相互通信的设备。而现在目前市场上负责通信的模块也很多,比如蓝牙模块,nrf无线模块,无线wlan以及zigbee无线模块等。1. 蓝牙模块简介 无线蓝牙串口模块hc05是一种主从一体的模式,无线蓝牙串口分为两个模块,一个是蓝牙适配器,插在电脑上的。另外一个是蓝牙模块,插在处理器上的。在用法上,蓝牙适配器适用于所有蓝牙设备和电脑进行通信,符合blutoothv2.0+edr的蓝牙标准,理论上可传输距离达到100米,属于短距离通信,并且最多允许7个蓝牙串口设备同时连接,支持win7、win8等通用pc机操作系统。 其模块引出四个引脚分别是vcc、gnd、txd、rxd,并且从模块的接口可以直接与各种单片机处理器相连接,在使用时,配对之后当作全双工串口使用,根根本不需要了解任何的蓝牙协议。用法明确,操作简单,对于刚接触无线通信的技术员是个很好的模块选择。图5 无线蓝牙串口模块2. nrf无线模块 目前nrf无线网络在很多领域得到了应用,并在中短距离传输领域占据了一方之地。在当前使用频率上,属nrf2401和nrf905最高。其传输特点属于多频点传输,最多支持125个频点,满足多点通信和调频通信的需要。而nrf2401模块更是采用了稳定过的ch340t芯片作为usb转串口,内置的看门狗防司机程序,完全胜任环境恶劣的工业控制现场的稳定运行。 其nrf2401无线模块支持at明了对系统进行相关配置,更是支持server2003、vista、win7-win8/32-64位各种操作系统。其与蓝牙相比,可以使传输距离更远,远远操作蓝牙串口10米左右的传输距离。图6 nrf无线传感器模块3. 无线wlan模块 无线wlan串口模块是一种基于esp8266串口的的wifi无线传输模块,其传输距离属于wifi远距离传输类型模块,由于其具有强于其他无线传输模块的穿墙能力,使得其在无线传输中备受关注。无线wlan传输模块的优势在于价格便宜、体积较小、功能强。大,其内部跑的是lwlp协议,方便嵌入到其它产品中。其运行模式有三种:ap、sta、ap+sta三种模式,并且三种模式可以共同存在。无线wlan模块使用完善简洁高效的at指令,让使用者更加方便、快捷。图7 无线wlan传输模块及其pcb图4. zigbee无线传感器模块 zigbee技术是一种低功耗、短距离、低成本的双向无线通信网络技术。zigbee联盟开发了一种安全层,用来保证这种便携式设备不会意外的泄露其信息,并且,这种利用网络的远距离传输更是不会被其他节点所获取。每一个zigbee系统网络只有仅有一个zigbee的协调器,它的作用是最开始选择网络通信的标识,并开始这个网络。然后zigbee路由开始允许其它设备加入到这个网络中进行查找、建立、修复网络,并负责转发辛哈指令。最后zigbee的终端节点是出于网络的最边缘,主要任务是发送或者接收信息,并且它是不能转发信息的。通常在我们用这个模块的时候它是待机状态,不用的时候一般都会进行相应的休眠,以确保节能环保。图8 zigbee无线网络模块2.4 处理端设计方案 系统的处理端主要负责接收用户传送过来的指令,并根据解析的指令去控制灌溉器进行灌溉。根据处理端需要完成的任务要求,系统需要在这里设置一个中央处理器来完成对信号的接收和外部设备的控制。目前中央处理器的种类更是成千上万,考虑到对芯片使用熟练度的问题,因此选择使用课堂上老师讲过的或者使用比较熟练的较为合适。这里列出51单片机和stm32单片机的对比。2.4.1 51单片机与stm32单片机的对比单片微型计算机成为单片机,是一种大规模集成电路芯片,是cpu、ram、rom、i/o接口和中断系统于同一硅片的器件。随着单片机迅速的发展,出现了许多高性能新型机种,已逐渐成为工厂自动化和各控制领域的支柱产业。下面介绍两款常用的单片机-51单片机和stm32单片机。单片机类型简介及优缺点51单片机使用经典的mcs-51内核,拥有灵巧的8位cpu和在系统可编程flash,片上集成512字节ram,用户应用程序空间可达到64k字节。优点:功能齐全、抗干扰能力强、兼容性较好、网上的资料较多,编译环境较为简洁,对于初学者容易接受和使用。价格低廉。缺点:功能实现单一、需要增加多种外设、处理器速度较慢。stm32单片机使用arm架构内核,32位的core-m3处理器。最高工作频率可达72mhz,存储器达到128k字节的闪存和20k字节的sram,外设齐全。优点:功能高效且齐全,拥有多种外设,处理器处理数据速度较高。缺点:指令集过多,需要使用官方库函数。功能寄存器较多,不适合初学者学习。价格较贵。容易大材小用。表3 51单片机与stm32单片机简介2.5 灌溉器端设计方案 灌溉器端是处理器控制的外部设备,主要实现灌溉的目的。 图9 灌溉器及其喷头正如上图所示,目前灌溉器的种类繁多,并且在大小公园、草地随处可见各种灌溉器。社会上的灌溉器大多都是利用机械原理进行园地的灌溉。而作为系统而言,则更倾向于利于控制的灌溉器件。l 机械灌溉器:安装简单,易于控制人员操作。但只能机械转向,纯自动控制,不能人为控制其转向。l 抽水喷水机:实质是一个喷水电机,利用电机的运转进行抽水喷水,价格便宜,利于控制,且可人为控制其灌溉。3、 系统模块设计和功能实现3.1 控制端设计与实现 系统设计中,在控制端需要接收用户的控制指令,利用客户端软件来完成控制端的要求。根据上述各种开发语言的比较,这里系统选择python语言编写一个脚本软件,因为它的操作简单,控制容易,解决问题的方法比较明确,用起来较为方便,能够满足对系统控制端的需求。它主要用来打开串口,并监测键盘的按键,同时对有效按键进行信息采集并发送。由于windows8的用户量较大,且其具有兼容性好,稳定性高的优点,因此系统选择windows8作为客户端软件设计的操作系统。3.1.1 软件开发流程设计开始 idle(python gui)是python程序开发的基本集成开发环境,继承了ide的功能。具有语法加亮、基本文本编辑、段落缩进、调试程序等基本功能。其强大的功能使得它非常实用,没有其内存地址和变量内容,都可以进行同步和其他的分析。下面是系统设计的软件流程图:失败打开串口成功监控按键信息否有效信息是串口发送出去结束图10 串口发送软件流程图3.1.2 驱动的编写 根据软件流程图可知首先需要一个串口,这个串口是发送模块与pc机相连接的串口,这个软件需要打开它,在python中可以调用serial模块,利用serial模块中的serial()函数进行串口的打开。其串口传输必须设置相同的波特率,这里我们人为规定所有数据传输都用9600mpbs来进行传输,数据位为8位,没有校验位,停止位是1位。然后我们得知道其状态,就必须有一个状态显示框去显示其是否打开成功,最后就是开始监测用书键盘的输入,但是对于键盘的输入并不是所有的都是有效信号,因此在这里应该做一下过滤,把有效的信号保存,并通过write()函数发送出去。下面是软件的界面:图11 控制端操作界面 由控制界面可知,在这里,用户可以输入需要打开的com,这个com串口必须是和发送端模块相连接的串口,不然就算打开也不会发送出去。输入完串口号点击open com就可以打开串口了,如果打开成功,后面的状态栏就会显示com串口打开成功,若是想关掉就直接点击close com就可以了,同样状态指示栏会显示当前串口打开情况。若是状态指示栏显示串口打开成功,则用户就可以按下键盘相应的信号进行控制灌溉机了。下图是几个按键含义:键盘按键状态显示操作含义wgo up打开喷水机喷头sgo down关闭喷水机喷头ago left向左旋转喷头dgo right向右旋转喷头escexit退出表4 键盘按键操作释义 由操作释义可知,当用户按下键盘“w”键时,灌溉器的喷头开关就会打开,灌溉就会开始,然后“a”、“d”键用来控制舵机的运转控制喷头向左,向右转。当灌溉进行完毕后就可以按下“s”键就可以关闭灌溉器喷头了。若是想关闭控制界面就按下键盘上的“esc”关闭控制界面就可以了。3.2 发送端和接收端模块选择与具体实现 根据系统方案的对于,zigbee模块的通信速率低、协议简单、成本低廉、工作频段灵活、zigbee协议免专利费、安全性高等优点让系统的设计更加实用、完美。因此无线网络灌溉系统选用zigbee模块作为系统的传输端模块。图12 zigbee最小系统板原理图系统设计中,zigbee模块相当于一个串口线,用于不用处理器之间的互相通信。由zigbee工作原理可知,每个zigbee网络都拥有一个协调器作为整个网络的核心,协调器负责创建和维护整个网络,为每个加入该网络的设备分配一个网络地址。其它节点的加入需要设置相同的波特率,相同的频道和允许其它节点加入。对于其它加入模块则设置成传感器节点属性,但也需要相同的频道和波特率。通过配置节点的网络搭建,其它分节点模块再加入,这样就组成了zigbee网络的搭建和组网。 利用组成的zigbee网络,用户的指令就可以通过此网络进行信号的传输,把信号从控制端通过网络节点传输到处理端进行处理,最终实现无线网络的灌溉系统。3.3 处理端芯片选择与功能实现 根据系统方案的对比研究,处理端主要负责对用户信号的的接收,并进行信号解析然后去控制外围设备也就是灌溉器的运作。通过51单片机和stm32单片机的选择比较,系统用只是利用处理端进行串口数据的处理和灌溉器的控制,因此系统选择8位处理器就可以完成任务的51单片机,其功能也较齐全,价格也便宜,使用起来比较熟悉。利用stc89c52rc当作中央处理器,其作用是把接收的信号进行解析,然后通过输入/输出端口发送出去控制外围的一些设备。3.3.1 单片机软硬件设计 stc89c52rc单片机最小系统如下图所示,当晶振频率x1为4mhz的时候,电容c2和c3应为100pf;晶振频率x1位6mhz时,电容c2和c3应为47pf-100pf;晶振频率x1为12m-25mhz的时候,电容c2和c3因为47pf。并且阻容复位时,电容c1为10pf,电阻r1为10k。reset管脚内部已经有4k-100k的下拉电阻。图13 单片机最小系统板实物图 uvision4 ide是一款集编辑,编译和项目管理于一身的基于窗口的软件开发环境。uvision4集成了c语言编译器,宏编译,链接/定位,以及hex文件产生器。其单片机软件流程图如下:开始串口接收信息否有效信息是转向舵机喷水电机图14 单片机控制软件流程图3.3.2 单片机驱动开发程序设计 由软件流程图可知,利用接收端接收到控制端发送的信号后,当然中央处理器也必须利用相同的波特率进行数据的接收。利用中央处理器的串口收发功能接收用户输入的信号,再根据收到的信号进行解析,根据上述规定把相应的信号进行处理并去控制外围设备。这里处理器利用定时器1产生波特率,其波特率计算公式为:其可以得到定时器的初始值,因为我们用的波特率为9600b/s所以得到定时器1的初始值为0xfd。利用串口中断函数实现接收控制端发出的信号,通过解析其信号,按照预先规定的指令功能实现其外围设备的功能。 在程序中,处理器利用定时器0来对外部舵机进行pwm波输出控制,产生以20ms为周期的方波。则对定时器0进行重装预定值,通过一个io口输出此周期的波形,然后再控制其高电平的时间在0-2.5ms就可以控制其转向。这里我们设定了三个方向如下表所示:度数占空比(ms)舵机方位90度1.5ms正中间45度1ms向右转135度2ms向左转表5 控制器控制舵机转向表处理器对于灌溉电机的控制则是当收到打开指令后便通过输入/输出口发出高电平指令去控制继电器的吸合,而后通过继电器的吸合再去驱动灌溉电机的运作。3.4 灌溉器端设计与实现 灌溉器端就是进行喷水灌溉,经过系统的方案比较,由于机械喷头的可操控性太差,只能不确定方位的喷水,因此系统选用喷水头电机作为灌溉器的主要实现产品。而利用喷水头电机只是单纯的进行喷水,想要控制其方向的画,系统需要添加舵机进行喷水头的方向控制。因此灌溉器主要包括用继电器控制的直流喷水电机和用pwm波控制的舵机。系统利用中央处理器的输入/输出口进行控制继电器模块,而单片机io口的输出电流极不稳定,并且其驱动能力也较差,因此这里我们对继电器模块进行保护。对于单片机的驱动能力,我们对继电器模块进行单独供电,而留出一个控制口,用来接收中央处理器的控制信号,在三端口,我们把公共端进行接到外部大电流正极端,这里我们利用7.8v的电池进行驱动灌溉电机,而常开端接到电机的正极端,常闭端则不接任何东西,灌溉电机的负极就接到7.8v电池的负极,当继电器吸合的时候,电机的正极电流通过常开端流向喷水器,这样就可以进行喷水灌溉了。 而控制舵机的部分,则就不需要这么麻烦了。由于舵机的三条线电源线、地线、信号线。而舵机需要周期为20ms的pwm,这里系统利用中央处理器中的定时器产生pwm波,将信号从单片机的io口输出来,传送到舵机的信号端,这样就可以控制舵机了。而单片机的驱动能力本来就很弱,并且由于电信号的干扰,使得单片机产生的pwm波信号及其不稳定,然而在控制的时候需要控制好其电源的供给就可以了。舵机就可以直接接在单片机的io口进行控制。因此系统将将喷头的管子用胶水粘在舵机的方向转盘上,这样就达到了实现控制其方向的目的。3.5 系统的供电模块设计 系统的供电是贯穿着整个系统是否能正常工作的关键。在控制端,发送器需要利用usb串口线进行工作,而其独立的模块则需要一个3.3v的电压单独供电,因此在这里选择了一个ttl电平转串口的模块进行供电和连接,因为这样既可以供出3.3v的电压,而且还与pc机端的地线是同一个地。具体如下:端口号功能gnd地线端rxd读端口txd写端口3v33.3v供电端口5v5v供电端口图15 控制端供电模块及其连接管脚在实现端,制作了一个单独的供电模块,用来供出不同的电压和不同模块之间的供地。其供电效果可以供出3.3v、5v和gnd不同的电压来,而供电模块的供电接口又包括,串口线、usb口、圆形电源口三个接口,可以满足不同的要求。图16 供电模块原理图4、系统调试与分析4.1 系统控制端调试 在系统设计中,控制端决定了系统设计是否能正常向下进行。因此控制端的调试尤为重要。控制端调试界面如下:图17 pc机调试界面4.2 通信端调试 在通信端,系统用两块zigbee模块进行收发通信,当在调试的时候先利用串口调试助手把两块zigbee模块调通之后在加入单片机的中央处理器中去。实物连接图为:图18 实物连接图下面是利用zigbee模块把两台电脑连接起来,一端用控制界面发送字符,另一端用串口调试助手接收并显示字符。如下图所示:图19 串口调试助手接收到的数据信息4.3处理器控制灌溉器调试 处理器用的是stc公司的stc89c52rc芯片,因此编译环境是利用keil公司的keil4软件进行编写和软件调试。当控制器能够成功发送信号到处理器端,则处理器首先就是对信号进行解析,然后通过解析出来的指令去控制灌溉器的运作。其调节实物图如下:图20 控制灌溉器实物图4.4总结与分析 系统设计了基于无线传感器的灌溉系统设计。完成了本次设计的基本功能,下面是本次设计中主要完成的内容:1) 首先对系统设计做了整体的构思,按照其基本要求一块一块的添加模块,最终达到系统设计的整体要求。2) 添加控制端软件app。利用python语言编写一个小型脚本语言用来打开串口与发送数据。3) 调节通信端模块。将zigbee模块调节相通,实现网络传输模型。4) 通过编写程序使用单片机去解析信号并发送相应指令控制电机、舵机。5) 搭建供电模块电路,画出原理图,焊出实物板。6) 制作电机驱动模块及其控制电路。利用继电器模块去控制大电流类型的电机,用来实现灌溉的目的。 由于对先有模块知识的了解有限,本次系统设计还存在许多不足之处,以及一些遗留问题如下:a. 利用python语言搭建的脚本语言过于简单,界面很是粗糙。b. 利用zigbee模块搭建无线网络,但只是实现了点对点的通信,并没有完全发挥zigbee强大的组网功能,没有实现出网络传输的优点。c. 对于处理器,只是利用处理器进行了串口接收信号,然后去控制外围设备,没有做到把模块具体化。可以利用ad采集芯片控制不同电压的输入和输出。d. 对于灌溉器部分,只是实现了将喷水电机进行喷水,没有实现其喷水的大小、方向任意化及其自动化控制。e. 对于电源模块,供电模块就是有3种,却利用了多处电源供电,连线复杂,浪费资源,对系统的整体设计产生了影响。28结束语: 本设计实现了无线传感器网络的基本要求,在这段进行毕业设计的时间中,对所学的知识进行了整体的复习以及实现。本次设计通过软件设计和硬件设计共同完成,让我加深了对以往学过知识的理解,并通过软硬件结合的方式,让我感受到其功能的强大。增强了实际的操作能力、动手能力,在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论