




已阅读5页,还剩69页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
*大学大学 信息科学与技术学院毕业论文信息科学与技术学院毕业论文 课题名称课题名称:水塔远程供水自动控制水塔远程供水自动控制 学生姓名学生姓名: 学学 号:号: 学学 院:院:信息科学与技术学院信息科学与技术学院 专业年级专业年级:电子信息工程电子信息工程 20102010 级级 指导教师指导教师: 摘要 -1- 职职 称称: 完成日期:完成日期:二二一四年六月四日一四年六月四日 摘要 I 水塔远程供水自动控制水塔远程供水自动控制 学生: 指导教师: 摘摘 要要 在信息化迅速发展的今天,我国许多地区水塔供水系统的硬件设施和软 件技术落后,在水井距离用水点较远的场合,通常需要水塔来供应生产、生活用水, 然而,人工启动水泵的上水效率低,而且难以把握水位,而国内一般的解决方案是 用电台在水塔和泵房之间通信,但电台信号容易受到高压线、变电站等强电磁信号 的干扰,如何方便、快捷的实现管理者与水塔之间的自动控制,是目前所需要解决 的关键问题。本课设计实现了一个基于 SMS 短消息的单片机控制系统,采用模块化 设计方法,编写了水位检测、短信远程控制、继电器水泵控制三个模块,利用水位 检测系统自动控制水塔内的液面高度,最终以短消息的形式发送给管理者,从而实 现水塔的远程自动控制。 关键词关键词 SMS 短消息,水位检测,继电器,自动控制 Abstract II RemoteRemote supplysupply automaticautomatic controlcontrol ofof thethe waterwater towertower Students:fubo Teacher: zhanggengxin Abstract:Abstract: With the rapid development of science and technology, in zip code, statistics, reports, financial statements, Bank bills dealing with a large number of characters, such as information recorded occasions, handwritten digit recognition system of requirement has become stronger and stronger, how easily and quickly the number entered in the computer has become a key issue relates to the popularization of computer technology. This article design implementation has a based on Matlab software of handwriting body digital recognition system, used module of design method, write has camera entered, and directly read pictures, and write Board entered three a module, using camera, tools, will to text form exists of handwriting body digital entered into computer, completed on handwriting body digital pictures of collection, and design has a handwriting digital recognition method, on handwriting body digital image for pretreatment, and structure features extraction, and classification recognition, eventually to text form output digital, to implementation handwriting body digital of recognition. KeyKey words:words: Pretreatment, structure feature extraction, classification and recognition, handwritten digit recognition. 目录 III 目目 录录 第一章 引言 - 1 - 1.1 课题背景 .- 1 - 1.2 课题研究目的及意义 .- 2 - 1.2.1 水塔供水远程自动控制的研究目的.- 2 - 1.2.2 水塔供水远程自动控制的研究意义.- 2 - 1.3 课题研究现状及发展趋势 .- 2 - 1.4 课题整体结构 .- 3 - 1.5 课题难点分析 .- 4 - 第二章 开发运行环境 - 5 - 2.1 系统开发环境和运行环境- 5 - 2.2 开发工具介绍- 5 - 2.2.1 硬件部分介绍.- 5 - 2.2.2 软件部分介绍.- 6 - 第三章 水塔供水远程自动控制系统构成及原理 - 8 - 3.1 自动控制基础知识 .- 8 - 3.2 水塔供水远程自动控制系统构成- 8 - 3.3 水塔供水远程自动控制系统原理- 9 - 3.3.1 水位检测- 9 - 3.3.2 单片机控制- 10 - 3.3.3 短息模块- 11 - 第四章 水塔供水远程自动控制系统设计分析 - 12 - 4.1 主板电路图 .- 12 - 4.2 系统仿真与设计 .- 12 - 目录 IV 4.3 水塔供水远程自动控制程序设计 .- 13 - 4.3.1 水塔控制模块的设计- 13 - 4.3.2 SMS 短信模块的设计- 17 - 第五章 系统功能评价及实验结果分析 - 23 - 5.1 识别系统性能的评价 .- 23 - 5.2 实验结果分析 .- 23 - 第六章 结论 - 24 - 6.1 毕业设计总结 .- 24 - 6.2 课题前景与展望 .- 24 - 致 谢 .- 26 - 参考文献 - 27 - 附 录 - 28 - 附 1、SMS 部分主程序- 28 - 附 2、SMS 短息配置程序- 34 - 附 3、GMS 水塔控制程序 .- 34 - 第一章 引言 - 1 - 第一章 引言 1.1 课题背景 1948 年,N维纳的控制论一书,标志着自动化的理论基础控制论 正式诞生1。同年,CE香农发表了通讯的数字原理,标志着信息论的诞 生2。连同 1946 年诞生的第一台计算机,它们标志着自动化技术进入了网络化与 智能化的阶段,计算机技术的飞速发展大大推动了计算机控制系统的应用。同时, 这些科技成果也标志着人类社会继农业革命和工业革命之后又一个伟大的变革 信息革命的开始。 自动控制在世界上已经有数百年的历史,而且被人们广泛的应用,然而,在 当今社会里,如何将自动控制与人们更复杂的需求结合在一起,已成为影响人机 效率的一个重要瓶颈,也关系到自动控制能否真正的走进千家万户和得到广大人 民群众的普及应用。 水塔远程自动控制是自动控制与远程通信技术(TheThe automaticautomatic controlcontrol andand RemoteRemote communicationcommunication)的结合,它研究的对象是:如何利用手机短信远 程遥控水塔的工作状态。 在整个控制领域中,最为困难的就是将自动控制与远程通信相结合。从目前 来看,尽管人们在自动控制、远程通信的研究中已取得很多成就,但是在二者相 结合的实际应用中并不多见,覆盖也不够全面。而在远程自动控制这个方向上, 经过多年研究,研究工作者已经开始把它向各种实际应用推广,为水塔远程自动 控制技术提供了一种解决方案。 1954 年工程控制论出版,标志着工程控制学科的正式诞生3。工程控制 包括各种工程领域,从被控制对象的性质来划分,可分为过程自动化和电气自动 化两大类,但这种约定俗成的称呼并不贴切。过程自动化的特征是被控对象中所 加工的材料主要是液体、气体和粉体等流体,或许称为流体处理过程控制或自动 化更合适。电气自动化的特征是被控对象所处理的是元件、部件的加工和装配, 或许叫做元部件处理过程控制或自动化更贴切。 大学学士学位论文 - 2 - 1.2 课题研究目的及意义 1.2.1 水塔供水远程自动控制的研究目的 当前,我国许多地水塔供水系统的硬件设施和软件技术落后,在水井距离用 水点较远的场合,需要水塔来供应生产、生活用水,人工启动水泵上水效率低, 而且难以把握水位,而国内一般的解决方案是用电台在水塔和泵房之间通信,但 电台信号容易受到高压线、变电站等强电磁信号的干扰。 课题通过对于水塔供水远程自动控制系统的研究,介绍了一种利用自动控制 技术及 SMS 远程通信相结合的仿真模型,利用我们所掌握的电子信息工程的专业 知识来实现,进而完成水塔供水远程自动控制系统的设计。 1.2.2 水塔供水远程自动控制的研究意义 水是人类不可缺少的资源,供水服务和人们生活息息相关。城市人们的生活 用水和饮用水都来自各供水系统,供水系统的供水质量和人们健康密切相关。 新型供水系统的研究和实施及其自动化,在提高供水质量和供水服务,改善人们 生活水平,方便用水用户和节省供水系统人力资源等方面有重大的意义。本课题 能够提高对 SMS 远程通信的理解与认识,锻炼分析问题,解决问题的能力;获得 独立策划、实施课题,并按照既定计划进行开发的经验,以及查找相关文献的能 力。每个仿真模型建立的过程,就是一次对专业知识的巩固、完善与提高。同时 可以在仿真平台上展现的创造性、想象力。 1.3 课题研究现状及发展趋势 在日常生产和生活中常遇到水位的检测问题。从 20 世纪 80 年代开始 ,一些 发达国家就借助于微电子、计算机、光纤、超声波等高科技使水位自动计量呈现 出集功能、精度和现场于一体的新水平。 近年来,随着工业的发展,计算机、微电子、传感器等高新技术的应用和研 究,水位仪表的研制得到了长足的发展,以适应越来越高的应用要求。目前,水 位测量技术已经广泛的运用在工业部门和日常检测部门中。例如:水位测量技术 在石油、化工、气象等部门的应用。在测量条件和环境来说,有的测量系统被运 用在十分复杂的条件与环境中。例如:有的是高温高压,有的是低温或真空,有 的需要防腐蚀、防辐射,有的从安装上提出苛刻的限制,有的从维护上提出严格 第一章 引言 - 3 - 的要求等。这些都大大的提高了对测量技术的要求。所以能实现测量的无接触与 智能化是水位测量计现在的主要发展方向。 在现代工业生产中,常常需要测量容器中水位的水位。在一般的生产过程中, 水位测量的目的主要是通过水位测量来确定容器里的原料、半成品或产品的数量, 以保证生产过程各环节物料平衡以及为进行经济核算提供可靠的依据;另外还为 了在连续生产的情况下,通过水位测量,了解水位是否在规定的范围内,从而维 持正常生产、保证产品的产量和质量以及保证安全生产。水位的测量在工业生产 过程中的作用已经相当重要4。 在目前市场上,按测量水位的感应元件与被测水位是否接触,水位仪表可以 分为接触型和非接触型两大类5。接触型水位测量主要有:人工检尺法、浮子测 量装置、伺服式水位计、电容式水位计以及磁致伸缩水位计等。它们的共同点是 测量的感应元件与被测水位接触,即都存在着与被测水位相接触的测量部件且多 数带有可动部件。因此存在一定的磨损且容易被水位沾污或粘住,尤其是杆式结 构装置,还需有较大的安装空间,不方便安装和检修。 非接触型水位测量主要有微波雷达水位计6、射线水位计以及激光水位计等。 顾名思义,这类测量仪表的共同特点是测量的感应元件与被测水位不接触。因此 测量部件不受被测介质影响,也不影响被测介质,因而其适用范围较为广泛,可 用于接触型测量仪表不能满足的特殊场合7 8,如粘度高、腐蚀性强、污染性强、 易结晶的介质。 1.4 课题整体结构 我们的思路是利用ISIS 7 professional仿真软件建立一个模拟水塔供水远程自 动控制系统,利用水位检测、短息传输、自动控制三个模块,通过水位检测收到 的信号,作为自动控制的条件,经由短信传输模块发送到移动终端,最后通过移 动终端发回来的信息与原来设定的密令一致时,自动控制器将给出相应的反馈, 控制电磁继电器的开启与关闭,继电器则会单独接入一个外接水泵以及高压电源 的外电路,使水塔实现上水功能。如图:1-1 大学学士学位论文 - 4 - 水位检测 判断液面高度采集信息 短信传输至移动终端 经信息回发控制系统 判断操作指令 继电器开启或关闭 图1-1 识别的基本思路框架图 1.5 课题难点分析 水位检测有很多种,早期大多采用机械原理,但近年来随着电子技术的应用, 逐步向机电一体化发展,并且发展了许多新的测量原理。在传统原理中也渗透了 电子技术及微机技术,结构有了很大的改善、功能有了很大的提高。根据水位测 量所涉及的水位存储容器、被测介质以及工艺过程的不同,水位计类型的选用也 不同。在进行水位测量前,必须充分了解水位测量的工艺特点,成本造价,以此 作为水位计设计过程中的参考因素9。另外,通过 AT 指令实现人机之间的良好 交互功能也是难点之一,短消息服务 SMS(Short Message Service) 10是 GSM 系 统中提供的一种短消息实体之间通过短消息服务中心进行的信息收发的方式。短 消息服务中心(SMSC:Short Message Service Center)是独立于 GSM 网络的一个 业务处理系统,主要功能是提交、存储、转发短消息,并完成与 PSTN(Public Switched Telephone Network:公用电话交换网)、Internet 等网络的互通11, 以实现来自其他 SME(Short MessageEntity),如人工台/自动台、资讯平台等的 短消息的传递需求。因此,研究全面自动化的水塔远程自动控制的系统是一个相 当有挑战性的任务。 外接电源水泵进行上水 第二章 开发运行环境 - 5 - 第二章 开发运行环境 2.1 系统开发环境和运行环境 硬件环境: 单片机焊接电路一个。 移动终端一台。 软件环境: Windows 7操作系统。 C语言编译环境。 2.2 开发工具介绍 2.2.1 硬件部分介绍 本课题中,我们所用到的硬件有 AT89S52 芯片,AT89S52 是一种低功耗、高 性能 CMOS8 位微控制器,具有 8K 在系统可编程 AT89S52 引脚图 DIP 封装 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品 指令和引脚完 全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于 常规 编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统 可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM, 32 位 I/O 口线,看门狗定 时器,2 个数据指针,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构, 全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻 辑操 作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定 时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM 内容被保存,振荡 器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止12。 无线模块采用的是华为 GTM900-B,标准 SIM 卡接口(1.8 或 3V)两路模拟 音频接口电源接口 GSC 射频天线连接器 50 GSC 射频天线连接器 语 音业务 支持 FR、EFR、HR 和 AMR 的语音编码支持免提通话,提供回声抑制功能 短消息业务 支持 MO 和 MT 点对点和小区广播短消息模式支持 TEXT 和 PDU GPRS 数据业务 GPRS CLASS 10 编码方式 CS 1,CS 2,CS 3,CS 4 最高速率可达 85.6Kbit/s 支持 PBCCH 内嵌 TCP/IP 协议:支持多链接,提供 ACK 应答,提供 大学学士学位论文 - 6 - 大容量缓存 电路型数据业务 支持 CSD 数据业务,最高速率可达 14.4Kbit/s 支 持传真:Group3 ,Class2.0 支持 USSD 补充业务 来电显示、呼叫转移、呼叫保 持、呼叫等待、三方通话等 集群功能 组呼,广播,私密呼叫等 STK 功能 通过 增强的 AT 命令支持 STK 功能 ROHS 环保 符合 ROSH 环保认证要求。 晶振 CRYSTAL、运算放大器 TLC393、及一些电容电阻滑动变阻器等组成。 2.2.2 软件部分介绍 本课题中,我们所用到的软件是 C 语言,C 语言是一种结构化语言。它层次 清晰,便于按模块化方式组织程序,易于调试和维护。C 语言的表现能力和处理 能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。 它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于 C 语言实现 了对硬件的编程操作,因此 C 语言集高级语言和低级语言的功能于一体。既可用 于系统软件的开发,也适合于应用软件的开发13。 C 语言被称作第三代计算机语言,最大的特点就是效率高,可移植性强其具 体特点如下: (1)运算符丰富 C 语言的运算符包含的范围很广泛,共有 34 种运算符。C 语言把括号、赋值、 强制类型转换等都作为运算符处理。从而使 C 语言的运算类型极其丰富,表达式 类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。 (2)数据类型丰富 C 语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体 类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概 念,使程序效率更高。另外 C 语言具有强大的图形功能,支持多种显示器和驱动 器。且计算功能、逻辑判断功能强大。 (3)C 是结构式语言 结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要 的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以 及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多 种循环、条件语句控制程序流向,从而使程序完全结构化。 (4)语法限制不太严格,程序设计自由度大 虽然 C 语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大 的自由度。 第二章 开发运行环境 - 7 - (5)允许直接访问物理地址,对硬件进行操作 由于 C 语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具 有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字 节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。 (6)生成目标代码质量高,程序执行效率高 一般只比汇编程序生成的目标代码效率低 10 20%。 (7)适用范围大,可移植性好 C 语言有一个突出的优点就是适合于多种操作系统,如 DOS、UNIX、windows 98windows NT;也适用于多种机型。C 语言具有强大的绘 图能力,可移植性好,并具备很强的数据处理能力,因此适于编写系统软件,三 维,二维图形和动画,它也是数值计算的高级语言。 本课题避开了硬件设备的不足,巧妙的运用软件来仿真硬件才能实现的实验 结果,大大降低了实验设备要求,节约了人力和财力,避免了用硬件做实验的局 限性。 第三章 水塔供水远程自动控制系统构成及原理 - 8 - 水位检测 系统 AT89S52 单片机 (判断水位高低, 决定是否向短信 模块发送指令) GTM900-B 短信模块 继电器 (接收指令后开启) 第三章 水塔供水远程自动控制系统构成及原理 3.1 自动控制基础知识 自动控制(automatic control)是指在没有人直接参与的情况下,利用外加 的设备或装置,使机器、设备或生产过程的某个工作状态或参数自动地按照预定 的规律运行。自动控制是相对人工控制概念而言的。自动控制技术的研究有利于 将人类从复杂、危险、繁琐的劳动环境中解放出来并大大提高控制效率。自动控 制是工程科学的一个分支。它涉及利用反馈原理的对动态系统的自动影响,以使 得输出值接近我们想要的值。从方法的角度看,它以数学的系统理论为基础。我 们今天称作自动控制的是二十世纪中叶产生的控制论的一个分支14。基础的结论 是由诺伯特维纳,鲁道夫卡尔曼提出的。 为了实现各种复杂的控制任务,首先要将被控制对象和控制装置按照一定的 方式连接起来,组成一个有机的总体,这就是自动控制系统。在自动控制系统中, 被控对象的输出量即被控量是要求严格加以控制的物理量,它可以要求保持为某 一恒定值,例如温度,压力或飞行航迹等;而控制装置则是对被控对象施加控制 作用的机构的总体,它可以采用不同的原理和方式对被控对象进行控制,但最基 本的一种是基于反馈控制原理的反馈控制系统。 3.2 水塔供水远程自动控制系统构成 图 3-1 水塔供水远程自动控制系统结构图 其中三个模块的输入部分以及部分输出部分的设计将会在下一章中提到。 大学学士学位论文 - 9 - 3.3 水塔供水远程自动控制系统原理 水塔水位控制系统是我国住宅小区广泛应用的供水系统,水塔供水的主要问 题是塔内水位应该始终保持在一定范围内,避免“空塔” 、 “溢塔”现象发生。传 统的控制方式存在控制精度低、能耗大的缺点,而自动控制原理,基于 SMS 的远 程通信功能,实现继电器的远程开关控制,保持水位恒定以满足用水要求,从而 提高了供水系统的质最。而智能控制系统的成本低,安装方便,灵敏性好,是节 约水源,方便家庭和单位控制水塔水位的理想装置。 该系统是由移动终端控制水塔自动上水的系统,它主要是由主控板,短信模 块,水位检测,继电器等部分组成。 3.3.1 水位检测 为了研究水塔内水位的高低,从而实现对单片机的控制,首先要获得水塔内 水位的信息,这时就会涉及到一个水位检测的问题,对水位进行阶段性统计,可 获取水塔内水位的大致状况信息。 在本系统中,我们设计的这个水位检测系统,通过多方面的考虑,采用三线 控制阀的方法,这样可以避免掉使用数模转换器。使设计更简便。也是设计过程 中可能出现的错误也越少。 原理很简单,如图 3-2: 图 3-2 三线控制阀水位检测 对于我们的水塔系统来说,这样的设计已经够用了,我们将水位划分了3个 档位,如图中所示,分别为A,B,C,当A入水,B没有入水的时候,就说明水位已 第三章 水塔供水远程自动控制系统构成及原理 - 10 - 经很低了,这时就需要加水了,他会传递一个电信号给单片机,通知单片机进行 上水指令。当B入水,C,没有入水的时候,这是说明水位是正常的,不用做任何 指令,我们设计要求的正常指令也是在A与C之间,但是当水位超过C的时候,这 时一般是水泵已经开启,正在上水的时候会有这种情况,超过C就说明水位高了, 因为水位不可能无限的增高,水塔的容量毕竟是有限的,所以这时就会提醒单片 机给上水系统一个停止的指令,这样水位检测系统就已经实现了。如图 3-3 图 3-3 三线阀实物水位检测 3.3.2 单片机控制 单片机控制就利用单片机中的 AT89S52 芯片的可编程的特点,对一些固定功 能点进行编写和控制,本课程设计中我对单片机要求实现的功能是对信号的读取、 对信息模块的控制,以及接收信息模块收到的指令,例如,我要求水位检测收集 到的信号被单片机所接收,而单片机会对水位的高低做出判断,当单片机判断出 现在的水位处在低水位状态,就会对短信模块发出信号,短息模块就会对用户的 手机发送信息,当短息模块将接收到的信息在发送给单片机是,它会自动做出反 应、识别信号,若它识别到的信号是对水塔进行上水,则对继电器实行通电闭合, 当水位增长到水位检测的最高点时,单片机会接收到这一信号。对电磁继电器进 行放电断开,这样水泵就会断电,上水就会停止,同时对短信模块发送命令,短 信模块就会对用户发出信息,说明水塔供水已经停止,这样也会对用户做一个反 馈,让用户知道系统是不是有问题,这样可以做一个验证。本课程设计就是本着 这样的思想下实现的水塔供水远程自动控制系统,作为本系统的主导模块,单片 机控制是对系统具有绝对影响力的一个部分。 大学学士学位论文 - 11 - 实物如图 3-4: 图 3-4 AT89S52 微控制芯片 3.3.3 短息模块 短信模块在本系统中只是做为一个信息的传输工具,现在对于它所使用的硬 件设施已经很成熟了,本课题我们使用的硬件模块是华为的GTM900-B,对于此硬 件就不做过多介绍了,把线路连接上之后拿来使用就可以了。 实物如图 3-5: 图 3-5 GTM900-B模块 第四章 水塔供水远程自动控制系统设计分析 - 12 - 第四章 水塔供水远程自动控制系统设计分析 本次设计使用 C 语言实现该系统,其功能代码及硬件电路分别介绍如下。 4.1 主板电路图 本课题的硬件电路如下,功能主要分为三个模块,分别是水位检测模块、 自动控制模块、以及 SMS 短消息模块,另外还有个外接电路的继电器。如图 4- 1: (a) (b) 图 4-1 水塔供水远程自动控制系统的电路图 4.2 系统仿真与设计 在 protues 仿真软件界面上,界面设计的电路如下。如图 4-2: 大学学士学位论文 - 13 - 图 4-2 仿真电路图 以上电路包括了水位检测,和短息模块等。 4.3 水塔供水远程自动控制程序设计 4.3.1 水塔控制模块的设计 我们使用的 AT89C52 芯片,首先要做的就是定义管脚, sbit JQ = P20 ; /继电器脚 sbit k1=P37; bit biaozhi; /标志 uint getdate; uchar shuiwei; sbit led1=P15; /工作指示 sbit led2=P14; /短信指示 sbit shuiwei_1=P12; /低水位输入 sbit shuiwei_2=P13; /高水位输入 sbit led3=P10;/水位指示 LED sbit led4=P11;/水位指示 LED sbitIGT=P21; bit biaozhi2; uint kk; 定义完管脚之后就需要定义通信指令,就好比我说“上水”单片机就会听懂 一样,所以我们要给它定义一个标准。就是编译好的像口令一样的东西。我们与 单片机对一下口令,他就知道你的意思了。弄完这些以后我们还要给它一个账号, 在我们这个系统中也就是手机号,另外再给他一个接收账号,也就是他所发送的 手机号,这样单片机就可以执行我们想要的操作了。 uchar code zifu1=“CLOS OK !“; /定义一个口令 uchar code zifu2=“OPEN OK !“; uchar flag_biaozhi=“STCL“; /接收标志位。01 接收 BD 23 接收 SC uchar idata rbuff128;/串口接收数据缓存区 第四章 水塔供水远程自动控制系统设计分析 - 14 - uchar numbuff=; /此处修改为需要接收短信的 手机号码,注意要定义为字符串 (0) uchar rcount;/串口接收数据指针 bittc35_init_ok;/TC35 注册 成功初始化完成标志 bitreceive_ok;/收到模块“ok”标志 bit new_sms;/收到新信息标志 bit Ring;/来电标志 bit clcc;/读到来电号码标志 接下来的是程序的核心,那就是判语语句,一般程序功能的实现都会依赖判 断语句的实现,要对水位检测到的电信号进行判断,并且要给短息模块一个反馈 信息,而且当短信模块接收到手机发过来的信息时,这时也要对这个“口令”进 行判断,不能说凡是单片机收到的信息都会作为下一步的指令,如果经过验证之 后,是我们原定的指令,单片机就会执行相应的程序,相反要不是我们原定的指 令,单片机则不予理睬。 (1) 短信接收判断语句: void RECEIVE_DATA(void) interrupt 4 /接收 tC35 发送的数据并缓 存 ES=0; if(RI) rbuffrcount+=SBUF; RI=0; /判断是否接收完毕 if(rbuffrcount-1=0x0a) 大学学士学位论文 - 15 - /判断是否为新短消息指示 if(rbuffrcount-14=C) else new_sms=0; if(rbuffrcount-6=R) rcount=0; else Ring=0; if(rcount128)rcount=0; ES=1; (2)判断水位高低判断语句: while(1) led3=shuiwei_1; led4=shuiwei_2; if(shuiwei_1=1) if(shuiwei_1=0) if(shuiwei_1=0) 第四章 水塔供水远程自动控制系统设计分析 - 16 - if(biaozhi=0) led2=0; delay_ms(1000); Sendsms(“The water level is too low“); /回复消息 led2=1; (3)回复短消息判断语句: if(biaozhi2=1) biaozhi2=0; led2=0; JQ=1; delay_ms(1000); Sendsms(“Complete“);/回复消息 led2=1; if(k1=0) Delsms(1);/删除短信 /Readsms(1); /读短信 /Sendcmd(flag_biaozhi);/发送 AT 命令 if(new_sms=1)/查询新短息 大学学士学位论文 - 17 - led2=0; /读完成指示 delay_ms(1000); Readsms(1); /读短信 new_sms=0; delay_ms(1000); Delsms(1);/删除短信 delay_ms(1000); if(flag_biaozhi2=O) Sendsms(“OPEN OK“);/回复消息 JQ=0; led2=1; else Sendsms(“ERROR !“);/回复消息 /delay_ms(2000); led2=1; 4.3.2 SMS 短信模块的设计 在这个系统中短信模块起着一个功能连接或者是推动的作用,我们与单片机 的交互也是靠着短信模块来实现的,所以这是改善用户体验的一个功能性模块, 虽然短信模块有现成的硬件电路,但是使用的时候我们也要有相应的软件进行配 置和驱动,设置如下。 #ifndef _SMS_H_ #define _SMS_H_ #include #define uchar unsigned char 第四章 水塔供水远程自动控制系统设计分析 - 18 - #define uint unsigned int #define ulong unsigned long extern uchar idata rbuff; extern uchar data databuff; extern uchar rcount; extern bittc35_init_ok; extern bitreceive_ok; extern bit new_sms; bit kai=0; void Init_tc35(void);/判断是否连接 TC35 void Sendcmd(uchar *cmd);/发送 AT 命令 void Sendchar(uchar c);/发送一个字符 void Sendsms(uchar *q);/向指定的号码发送短消息 void Readsms(uchar index);/读取指定索引号的短信内容 void Delsms(uchar index);/删除指定索引号的短信内容 #endif 对手机卡的短信模块的连接,以及短息超时时的处理方法进行配置,其程序 主要部分如下。 #include “SMS.h“ #define uchar unsigned char #define uint unsigned int #define ulong unsigned long extern uchar numbuff; extern uchar flag_biaozhi; void Sendcmd(uchar *p)/发送 AT 命令 while(*p) 大学学士学位论文 - 19 - SBUF=*(p+); while(TI=0); TI=0; void Init_tc35(void)/判断是否连接 TC35 uint i=0xffff; rcount=0; receive_ok=0; Sendcmd(“ATr“); while(receive_ok=0) i-; if(i=0) /超时还未响应则返回 rcount=0; receive_ok=0; return; receive_ok=0; rcount=0; delay(4000);delay(4000); i=0xffff; void Readsms(uchar index)/读取指定索引号的短信内容 ulong i=0x1ffff;/这个值不能再小 bit es; receive_ok=0; rcount=0; Sendcmd(“AT+CMGR=“); 第四章 水塔供水远程自动控制系统设计分析 - 20 - Sendchar(index+0x30); Sendchar(0x0D); rcount=0; receive_ok=0; ES=es;/恢复中断 void Delsms(uchar index)/删除指定索引号的短信 ulong i=0x5fffff; /删除等待 5 秒,有的时候删除短信很 慢 receive_ok=0; rcount=0; Sendcmd(“AT+CMGD=“); Sendchar(index+0x30); Sendchar(0x0D); while(receive_ok=0) i- if(i=0) /超时还未响应则返回 rcount=0; receive_ok=0; return; receive_ok=0; rcount=0; void Sendsms(uchar *q)/向指定的号码发送短消息(英文消息) 大学学士学位论文 - 21 - ulong i=0x1ffff; rcount=0;/数据缓冲区指针回 0 Sendcmd(“AT+CMGS=“);/ AT+CMGS=回车(目的地址) Sendchar(“); Sendcmd(numbuff); Sendchar(“); Sendchar(0x0D); while(rbuffrcount-2!=)/等待 TC35 回应 i-; if(i=0) rcount=0; receive_ok=0; return; /超时返回 Sendcmd(q); Sendchar(0x0D); Sendchar(0x1A); /Ctrl+z 发送短信 receive_ok=0; i=0x5fffff; /发送短消息超时处理发送等待 5s 比较 安全 while(receive_ok=0) i-; if(i=0) /超时还未响应则返回 rcount=0; receive_ok=0; return; 第四章 水塔供水远程自动控制系统设计分析 - 22 - receive_ok=0; rcount=0; 最后我想说的是,以上的代码虽然可以实现水塔供水的自动控制,但是在本 课题的设计上是没有水泵出现的,而是由一个继电器结束。这种从经济上考虑, 或者是从外接电源的烦易程度上的综合考虑,最终决定省略外接电源的部分,由 此带来的效果上的不直观或者使用上的麻烦,我深表歉意。 第五章 系统性能评价及实验结果分析 - 23 - 第五章 系统功能评价及实验结果分析 5.1 识别系统性能的评价 作为一个实际应用的系统,我们要用它的实际功能来验证其性能的高低,本 课题的设计也不例外,评价指标除了水塔的水位试验以为,而且还要为用户创造 更好的用户体验进行修改和补充。 对于一个水塔供水远程自动控制系统,可以用两个方面指标表征系统的性能: 第一、单片机的短信识别率=正确识别信息数/全部信息数*100% 第二、单片机全部运行正常率=正确运行数/全部运行数*100% 在实际实验也确实是遇到过类似的情况,有的时候单片机就是不识别我们发 送的指令,并且找不到问题的原因,过了一阵之后还是原来的程序,它就一直运 行正常了,这也是我很奇怪的地方,而且有时候在运行单片机的时候它的程序走 不到最后就会卡住,而有的时候就很通畅的运行完成,这也是我很头疼的一个地 方。 5.2 实验结果分析 在实验过程中,我们以实物进行验证,发现它可以完成了所有的程序,分别 执行了相应的功能,但实验中偶尔也会出现程序卡死的情况,下图为在实验 10 次的情况下,各部分成功与失败的次数,用 1 表示成功,0 表示失败。大致成功 率在 70%左右,短信 接收验证正确率为 90%以上,短息最后 回馈手机的成功率 在50%。 图 5-1 实验结果图 实验次数正确识别信息程序运行正确信息回馈手机 1111 2111 3100 4111 5000 6111 7110 第五章 系统功能评价及实验结果分析 - 24 - 第六章 结论 6.1 毕业设计总结 经过这段时间的努力,我的毕业设计终于如期完成。在这期间,我查阅了大 量的文献,对水塔供水远程自动控制有了比较深刻的了解,并在 C 语言的环境中 实现了水塔的自动控制。结果表明对水塔的上水效率,和用户体验还是比较高的, 基本达到要求。 本论文是对本次毕业设计的总结,主要做的工作有以下几点: (1)查阅文献资料,对 C 语言进行调研,在对实现我要求功能的技术可行 性进行分析。 (2)熟悉 C 语言的编程环境,并对 C 语言进行深入的学习。 (3)确定硬件电路的初步设计方案,并在仿真软件中进行分析。 (4)焊接硬件电路。 (5)编写适合本硬件电路的 C 语言程序。 本次毕业设计还存在较多需改善和完善的工作,具体有以下两点: 因为水塔毕竟是一个相对较大的物体,因此维护起来也相对不方便,而对于 我系统的稳定性还是不能过多的保证,毕竟在试验中出现过非预期的结果,因此 还需要改善,将稳定性能提高,这样才不用经常的维护,给人们减少了许多不必 要的麻烦。 另外短信控制水位也只是一个无形的控制,你只是知道它应该工作了,但是 8110 9101 10110 大学学士学位论文 - 25 - 它真实的情况我们是看不见的,所以,在以后的发展趋势应该是一种偏于视频化 的水塔远程供水自动控制,不光可以控制水位,也可以看见水塔内的真实情况, 这样人们就能够知道什么时候水塔是正常工作的,什么时候是因为有问题而停止 工作,这也是作为用户体验的一个改进。 6.2 课题前景与展望 随着我国经济发展速度快速增长和水资源开发活动的大力开展,水资源保护 压力越来越大,对利用水资源的各个环节都有较高的要求,而目前国内供水水塔 打水环节依旧薄弱,主要可分为如下几种:(1)人工水泵打水方式,该方式打 水工作人员由于在地面无法判断水塔内水位而需上到水塔上面观察,劳动强度大, 危险性大;(2)变频打水,该方式适应场合要求高,供水网络要求稳定,否则 需在供水网变化时对设定水压进行调节,属间接控制水塔水位的方式;(3)水 位信号控制方式,该方式直接控制水塔水位,对供水网的变化不受约束,但当水 塔与泵房距离较远时,控制线路布设工作量大,投资大15。 因此本系统特别是针对这种现象给出了一个解决方案,就是用短息控制来代 替复杂的线路,这样不仅节约人力,财力,同时实现了现代化的要求,而且自动 控制上水系统,也减少了人工实施的高压危险性,在高新技术发展的今天,相信 这种控制理论一定会成为主流的方法论。 致谢 - 26 - 致 谢 毕业设计完成了,我们衷心地感谢所有在这期间指导和帮助过我们的人。 首先,我要感谢我的师哥,在选题的时候他们为我们提出了宝贵的意见。 然后,感谢所有同学、同事的支持、当我遇到不懂的问题时,他们都会鼓励 和帮助我。积极的帮助我解决问题,才使毕业设计和论文如期完成。 最后,感谢我们的导师老师。在整个毕业设计过程中,老师给予了我们悉心 的教诲与指导,有了塔他理论上与技术上的大力支持,才使我的毕业设计得以顺 利开展。从老师身上,我们也看到了力求完美、务实创新的科研态度,老师高效、 严谨的科学作风,让我们受益匪浅。相信这种精神会一直伴随着我,是让我受用 一生的精神财富。 参考文献 - 27 - 参考文献 11948 年,N维纳的控制论 21948 年,CE香农发表了通讯的数字原理 31954 年,钱学森发表了工程控制论3 4 王化祥.自动检测技术M. 北京:北京化学工业出版社,2004.1-9. 5 秦永烈.物位测量仪表M.北京:北京机械工业出版社,1978.19-26. 6A.M.Zaman,H.M.Malano,B.Davidson.Anintegratedwatertrading-allocation model,Applied to a water market in AustraliaJ.agricultural water management,2009(06). 7 Brown J, Shipman B, Vetter R. SMS: The Short Message Service. Computer J 2007, (12):106-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论