基于单片机的超声波液位检测系统设计.docx
- 文档编号:29594633
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:50
- 大小:3.20MB
基于单片机的超声波液位检测系统设计.docx
《基于单片机的超声波液位检测系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的超声波液位检测系统设计.docx(50页珍藏版)》请在冰豆网上搜索。
基于单片机的超声波液位检测系统设计
摘要
液位测量及控制广泛应用于工业、生活等领域,由于许多测量环境条件及其恶劣,例如对具有腐蚀性的液体的液位测量。
显然,传统的液位测量设备已不能满要求。
因此,一些基于超声波的非接触式液位测量控制技术应运而生。
本文利用单片机的强大功能,通过硬件和软件的完美结合,设计、实现了一种基于超声波的液位检测控制系统。
系统由液位测量模块、数据显示模块、液位控制模块、超限报警模块和参数设置模块组成,通过HC-SR04超声波测距模块采集数据,经过单片机进行数据处理,然后进行实时液位显示,同时发出液位控制信号和报警控制信号。
最后,对所实现的实物进行了测试。
测试结果表明系统功能符合设计要求,能达到易控制、稳定性强、测量精度高、安全性高、功耗低的预期目的。
【关键词】单片机超声波液位测量液位控制
ABSTRACT
Levelmeasurementandcontrolarewidelyusedintheindustrialfieldandotherrelatedfields.Inthefieldofindustry,manymeasurementenvironmentsareverybadsuchasthelevelmeasurementofcorrosiveliquids.Obviously,thetraditionallevelmeasurementdevicescannotsatisfytherequirements.Asaresult,somecontrolbasedonthenon-contactultrasoniclevelmeasurementtechnologyarisesatthehistoricmoment.ThispapermakesuseofthepowerfulfeaturesoftheSCMandtheperfectcombinationofsoftwareandhardwaretodesignandimplementanadvancedcontrolsystemforliquidlevelmeasurementbasedontheultrasonicmeasurement.Thedesignedsystemincludeslevelmeasurementmodule,datadisplaymodule,levelcontrolmodule,limitalarmmodule,andparametersetmodule.ThesystemcollectsdatathroughHC-SR04UltrasonicRangingModule,andthenprocessthedata,displaythelevelinreal-timeandissuelevelcontrolsignalandthewarningsignal.Finally,thesystemwastested.Thetestedresultsshowthesystemfunctionscanmeetthedesignedrequirements,whichachievecontroleasily,highstability,highaccuracy,andhighsecurity.
【Keywords】SCMUltrasonicLevelmeasurementLevelcontrol
第一章绪论
第一节课题的提出和意义
一、课题的提出
在日常生产生活中,常遇到液位测量及控制问题。
比如在一些工业生产自动化系统中对容器中物料位或者液位的测量,又特别是极其恶劣的环境下的测量,比如对具有腐蚀性的液体液位的测量,传统的采用差位分布电极的电极法,通过电脉冲去检测液位高度,电极长期处于这种环境中,极易被电解、腐蚀,从而很容易在短时间内就失去灵敏性。
显然,在这种检测环境对测试设备的抗腐蚀性要求较高。
因此传统的液位测量设备已不能满足现代工业生产的需要。
超声波液位检测系统是一种新兴的液位测量系统,它利用了超声波传感技术的原理,采取一种非接触检测方法,能够实现对工业生产自动化系统中液位、物料位等进行检测。
此外,超声波具有很好的束射性和方向性,一般也不会对人体造成伤害。
基于超声波的检测控制系统具有实施方便、迅速,测量精度高,易于实时控制,所以有非常广阔的应用领域。
随着人们生活需求和工业标准的提高,液位检测技术愈来愈受到社会的重视,检测的精度以及实时性要求也愈来愈高,另外还要求检测系统对被检测对象具有自动控制功能。
可以说,在现在以及今后的很长一段时间里,液位的检测及控制系统的研究也将依然是一个重要的课题。
二、课题的意义
为了改善工人的工作环境,降低工人的劳动强度,节省财力、物力,避免资源的浪费,降低工业生产成本,特别是对某些特殊的生产环境,比如:
易爆、高温、低温、毒性、腐蚀性、高压、低压、有辐射性、易挥发等液体的液位进行检测,对于这些对身体健康有一定损害的测量环境,不易在实地直接进行测量及控制,而这种新兴的液位测量及控制技术就显得特别的重要。
在现代工业自动化生产系统中,对容器中液体的液位测量及控制是必不可少的。
一般情况下,在生产过程中主要是通过液位的检测来确定容器里原料的剩余量,以保证生产过程中的各环节物料平衡,以及为进行成本核算提供可靠的依据;另外,在连续生产情况下,通过液位检测及控制以保证液位始终在规定的范围内,以保证生产的正常进行,也能更好的保证产品产量和产品质量。
可见,液位测量及控制在现代工业生产过程中已起着举足轻重的作用。
仅从液位测量这一方面来讲,随着各行业的不断发展,液位测量已应用到愈来愈多的领域,不仅仅是用于各种管道、容器内的液位检测,还用于水库水渠、江河湖海等水位的检测。
传统的液位检测手段在这些领域中已经无法达到所需要的精确性,因此,超声波液位测量这种测量方式已经成为一种新方法被广泛的应用。
第二节国内外液位检测控制技术的发展现状
早期的液位检测大多采用机械原理。
近年来,随着电子技术应用到越来越广泛的领域,也逐步向液位检测及控制方向发展,并且研究出来了一些新的液位检测技术。
尽管在传统技术中也渗透了一些先进的电子技术及计算机技术,在结构和功能上也都有很大提升,但总体来说,目前我国的液位检测技术还是比较落后,液位检测方法也依然有一些不足之处,如果从国外进口我们所需的高精度液位检测设备,价格又比较高。
因此,分析液位检测控制技术当前国内外形势,发展属于我们自己国家的液位检测技术就显得非常重要。
目前,国内外在液位检测方面采用的技术更多的是传统检测技术,按其采用的检测技术及使用方法分类就已多达十余种。
我们常见的液位检测技术有:
浮体式液位测量仪表、人工检尺仪、磁致伸缩液位仪、差压式液位测量仪表、激光液位仪、雷达液位仪、超声波液位测量仪表、伺服式液位测量仪表。
超声波液位检测仪是我们最常见的一种,也是所有非接触式液位检测仪表中用途最广、发展最快的一种。
它具有一些其它液位测量技术无法比拟的优点,它可以适应腐蚀性强、高压、低压、有辐射性、有毒性、高温、低温、易挥发、易爆等特殊环境,因此,能应用的范围比其它的检测技术更广泛。
随着现在科学技术的飞速发展,液位的检测方法也变得更先进,精度也有了很大的提高。
尤其是传感器技术和单片机技术的进步使得液位检测技术得到了更进一步的优化。
超声波在液位测量中的应用愈来愈广,但从现在的发展水平看来,超声波在液位检测控制系统中的应用还存在着一定的限度,因此研究超声波的液位检测技术还有更宽更长的路要走,无论是在技术领域还是在产业领域它都具有极其广阔的发展空间。
在不远的将来,基于超声波的液位检测控制技术将会有更大更广的应用范围。
它不但可以帮助人们解决很多生活中的难题,还可以作为一种科学探测和研究的手段。
第三节本课题主要研究内容
本设计以简易水槽和水泵搭建实验模型,鉴于单片机的液位测量控制装置具有工作寿命长、测量精确、耗能低、重复性好等优点,设计以单片机为基础、超声波测距为核心的液位测量控制系统。
本系统具有液位实时检测、控制、超限报警等功能。
设计的内容包括:
设计基于超声波液位检测控制系统方案,实现液位检测、数据显示及闭环控制等功能;
设计、实现检测控制器相关的软硬件模块;
实现演示系统开发。
第二章整体方案设计
第一节方案设计架构
根据实际生产生活需要,结合课题设计要求,本设计应该具有正常液位范围设定、液位测量、超限报警、液位显示、液位控制五大功能。
方案设计架构如图2.1所示。
图2.1液位测量控制系统设计方案
正常液位设定在该系统中对应输入设备,即后文所说的设置系统。
可以通过设置系统将人的信息传递给系统,使得系统工作具有一定的目的性。
实时液位测量是系统数据采集的唯一来源,用HC-SR04 超声波测距模块采集的数据经过单片机处理过后将成为后面液位显示、超限报警、液位控制等功能实现的重要依据,因此,实时液位测量是系统能否正常工作的关键所在。
超限报警是在实时液位与设定正常液位范围比较之后做出的反应,提示相关工作人员该系统检测控制的对象正处于一种非正常状态(在这里主要指液位过高或过低)。
液位显示是将单片机通过HC-SR04 测距模块采集回来的实时液位数据显示出来,便于相关工作人员了解具体情况。
液位控制模块作为该系统唯一的执行器,主要功能是通过排水泵和进水泵保证液位始终在人为预先设定的一个正常范围内。
第二节超声波测量技术
在第一节整体方案框图中可以很明显的看出,实时液位测量是系统工作的整个流程中的关键部分,因此,与此紧密相关的超声波液位测量技术在这里起着举足轻重的作用。
一、超声波的定义及特性
频率大于20000Hz的声波称之为超声波。
超声波具有吸收特性、束射特性、声压、高功率作用四个基本特性,四个基本特性使超声波在传播介质中对应热学、化学、光学、力学和电学五种效应。
超声波的特点是它能在各种媒质中传播;波长短,因而分辨率很好;声束尖锐,因而声能比较集中;在不同的介质的界面上都会发生折射、反射、散射等一般现象。
利用声在媒质中的衰减、反射、共振、声速这些现象可以测量物质的成分、比重、厚度等。
可用于测距、测速、清洗、焊接、碎石、杀菌消毒等。
在军事、医学、农业、工业上都会有很多的应用。
利用超声波脉冲反射回波这一特点可以实现超声波测距。
二、超声波测距原理
空气中的超声波每秒的传播距离约为340米,因此,若能测出在介质中超声波的传播时间,就能计算出超声波在该介质中传播的距离。
超声波测距就是通过测定超声波在测量仪与被测对象间的传播的时间来计算出声波传送的距离的。
常用的超声波测距主要采用以下两种方法:
1、直接式超声波测距法
测量超声波发射器发射超声波到超声波接收器接收到超声波的时间t1,已知超声波在传播介质中的传播速度V,那么超声波发射器与被测对象两者之间的距离S1为:
(式2-1)
2、反射式超声波测距法
将超声波发送器的发射方向面对被测对象,并发射超声波,在发射超声波的同时计时开始,超声波在介质中传播,遇到被测物后就立即反射回来,超声波接收器在接收到被测对象反射回来的超声波后计时停止,这样就可以计算出超声波从发射器到被测物间来回传播的时间t2,超声波在该传播介质中的传播速度V已知,从而发射器到被测物的距离S2可用下式计算出来:
(式2-2)
第三节本章小结
对于任何的系统设计,整体方案的拟定是极其重要的,就如同一篇文章的提纲。
本课题是基于单片机的超声波检测控制系统设计,其中的各个模块的选定都必须符合实际情况需要,并且最好能保证成本低廉、选材容易。
超声波测量技术是本次设计中的关键所在,由于超声波具有其传播距离远、能量散失缓慢、方向性强等优点,因此常常应用于距离的测量。
如测距仪和液位测量仪等都可以通过超声波原理来实现。
超声波测距也广泛应用于倒车雷达、建筑工地以及井深、液位、管道长度等一些工业现场,在这些场合利用超声波测量常常计算简单、比较快捷,并且容易做到实时控制,能够保证足够高的测量精度,因此在测控系统的研制上也得到了极其广泛的应用。
本课题就是做一套以AT89C51单片机和超声波测距模块为核心的低成本、高精度、微型化、低能耗、具有数字显示功能的超声波液位检测及控制系统。
第三章硬件设计
第一节单片机的最小系统组成
所谓单片机的最小系统,就是用最少元件组成的能够工作的单片机系统。
MCS-51系列单片机的最小系统至少应该包括单片机、时钟电路、复位电路、输入/输出设备,如图3.1所示。
图3.1单片机最小系统
在最小系统的时钟电路中,XTAL1(单片机的19脚)和XTAL2(单片机的18脚)是独立的输入、输出反相放大器,这两个脚能够利用石英晶振为单片机配置片内振荡器,此外,也可以直接通过XTAL1、XTAL2由外部时钟驱动。
本次设计中采用的是内部时钟模式,也就是用单片机的内部振荡电路时钟。
在XTAL1、XTAL2的引脚上分别外接与需要相匹配元件,即一个石英晶体和两个电容,内部振荡器就可以产生自激振荡。
通常情况下,晶振的值可以在1.2~12MHz 之间任意选择,在本次设计中采用的是11.0592M 的石英晶振。
通过改变和晶振并联的两个电容的大小可以微调频率。
如果选用石英晶振,并联电容可在20~40pF之间任意选择,本此设计使用的是30pF,是单片机设计中常用的一个经典值。
复位电路在单片机系统中也是非常关键的,当单片机死机或程序跑飞时,就需要进行复位操作。
MCS-51系列单片机的复位引脚是RST(第9管脚),当RST出现2个10ms或者更长的高电平时,单片机就会执行复位操作。
若RST一直为高电平,单片机就将会处于循环复位的状态,当然这种情况没有什么实际的意义。
通常有两种最基本形式进行单片机的复位操作,即开关复位和上电自动复位,这两种最基本复位方式都已包含在图3.1中。
上电自动复位过程如下:
上电瞬间,有极电容两端电压是不会变的,由于此时电容负极和复位引脚RST相连,所以电压全部加在电阻上,RST的输入为高电平,芯片进行复位操作,随之然后5V电源开始给电容充电,电阻上的电压慢慢减小,最后约为零,芯片就开始正常工作。
将复位按键并联在电容的两端,当复位按键没有按下时电路实现的是以上所说的上电复位。
而在芯片正常工作后,可以通过按下复位按键使RST管脚出现高电平从而实现手动复位。
理论上只要RST 管脚上持续10ms或者更长的高电平,就可以使单片机进行有效复位操作。
以上设计图中所示的复位电阻和电容均为经典值,实际应用的时候可用同一数量级合适的电阻和电容替换,设计时也可根据自身设计需要自行计算RC充电时间以选取合适的电阻、电容值,以保证单片机的复位电路可靠,符合实际需求。
第二节LCD1602液晶显示模块
一、LCD1602液晶显示简介
液晶显示有多种分类方式,常常可以按液晶显示器的显示方式分为字符式、段式、点阵式。
除了最简单的黑白显示方式外,液晶显示器还有彩色、多灰度等显示方式,另外,还可以调节芯片的特定引脚电压控制其显示对比度。
如果根据驱动方式来分,还可以分为主动矩阵驱动(Active Matrix)、单纯矩阵驱动(Simple Matrix)、静态驱动(Static)三种。
根据实际情况综合考虑,本次设计采用的是LCD1602液晶显示。
LCD1602利用液晶的物理特性,用电压去控制显示的区域,有电就有显示,这样即可以显示出与输出信息相对应的图形。
这种液晶显示器具有厚度薄、易于实现全彩色显示、适用于大规模集成电路直接驱动的特点,目前已经被广泛应用在便携式电脑、数字摄像机、移动通信工具等各个领域。
本次设计的LCD1602液晶显示模块与单片机连接如图3.2。
图3.2LCD1602液晶显示模块设计图
二、显示内容
本次设计的液晶显示模块显示内容分为两行两列,其内容分别为实时液位(DIS)、设定值的高限(DH)、液位状态(U(正常)、H(过高)、L(过低))、设定值的低限(DL)。
第三节设置模块
设置模块共设计了四个按键,主要任务是设定预设液位的正常范围(预设正常液位范围的上、下限)。
如图3.3。
图3.3设置系统
Key1:
模式(DH或者DL)选择,用于设置预设正常液位的范围;
Key2:
选择每次改变值的大小,即每次递增(减)1或者0.1;
Key3:
递加;
Key4:
递减。
第四节报警模块
报警模块共设置两个灯光报警器。
当液位超过预设范围的最大值时,led1亮;当液位低于预设范围的最小值时,led2亮。
如图3.4所示。
图3.4报警系统
第五节液位测量模块
一、HC-SR04简介
HC-SR04超声波测距模块的有效测量距离为2cm-400cm,检测的精度为1mm,模块包括信号控制电路、超声波接收器和超声波发射器。
其实物图如图3.5,原理图如图3.6。
图3.5HC-SR04 实物图
图3.6HC-SR04原理图
HC-SR04电气参数如表3.1:
表3.1HC-SR04电气参数
电气参数
HC-SR04超声波模块
工作电压
DC5V
工作电流
15mA
工作频率
40Hz
最远射程
4m
最近射程
2cm
测量角度
15度
输入触发信号
10usTTL脉冲
输出回响信号
输出与射程成比例的TTL电平信号,
规格尺寸
45*20*15mm
二、引脚接线方式
VCC:
供5V电源;
Trig:
输入出发控制信号;
Echo:
输出回响信号;
GND:
接地。
三、模块工作原理
超声波测距模块采用单片机I/O口触发测距,给模块的控制端口一个10us以上的高电平信号,模块就会启动工作模式,自动发送8个40khz的方波,然后在超声波接收端开始自动检测是否有返回信号。
若有信号返回,就通过一个I/O口输出高电平,超声波从超声波发射器到被测对象之间来回传播所用的时间就是这个高电平的保持时间,这个过程时序图如图3.7。
图3.7HC-SR04模块工作时序图
第六节液位控制模块
液位控制模块分为进水系统和排水系统。
当液位超过预设液位范围的最大值时,排水系统运行,通过微型水泵将槽内的水陆续排除,直到槽内液位低于预设范围的最大值;当液位低于预设液位范围的最小值时,进水系统运行,通过微型水泵向槽内加水,直到槽内液位高于预设范围的最小值。
控制模块的设计如图3.8所示。
ab
图3.8液位控制模块
第七节本章小结
一个大的系统总是可以分为多个模块的,每个模块又是这个系统正常实现所有功能不可缺少的部分。
在最初的系统设计中常常用这种化大为小的设计方式,从而使得设计过程变得更有条理。
特别是每个模块可以分给不同的人进行设计时,这样就加快了方案的设计进度。
第四章软件设计
第一节编译语言与编译思想
汇编语言和C语言是目前单片机的两种主流编程语言。
汇编语言的优点是代码短、程序效率高,但存在可移植性可读性差的缺点;C语言的优点是可移植性好、可读性好,但存在代码较长、代码效率较低的缺点。
考虑到本次设计的超声波液位测量控制系统要求不太高,本次超声波液位测量控制系统的设计采用C语言编写。
本次软件设计采用程序设计模块化的思想,对实现不同功能的程序进行分段编程,这样不但使得整个程序有比较清晰的层次和结构,而且还很有利于软件的后期调试和修改。
按本次设计的需要,单片机主要任务是发出控制信号使超声波模块开始工作并自动发出40kHz的脉冲,控制信号驱动超声波探头器发射超声波,同时单片机通过一个I/O口检测回波,该I/O口在有回波时输出高电平,高电平持续时间即是超声波的传播时间,由此得出超声波在测距系统与被测物间的往返传输时间t,再用前文推导的公式(式2-2)
可求出待测距离S。
第二节软件设计
一、总体设计
单片机液位控制系统的软件首要功能是控制超声波的发射和接收,测量介质中超声波的传播时间,再根据介质中超声波的传输传播速度来计算出被测对象与测量仪器之间的距离,并将计算出来的数据加上相关标识用LCD1602液晶显示器显示出来,同时使单片机输出控制信号以控制报警系统和液位控制系统。
要实现上述功能,软件具体来说应该包含初始化、参数读入、超声波发射、超声波传接收、计时、距离计算、数据显示、超限报警、液位控制等功能模块。
程序设计流程图如图4.1所示。
过高过低
图4.1程序设计流程图
二、关键模块程序设计
1、超声波测距子程序
通过测量超声波模块与液面的传播时间来计算液面高度,流程图如图4.2。
图4.2超声波测距程序设计流程图
测距程序如下:
voidCJ(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)、递减、递增。
程序如下:
floatset_distance(floatset_dis)
{
if(!
key3)
{
delay(10);
if(!
key3)
{
while(!
key3);
set_dis=set_dis+b;
if(set_dis>=99)
set_dis=99;
}
}
……
returnset_dis;
}
3、显示子程序
显示程序实现数据的实时显示,包括实时液位,允许的最高液位和最低液位,液位正常与否的状态。
程序如下:
voiddisplay(ucharx,uchary,ucharsz,uintnum)//x:
位置y:
第几排sz:
位数num:
值
{
uchara[5]={0};
uchari=0;
uintTemp=num;
while(Temp)
{
a[i]=Temp%10;
Temp=Temp/10;
i++;
}
if(y%2==1)
write_Com(0x80+x-1);
else
write_Com(0xc0+x-1);
for(i=sz;i>0;i--)
{
write_Data(0x30+a[i-1]);
}
}
4、主程序
主程序通过调用个子程序实现各功能。
主程序如下:
voidmain()
{
uintw;
init();
while
(1)
{
w++;
if(w==5)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 超声波 检测 系统 设计