登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 机械机电类 > 测控技术与仪器 > 正文

基于单片机的小区智能供水系统设计毕业论文

 2020-04-08 12:36:28  

摘 要

本文的设计目的是利用微处理器以及网络的实时性与准确性监控水箱液位高度。处于液位传感器检测下的液位值在设定的标准值之下时,系统会开启水泵为水箱补水至设定值,并且能够将各个时段的液位值输入数据库保存。

本次设计中通过微处理器STC89C52实时采集供水箱内的液位高度,经过模数转换器ADC0804处理采集信号,将数字信号传入单片机处理后的数据通过串口传入上位机监控,并将历史记录都保存进数据库中。

本次设计的最终结果是能够通过微处理器和网络实时监控水箱液位并及时调整其水位高度,使水箱时刻处于“饱和”状态。这种系统设计体现了自动化理念,相较于机械式测量,节省了大量人力。在当下这个自动化工业时代,本文中的设计符合时代要求,应普遍推广。

关键词:液位检测 单片机 数据库

Abstract

The purpose of this paper is to monitor the height of the tank level using real-time and accuracy of the microprocessor and the network. When the level of the water tank under the level sensor detection is lower than the set standard value, the system will start the water pump to fill the water tank to the set value, and can save the liquid level value of each time period into the database.

In this design, the liquid level in the water supply tank was collected in real time by the microprocessor STC89C52, and the ADC0804 was used to process the acquired signal. The digital signal was sent to the MCU and the processed data was transmitted to the host computer via the serial port for monitoring. Records are saved into the database.

The final result of this design is to be able to monitor the tank level in real time through the microprocessor and network and adjust its water level in time to make the tank “saturated” at all times. This system design embodies the concept of automation and saves a lot of manpower compared to mechanical measurements. In the current era of automation industry, the design in this article meets the requirements of the times and should be universally promoted.

Key Word:Level Detection,MCU, Database

目 录

第1章 绪论 1

1.1 研究背景 1

1.2 研究目的意义 1

1.3 国内外现状 2

1.4 研究内容 2

第2章 方案设计与选择 3

2.1 方案设计 3

2.2 方案论证与选择 3

第3章 系统硬件设计 5

3.1 AD模数转换电路 5

3.1.1 ADC0804基本介绍 5

3.1.2 ADC0804工作时序 7

3.2 STC89C52单片机最小系统 8

3.2.1 STC89C52芯片 8

3.2.2 时钟电路 10

3.2.3 复位电路 11

3.2.4 P0口外接上拉电阻 12

3.2.5 EA/VPP引脚接高电平 12

3.3 自动控制部分电路 12

3.4 传感器选择 13

第4章 系统软件设计 14

4.1 串口通信 14

4.1.1 上位机串口程序设计 15

4.1.2 下位机串口程序设计 17

4.2 数据库设计 19

4.2.1 ACCESS数据库 19

4.2.2 连接ACCESS数据库 19

4.3 交互界面设计 21

4.4 TeeChart绘图 21

第5章 实物调试与仿真 24

第6章 精度误差分析 25

第7章 结语 26

7.1 总结 26

7.2 心得体会 26

7.3 工作展望 27

参考文献 28

附录A 29

附录B 30

附B1 下位机程序 30

附B2 上位机程序 32

致 谢 36

第1章 绪论

研究背景

在过去的供水系统中,运用最多的供水形式是利用水泵以固定的速度工作,但是供水量主要是通过人为控制水管上的水阀门来调节水量的大小。但是考虑到一天生活中不同时间段的供水需求量是不同的,例如在中午时段,各家各户会烧水炒菜;晚间时刻,会进行淋浴。在这两种情况下,水泵的电机以平时正常的速度运转会造成压力不足,导致供水量达不到要求。而在用水低峰期时,水泵的电机仍然还是以正常速度运转,实际上却不需要这么大的供水量,这就会造成电能的浪费。所以这种供水得方式对于电能,水量都有一定程度的多余消耗和浪费。在各种资源日益短缺的今日,这种设计显然并不可取。

在传统供水方式中,除了以上方法之外,还有水箱式供水和气压式供水等。

水箱供水是通过水箱进行蓄水。该方式是由压力来进行供水的,所以,需要建造一个适宜大的水箱,以满足水量的要求[1]。然而,水箱供水面临的一个问题就是水箱内的蓄水量是时刻变化的,在水量不断减少的情况下,水箱内的水压不够就会造成高层用水区出现断水的情况。

气压供水没有必要设置水箱,只需要在地面找到一处合适位置安装压力罐,通过压力罐释放的压力对水管进行加压。这种设计的优点是灵活性大,而且根据不同时刻所需的水压的不同,可以随时改变压力罐的压力大小,不会浪费资源。但是这种设计也有明显的缺点,压力罐的投资大、体积大,电量的消耗快,所需要的电能巨大,对于电能是一种浪费。

现代科学技术越来越发达,工业和生活水准也日益增长。在日常生活用水、工业用水等供水系统中,如果还采用之前的传统供水方式,无法确保供水的实时性,而且对于能源的浪费巨大。本次设计智能供水系统的目的就是解决实时性的供水问题,克服以往供水系统的缺点。

研究目的意义

此系统的主要设计目的是通过网络能够实时监控水箱液位高度。当检测的液位在设定的标准值之下时,小区供水箱应该立刻打开水泵进行补水。直到水箱水位高度高于预设的补水标准,系统将自动停止水泵工作。本次设计相较于以往的检测系统有诸多优点:实时监控、自动化等,能够使用最少的人力物力资源达到最好的效果。智能供水系统能够使小区供水箱永远处于一种“饱和”状态即供水箱不会因为工作人员的疏忽而造成缺水的情况,并且此系统能够存储数据,可以将实时检测的液位值传输到上位机保存。即使水箱出现故障导致水位无法及时达到目标要求,也可通过查看监控数据进行故障排查和适当的人为补水。

国内外现状

针对本次设计中的对于供水箱水位监测的装置设计,目前国内外采用的系统普遍为以下两种形式:

(1)机械式控制系统

机械式控制系统的结构简单、设计成本低廉,在日常生活中有较多的地方应用到了这种装置,例如马桶的储水箱,当储水箱内的水用尽之后会立即补水,在补水的过程中,水面的浮标会跟着上升从而带动其连接的机械臂运动,在水箱内的水位到达上限值时,液面的浮标也上升到了一个临界值,这时的浮臂的高度足以将阀柱塞压入浮球阀中,此时,水箱补水过程结束。

以上就是机械控制系统的工作原理,这种系统简明的工作原理也决定了其结构方面的简单性,但也暴露出许多的缺点。

机械控制系统的缺点从其结构方面来说,其故障多,误动作多,且要想用一个机械控制装置同时控制多个水箱的水位是不可能的,即不能达到操作上的最简化。另外,这种装置只能控制水位,而不能实时的检测液位在何种高度。当有突发情况时,机械式控制系统的反馈不足以解决问题。

(2)变频调速控制系统

变频调速控制系统的原理就是将压力传感器安装在出水管口,通过检测水压信号来反应水箱内的水位高度,从而确定是否为水箱补水。这套系统的工作过程大致如下:压力传感器检测到模拟信号经过滤波电路滤除噪声后,再经过AD芯片将信号转化为数字信号传送给单片机,单片机内部用模糊PID运算得到需要调节的变化量,然后此信号再经过一次数模转换后送至变频调速装置控制电机的转速,从而控制水箱水位按照要求变化[2]

研究内容

本文通过单片机处理液位传感器检测得信号(采集到模拟信号,在经过模数转换器转换之后输入到单片机内)并将其传入上位机实时显示、保存,实现一种能够实时测量供水箱水位的智能供水系统。这个系统包括了硬件电路设计;控制硬件动作的下位机程序部分;上位机的程序设计与数据库;人机交互界面的设计等。讨论了系统的合理设计方法,方案的选择,最后对目标系统进行了调试研究,得到预想的结果并进行分析。

第2章 方案设计与选择

2.1 方案设计

本次设计的核心部分是采集水箱水位的高度值,使水箱水位始终维持在一定的高度,所以在获取液位高度这一方面有几种方法,根据不同的方法可分为以下几种不同的方案:

(1)压力传感器获取水位高度

这种方案在国内外现状中也叙述到了,是通过采集水压信号来控制的系统。它通过出水管口上的压力传感器,实时采集出水管口水压来判断水箱内的液位高度。

详细的电路部分包括与压力传感器相连接的滤波电路、信号放大电路,AD模数转换器将传感器采集到的信号转换后传输给单片机,经过单片机处理后输出信号控制水泵的电机转速,从而调节水箱内的液位值。内部的程序部分包括转换后的信号在单片机内经过模糊PID运算后输出调节参量。

(2)利用液位传感器维持水位高度

液位传感器可以将水箱内的液位高度转化为电信号输出,经过微处理器运算处理后可以得到具体的液位值,然后将采集到的信号与设定的标准值比较得到控制水泵的信号,以此维持水箱内的水位高度。液位传感器的类型多样,比如压力式投入测量的传感器,光电式的红外液位传感器,非接触式的超声波液位传感器等。

(3)利用液位开关维持液位高度

液位开关与液位传感器是有区别的,它是一种通过传感器的输出信号来判断打开或关闭水阀门而使液位恒定的控制器。液位开关在使用过程中,首先是确定水箱内的水位高度,从而输出开关量信号。

2.2 方案论证与选择

以上列举出的三种方案各有其优势也有不足,分别适宜应用在不同的场合。

方案一将压力传感器安装在水箱的出水管口测量的方案有一定的不足之处,影响管内压力的变量不只是水箱内的液位高度还是管口的大小,若是测量多个水箱的液位高度,当有不同口径的出水管时,压力传感器采集到的信号还需不同的运算方法去处理,这在操作上增加了一定的难度。

方案二采用液位传感器测量,这种方案具有多样性变化,因为传感器的类型多样,在实际应用情况中可以灵活多变的处理问题,依据具体的实际情况可供选择的传感器与测量方式多。

方案三利用液位开关维持水位高度虽然此种方法简单易行,而且现阶段的液位开关技术也较为成熟,但是功能有限,液位开关只能自动的维持水箱内的水位高度,并不能将各个时段的液位值采集并传输至上位机保存,所以,其单调的功能决定了这不是最优方案。

所以本次设计中选用方案二,利用液位传感器测量水箱水位。以下是总体方案框图。

图2.1 方案设计框图

第3章 系统硬件设计

3.1 AD模数转换电路

3.1.1 ADC0804基本介绍

传感器采集到的液位值信号是模拟信号,但是微处理器芯片并不能直接识别模拟信号,所以在传感器与微处理器芯片之间需要添加一个AD转换芯片,将传感器采集到的模拟信号转化为能够输入的数字信号。

市场上的模数转换芯片种类繁多,有传统形式的并行式、逐次逼近型模数转换,也有今年来兴起的流水线型模数转换芯片,不同种类的芯片有不同的优势和适宜应用在不同实际情况的场合。AD转换电路框图如下所示。

图3.1 AD 转换电路框图

本次设计选用的AD转换芯片是ADC0804,这款模数转换芯片是8位CMOS单通道的逐次逼近型模数转换器,在其芯片内部有三态数据输出锁存器,可以将转换的结果暂时储存,转换速率快,转换时间大约在100微秒,满足差分电压输入,内置时钟发生器[3]

ADC0804是一款有20位引脚的模数转换器。它拥有两个模拟信号输入端口,分别是Vin( )、Vin(-);8位三态特性数字信号输出口DB0-DB7;两个接地端口,分别为模拟地和数字地;内部时钟发生、输入端口;片选、读、写端口,且都为低电平即状态“0”时有效,分别对应CS、WR、RD;芯片的电压输入端口Vcc;参考电压端口;模数转换结束信号端口INTR,且为低电平有效。ADC0804的引脚图如下所示。

图3.2 ADC0804引脚图

这样的设计使得模数转换器在于单片机进行数据通信的时候连线会非常简洁直观。片选、读、写端口与单片机的IO口连接,只是控制ADC0804读写功能的控制端,三态输出端口对应单片机上的IO口依次连接,这是转换后得到的数字信号输出端。传感器采集到的模拟信号通过Vin( )输入到ADC0804中,Vin(-)接地,形成差分电压输入。CLKIN与CLK引脚外接RC震荡电路,此震荡电路的作用是提供时钟信号,频率范围一般要求在100KHz至1460KHz。实际上ADC0804转换器内部具有时钟电路,并不一定要求用外部时钟电路产生的时钟信号,当转换器用到内部时钟电路时,只需要将CLKIN和CLK外接一定规格的电阻电容即可得到要求的时钟频率信号。单片机与ADC0804 的连接图如下所示。

图3.3 单片机与ADC0804连接图

3.1.2 ADC0804工作时序

时序图不仅仅是反应芯片工作原理的图表,在编写程序时,程序的语句运行必须按照时序图的顺序来,否则会发生模数转换不成功的情况,导致数据无法传输。ADC0804的启动时序图如下所示。

图3.4 ADC0804启动转换时序图

如图所示,ADC0804在未经启动时,CS端的信号是拉高的,当接收了由单片机发送的命令后将CS端变成低电平,之后单片机再发送信号使WR端置低,在经过了(WR)L时间后,WR端口处变为高电平信号,然后模数转换器被启动,并且在1至8个时钟周期时间内完成模拟信号转变为数字信号的工作。在转换过程结束之后,ADC模数转换器得到的数字信号不会直接发送给单片机,而是先将数字信号存入三态数据锁存器中,在此时,模数转换结束信号端口INTR会由高电平状态跳转到低电平状态,单片机接收到INTR的信号后,会开始读取转换完成的数字信号。以上是模数转换芯片将模拟信号转换成数字信号的时序,但是单片机读取数字信号并不是直接读取接收端口状态,读取过程也有时序状态图,如下图所示。

图3.5 ADC0804读取数据图

如图所示,当ADC0804完成了模数转换工作后会将INTR端口的信号由高电平变为低电平,为了使得单片机能够成功的从芯片中读取数据,还必须将片选信号端口CS的电平状态置为低,这样芯片才能与外部进行数据交换。然后在RD端口置低的时间后,芯片的数据输出端DB0至DB7端口的状态达到稳定。这时单片机会将数据端口处的数字信号读走进行下一步运算,而被读走数据的模数转换芯片会立即将RD端口的状态置为高电平,停止读取状态,然后将片选信号端口CS的状态也置为高电平,INTR不用人为控制,会自动变为高电平。

以上两幅时序图的说明就是ADC0804工作的完整过程,按照这两副时序图来编写程序才能使模数转换能够成功进行。在实验过程中,传感器会不断采集模拟信号并传输至模数转换芯片中,所以需要不间断的进行模数转换,但是对于片选信号CS端口,没有必要在每次进行模数转换时都将它的状态进行变化,只要在程序开始时将其值为低电平,表示此芯片可以在正常状态下工作即可。在芯片处理模数转换过程中,只需要将读、写信号端RD、WR这两个端口的状态改变就能正常完成模拟信号到数字信号的转变。

3.2 STC89C52单片机最小系统

3.2.1 STC89C52芯片

单片机因为其具有独特的优点而被应用在各种各样的场合,各种技术都因为单片机的应用开发而有进一步的提升,抛开传统控制系统包含的设计思想和设计方法,现在的控制系统最大的优点是自动化程度更高,性能也更好。

单片机主要应用于嵌入式系统,所以又被称为嵌入式微控制器,国内统称为单片机。它在一块芯片上集成了计算机系统,主要包括微处理器芯片即CPU、存储器(ROM只读存储器、RAM随机访问存储器)以及输入/输出接口(定时器、计数器、I/O端口等),单片机的组成框图如下图所示[4]

图3.6 单片机的组成框图

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图