基于单片机的超声波液位检测系统设计-校级二等奖

更新时间:2024-05-27 19:43:01 阅读量: 综合文库 文档下载

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

编 号:

审定成绩:

重庆邮电大学 毕业设计(论文)

基于单片机的超声

设计(论文)题目: 波液位检测系统设计

学 院 名 称 : 学 生 姓 名 : 专 业 : 班 级 : 学 号 : 指 导 教 师 : 答辩组 负责人 :

自动化学院 汪xz 测控技术与仪器

0821xxx 2010213xxx

填表时间: 2014 年 6 月

重庆邮电大学教务处制

诚信承诺书

本人慎重承诺和声明:

本人在毕业设计(论文)过程中遵守学校有关规定,恪守学术规范,在指导教师的指导下独立完成,没有剽窃和抄袭他人的学术观点、思想和成果,未篡改研究数据,若有违规行为的发生,我愿接受学校处理,并承担一切法律责任。

论文作者签名:

年 月 日

重庆邮电大学本科毕业设计(论文)

摘 要

液位测量及控制广泛应用于工业、生活等领域,由于许多测量环境条件及其恶劣,例如对具有腐蚀性的液体的液位测量。显然,传统的液位测量设备已不能满要求。因此,一些基于超声波的非接触式液位测量控制技术应运而生。本文利用单片机的强大功能,通过硬件和软件的完美结合,设计、实现了一种基于超声波的液位检测控制系统。系统由液位测量模块、数据显示模块、液位控制模块、超限报警模块和参数设置模块组成,通过HC-SR04超声波测距模块采集数据,经过单片机进行数据处理,然后进行实时液位显示,同时发出液位控制信号和报警控制信号。最后,对所实现的实物进行了测试。测试结果表明系统功能符合设计要求,能达到易控制、稳定性强、测量精度高、安全性高、功耗低的预期目的。

【关键词】单片机 超声波 液位测量 液位控制

- I -

重庆邮电大学本科毕业设计(论文)

ABSTRACT

Level measurement and control are widely used in the industrial field and other related fields. In the field of industry, many measurement environments are very bad such as the level measurement of corrosive liquids. Obviously, the traditional level measurement devices can not satisfy the requirements. As a result, some control based on the non-contact ultrasonic level measurement technology arises at the historic moment. This paper makes use of the powerful features of the SCM and the perfect combination of software and hardware to design and implement an advanced control system for liquid level measurement based on the ultrasonic measurement. The designed system includes level measurement module, data display module, level control module, limit alarm module, and parameter set module. The system collects data through HC-SR04 Ultrasonic Ranging Module, and then process the data, display the level in real-time and issue level control signal and the warning signal. Finally, the system was tested. The tested results show the system functions can meet the designed requirements, which achieve control easily, high stability, high accuracy, and high security.

【Key words】 SCM Ultrasonic Level measurement Level control

- II -

重庆邮电大学本科毕业设计(论文)

目 录

第一章 绪论 ...................................................................................................................................... 1 第一节 课题的提出和意义 .......................................................................................................... 1 一、课题的提出 .......................................................................................................................... 1 二、课题的意义 .......................................................................................................................... 1 第二节 国内外液位检测控制技术的发展现状 .......................................................................... 2 第三节 本课题主要研究内容 ...................................................................................................... 3 第二章 整体方案设计 ...................................................................................................................... 4 第一节 方案设计架构 .................................................................................................................. 4 第二节 超声波测量技术 .............................................................................................................. 5 一、超声波的定义及特性 .......................................................................................................... 5 二、超声波测距原理 .................................................................................................................. 5 第三节 本章小结 .......................................................................................................................... 6 第三章 硬件设计 .............................................................................................................................. 7 第一节 单片机的最小系统组成 .................................................................................................. 7 第二节 LCD1602液晶显示模块 ................................................................................................. 8 一、LCD1602液晶显示简介 ..................................................................................................... 8 二、显示内容 .............................................................................................................................. 9 第三节 设置模块 .......................................................................................................................... 9 第四节 报警模块 ........................................................................................................................ 10 第五节 液位测量模块 ................................................................................................................ 11 一、HC-SR04简介 ................................................................................................................... 11 二、引脚接线方式 .................................................................................................................... 12 三、模块工作原理 .................................................................................................................... 12 第六节 液位控制模块 ................................................................................................................ 13 第七节 本章小结 ........................................................................................................................ 14 第四章 软件设计 ............................................................................................................................ 15 第一节 编译语言与编译思想 .................................................................................................... 15 第二节 软件设计 ........................................................................................................................ 15 一、总体设计 ............................................................................................................................ 15 二、关键模块程序设计 ............................................................................................................ 16 第三节 本章小结 ........................................................................................................................ 20

- III -

重庆邮电大学本科毕业设计(论文)

图3.3 设置系统

Key1:模式(DH或者DL)选择,用于设置预设正常液位的范围; Key2:选择每次改变值的大小,即每次递增(减)1或者0.1; Key3:递加; Key4:递减。

第四节 报警模块

报警模块共设置两个灯光报警器。当液位超过预设范围的最大值时,led1亮;当液位低于预设范围的最小值时,led2亮。如图3.4所示。

图3.4 报警系统

- 10 -

重庆邮电大学本科毕业设计(论文)

第五节 液位测量模块

一、HC-SR04简介

HC-SR04超声波测距模块的有效测量距离为2cm-400cm,检测的精度为1 mm,模块包括信号控制电路、超声波接收器和超声波发射器。其实物图如图3.5,原理图如图3.6。

图3.5 HC-SR04 实物图

图3.6 HC-SR04原理图

- 11 -

重庆邮电大学本科毕业设计(论文)

HC-SR04电气参数如表3.1:

表3.1 HC-SR04电气参数 电气参数 工作电压 工作电流 工作频率 最远射程 最近射程 测量角度 输入触发信号 输出回响信号 规格尺寸 HC-SR04超声波模块 DC 5 V 15mA 40Hz 4m 2cm 15度 10usTTL脉冲 输出与射程成比例的TTL电平信号, 45*20*15mm

二、引脚接线方式

VCC:供5V电源; Trig:输入出发控制信号; Echo:输出回响信号; GND:接地。

三、模块工作原理

超声波测距模块采用单片机I/O口触发测距,给模块的控制端口一个10us以上的高电平信号,模块就会启动工作模式,自动发送8个40khz的方波,然后在超声波接收端开始自动检测是否有返回信号。若有信号返回,就通过一个I/O口输出高电平,超声波从超声波发射器到被测对象之间来回传播所用的时间就是这个高电平的保持时间,这个过程时序图如图3.7。

- 12 -

重庆邮电大学本科毕业设计(论文)

图3.7 HC-SR04模块工作时序图

第六节 液位控制模块

液位控制模块分为进水系统和排水系统。当液位超过预设液位范围的最大值时,排水系统运行,通过微型水泵将槽内的水陆续排除,直到槽内液位低于预设范围的最大值;当液位低于预设液位范围的最小值时,进水系统运行,通过微型水泵向槽内加水,直到槽内液位高于预设范围的最小值。控制模块的设计如图3.8所示。

a b

图3.8 液位控制模块

- 13 -

重庆邮电大学本科毕业设计(论文)

第七节 本章小结

一个大的系统总是可以分为多个模块的,每个模块又是这个系统正常实现所有功能不可缺少的部分。在最初的系统设计中常常用这种化大为小的设计方式,从而使得设计过程变得更有条理。特别是每个模块可以分给不同的人进行设计时,这样就加快了方案的设计进度。

- 14 -

重庆邮电大学本科毕业设计(论文)

第四章 软件设计

第一节 编译语言与编译思想

汇编语言和C语言是目前单片机的两种主流编程语言。汇编语言的优点是代码短、程序效率高,但存在可移植性可读性差的缺点;C语言的优点是可移植性好、可读性好,但存在代码较长、代码效率较低的缺点。考虑到本次设计的超声波液位测量控制系统要求不太高,本次超声波液位测量控制系统的设计采用C语言编写。

本次软件设计采用程序设计模块化的思想,对实现不同功能的程序进行分段编程,这样不但使得整个程序有比较清晰的层次和结构,而且还很有利于软件的后期调试和修改。按本次设计的需要,单片机主要任务是发出控制信号使超声波模块开始工作并自动发出40kHz的脉冲,控制信号驱动超声波探头器发射超声波,同时单片机通过一个I/O口检测回波,该I/O口在有回波时输出高电平,高电平持续时间即是超声波的传播时间,由此得出超声波在测距系统与被测物间的往返传输时间t,再用前文推导的公式(式2-2)

S2?V?t22

可求出待测距离S。

第二节 软件设计

一、 总体设计

单片机液位控制系统的软件首要功能是控制超声波的发射和接收,测量介质中超声波的传播时间,再根据介质中超声波的传输传播速度来计算出被测对象与测量仪器之间的距离,并将计算出来的数据加上相关标识用LCD1602液晶显示器显示出来,同时使单片机输出控制信号以控制报警系统和液位控制系

- 15 -

重庆邮电大学本科毕业设计(论文)

统。要实现上述功能,软件具体来说应该包含初始化、参数读入、超声波发射、超声波传接收、计时、距离计算、数据显示、超限报警、液位控制等功能模块。程序设计流程图如图4.1所示。

过高 液位测量 过低

图4.1 程序设计流程图

结束 排水 数据显示 进水 参数设置 初始化

二、关键模块程序设计

1、超声波测距子程序

通过测量超声波模块与液面的传播时间来计算液面高度,流程图如图4.2。

图4.2 超声波测距程序设计流程图

- 16 -

重庆邮电大学本科毕业设计(论文)

测距程序如下: void CJ(void) {

Trig=1; //启动一次检测模块 delay_20us();

Trig=0; //停止向检测模块Trig端发送高电平 while(!Echo); //无回波时等待 TR0=1; //计时开始

while(Echo); //有回波是计数并继续等待 TR0=0;

time=TH0*256+TL0; /计算超声波的传播时间 TH0=0; TL0=0;

distance=145.05-time*0.172;// 计算距离,算出来的单位是mm if(distance<=0)distance=0;

if(distance>=145.05)distance=145.05;

// distance=(int)(distance*100)/100; //强制保留2位小数 }

2、按键控制子程序

通过按键控制程序实现参数设定,其中主要是正常液位范围的设定。包括设置参数的模式选择、单次递增(减)值大小(1或0.1)、递减、递增。程序如下:

float set_distance(float set_dis) {

if(!key3) {

delay(10); if(!key3)

- 17 -

重庆邮电大学本科毕业设计(论文)

{

while(!key3); set_dis=set_dis+b;

if(set_dis>=99) set_dis=99;

} }

…… }

return set_dis;

3、显示子程序

显示程序实现数据的实时显示,包括实时液位,允许的最高液位和最低液位,液位正常与否的状态。程序如下:

void display(uchar x,uchar y,uchar sz,uint num)//x:位置 y:第几排 sz:位数 num:值

{

uchar a[5]={0}; uchar i=0; uint Temp=num; while(Temp) {

a[i] = Temp;

Temp = Temp/10; i++;

}

if(y%2==1)

write_Com(0x80+x-1); else

- 18 -

重庆邮电大学本科毕业设计(论文)

}

write_Com(0xc0+x-1); for(i=sz;i>0;i--) {

write_Data(0x30+a[i-1]); }

4、主程序

主程序通过调用个子程序实现各功能。主程序如下:

void main() { uint w; }

init(); while(1) {

w++; if(w==5) { } BJ();

w=0; CJ();

display_Init(); }

5、延时子程序

在系统编程中,延时程序的应用是极其普遍的,按键的延时去抖就是一个很好的例子。本次设计的演示程序如下:

void delay(uint x)

- 19 -

重庆邮电大学本科毕业设计(论文)

{ uint i,j; for(j=0;j

第三节 本章小结

程序是一个系统运行必不可少的一部分,如果没有程序,硬件设备就如同虚设。因此,程序的编写及变得极其重要。本次程序设计语言选用我们比较熟悉的是C语言,而且编写过程中又采用了模块化方法,从而更易于编写和理解,也有助于后期的修改和调试。

- 20 -

重庆邮电大学本科毕业设计(论文)

第五章 仿真及调试

第一节 仿真

结合Protues和Keil软件,将设计的程序与电路在电脑上仿真,由于超声波液位测距模块没有相应的仿真元件,故超声波液位测距模块无法进行仿真,现将实时液位设为一固定值,通过改变设定正常液位的上下限来实现仿真。

如图5.1,实时液位为25.0mm,上限为25.5mm,下限为24.5mm,即当实时液位在正常液位范围内时,报警系统和水位控制系统均无异常。

图5.1 仿真(液位正常)

如图5.2,实时液位为25.0mm,上限为24.5mm,下限为23.5mm,即当实时液位高于正常液位范围内时,报警系统led1亮,排水系统启动。

- 21 -

重庆邮电大学本科毕业设计(论文)

图5.2 仿真(液位过高)

通过以上仿真,可以说明编写的程序是正确的,并且能够实现预期的所有功能,这也有利于后面的实物功能实现。

第二节 系统测试

在程序编译完成并仿真调试成功和硬件电路制作完成之后,将编译好的程序下载到本次设计所用的单片机上,进行下一步的综合调试。综合调试成功后对检测控制的重复一致性和误差进行相关分析,从而进一步优化该系统的性能,以达到预期设计的检测及控制要求。硬件实物图如5.3所示。

现在设置正常液位下限为80.5mm,上限为99.5mm。

当实时液位为72.2mm,即液位小于80.5mm时,系统红色水位过低报警灯亮启,并启动进水系统,使得液面逐渐升高。实物运行图5.4。

- 22 -

重庆邮电大学本科毕业设计(论文)

LCD1602显示模块 设置系统 电源开关 5V供电接口

单片机 复位按键 报警信号灯 水泵控制继电器 水泵电源接口 图5.3 硬件实物图

图5.4 系统调试图(一)

当实时液位为88.8mm,即液位大于80.5mm且小于99.5时,液位在正常范围之内,报警系统和水位控制系统均无异常。实物运行图如图5.5。

- 23 -

重庆邮电大学本科毕业设计(论文)

图5.5 系统调试图(二)

当实时液位为110.4mm,大于99.5mm时,系统绿色水位过高报警灯亮启,并启动排水系统,使得液面逐渐下降,直到在正常液位范围内。实物运行图如图5.6。

图5.6 系统调试图(三)

- 24 -

重庆邮电大学本科毕业设计(论文)

第三节 本章小结

在仿真及调试中总会遇到一些或大或小的问题,在本次设计的仿真及调试中主要遇到以下三个问题:

1控制电机起停的继电器不工作。 ○

问题分析及解决方案:记过反复实验发现造成上问题的原因是单片机发出的控制信号经过一个功率放大器后仍然太弱,不足以能够控制继电器。于是在之前的基础上再加一个功率放大器,最后实现了单片机输出控制信号通过继电器控制进、排水泵的起停。

2用一个电源为该系统中所有模块时,系统不能正常工作。 ○

问题分析及解决方案:查明是水泵负载过大导致系统出现上述问题。解决办法是为液位控制模块单独供电。并且设计水泵的额定电压为3.3V,系统提供的电压为5V不适合为该水泵供电。

3在液位控制系统的作用下,液位在设置的上限和下限附近时出现抖动○

(进(排)水系统时而运行时而停止、报警灯持续闪烁)。

问题分析及解决方案:通过反复试验观察发现是由于液位采集频率过高,水泵停止时水管中还未排出的那段水返回原来的水槽内。以液位在上限处为例:液位从超出设定上限在排水泵的作用下刚好低于设定上限时,排水泵停止工作,此时排水管中还未排出的那段水又会在重力作用下回到被测液位的水槽中,导致水槽中的水位再一次上升,从而又会再次启动排水泵,如此循环。

解决办法是通过改变控制程序降低液位采集频率,增大两次液位检测的时间间隔,从而增大两次水泵控制信号发出的间隔时间,从而增大这期间水泵的排水量,使得水泵停止后水管中为排出的那段水即使回到水槽中也不会超过设定的液位上限。

- 25 -

重庆邮电大学本科毕业设计(论文)

结 论

本设计以单片机为核心,利用超声波测距原理,通过软件程序的编写、实物的制作、以及软硬件的综合调试,最终实现系统的液位测量及控制功能。系统的实物包括超声波发射及接收模块、报警模块、显示模块、设置模块、液位控制模块等;在软件设计上采用了模块化的程序设计思想,提高了程序编写的效率。本设计能够对2cm~400cm的距离内进行有效的测量,其精度可以达到1mm,并达到了低成本、高精度、低功耗、微型化、美观的预期设计目的。可见基于单片机设计的超声波液位测量控制系统具有硬件结构简单、工作可靠等特点。本系统不仅可以用于液位检测,距离测量,还可广泛应用于诸如移动机器人精确定位等各种检测控制系统中。

- 26 -

重庆邮电大学本科毕业设计(论文)

致 谢

经过约一个学期的时间,这次毕业设计终将圆满结束。我深刻的体会到,实践是检验理论最好的工具。从选题后的资料收集,到软件、硬件的设计及仿真,再到论文的撰写及定稿,感觉收获不少。本次设计是对大学四年来所学知识的一次综合性应用,极大的提高了动手能力,也丰富了理论知识。

在完成这次毕业设计的过程中,我遇到了很多困难,在此感谢所有帮助我完成毕业设计的人。首先,感谢我的毕业设计指导老师xxx副教授,感谢您对我在毕业设计中的无私指导和帮助,感谢您对我在设计论文中的耐心修改,让我的毕业设计得以完成和改进。然后,感谢为我提供资料的网站和所有参考论文涉及到的学者,感谢你们给了我启发。另外,还要感谢陪伴我这四年大学生活的同学们,谢谢你们陪我一起走过人生中最为难忘的岁月,是你们给了我丰富多彩的大学生活。最后,感谢所有教过我的老师,感谢答辩组的老师,谢谢你们在这四年之中传授给我知识,教给我做人的道理,衷心感谢你们!

- 27 -

重庆邮电大学本科毕业设计(论文)

参考文献

[1] 何离庆,张寿明,朱文嘉.过程控制系统与装置[M].重庆:重庆大学出版社,2003.7.

[2] 谭浩强.C语言程序设计(第三版)[M].北京:清华大学出版社,2005(2007重印).

[3] 勒达.单片机应用系统开发实例导航[M].北京:人民邮电出版社,2003.10. [4] 胡向东,刘京诚,余成波等.传感器与检测技术[M].北京:机械工业出版社,2009.

[5] 郭天祥.51单片机C语言教程[M].北京:电子工业出版社,2009. [6]李群芳,张士军,黄建.单片微型计算机与接口技术[M].北京:电子工业出版社,2010.

[7] 眭碧霞.单片机及其应用[M].西安电子科技大学出版社. [8] 刘勇.数字电路[M].电子工业出版社,2004.

[9] 杨子文.单片机原理及应用[M].西安电子科技大学出版社,2006. [10] 沈精虎.电路设计与制版Protel99入门与提高[M].人民邮电出版社,2004. [11] 范风强,兰婵丽.单片机语言C51应用实战集锦[M].电子工业出版社,2001.

[12] 向敏,程安宇,罗志勇等.微控制器原理及应用[M].北京:人民邮电出版社,2012.4.

[13] 赵新民.王祁.智能仪器设计基础[M].哈尔滨:哈尔滨工业出版社,1999.7(2012.7重印).

[14] 徐士良,葛兵.计算机软件技术基础[M].北京:清华大学出版社,2007.7. [15] 杨素行.模拟电子技术基础简明教程(第三版)[M].北京:高等教育出版社,2006.5(2010重印).

- 28 -

重庆邮电大学本科毕业设计(论文)

附 录

一、英文原文

- 29 -

重庆邮电大学本科毕业设计(论文)

- 30 -

重庆邮电大学本科毕业设计(论文)

- 31 -

重庆邮电大学本科毕业设计(论文)

- 32 -

重庆邮电大学本科毕业设计(论文)

二、英文翻译

一项超声波距离测量中可行且精确的确定飞行时间的技术

Tarik Namas and Murat Dogruel Sarajevo国际大学自然科学工程系 电子邮箱: mdogruel@ius.edu.ba

摘要——这篇文章提出了一种关于在空中高精度超声波距离测量的高效算法的数字信号处理技术。开始发射脉冲和响应峰值之间的时差用于确定飞行时间(TOF)。过滤后的峰值响应决定于使用Hilbert变换和适当的抛物线插值处理过的一个特殊的复杂信号的幅值。该方法有效地消除了接收信号中的噪声和干扰,使得TOF与接收到的信号强度无关。实验结果表明精度优于千分之一。

【关键词】 超声波测距 飞行时间 Hilbert变换 抛物线插值 1、简介

许多科学和工业应用需要距离测量,一些地方需要非接触式测量。空气中的距离通常通过使用超声波传感器测量,这类系统价格便宜并能提供很好的性能。

根据不同的应用程序中,有很多使用超声波技术来测量距离[1]。

它主要测量原理是根据估计飞行时间(TOF)来计算距离。接收机和发射机之间的距离d = v×TOF ,v是声音在传播介质中的速度(通常情况下是空气速度) [2]。

一个简单而快速典型的方法来确定TOF是阈值方法[3],然而,这种方法不是首选,因为由于噪声和错误的振幅,所以接收到的信号并不是固定的。

确定TOF的另一种方法是互相关技术[4]。时间在接收和传输信号之间的哪个地方互相关的最大,就在这里取得TOF。

在距离测量中,一个不同的概念就是相移法。通过测量信号发射和接收之间的相移计算距离[5]。组合这两个以前的概念被认为是第三个甚至更准确的概念[6]。

- 33 -

重庆邮电大学本科毕业设计(论文)

我们采用一种新方法确定TOF,即使用时间(样本)的峰值(接收信号)和开始发射脉冲的不同响应。

避免使用被噪声影响的阈值水平,超声波前置放大器的峰值转换成举行脉冲,从而决定TOF。

2、建议方法。

从理论上讲,一个典型双二阶系统的振荡响应如图1。这个信号大约代表当一个发射机发射脉冲信号时超声波接收器接收信号的期望值。

图1 超声换能器的预期响应 图2 一个典型的超声收发短脉冲的实际响应

另一方面,超声波收发器的实际响应是短脉冲,如图2所示。由于非线性影响,这个形状足够接近,但不完全与图1中的理论情况下相同。

这种方法介绍了轻松、准确地找到在脉冲开始和响应峰值间的时差,可以概括为如下:

1.使用数据采集设备,在延迟之间传输大量短脉冲; 2.获得传播的信号和收到的信号,确定开始脉冲的样本;

3.消除噪声的影响,从接收到的信号Sh [n]获得的带通过滤过的信号Sb[n];

4.找到相应的由Sh[n] 到Sb[n] 的Hilbert变换; 5.使用E(n)?Sb2[n]?Sh2[n]确定超声波的包络响应;

6.获得平滑的包络信号,Eb[n],在E上使用零相位正向和反向带通滤波; 7.在Eb[n]的峰值处应用抛物线插值来确定相应的抛物线的最大峰值实际样本的位置;

- 34 -

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

Top