基于超声波传感器的液位控制系统pid算法控制要点.docx

上传人:b****2 文档编号:17654131 上传时间:2023-07-27 格式:DOCX 页数:51 大小:2.04MB
下载 相关 举报
基于超声波传感器的液位控制系统pid算法控制要点.docx_第1页
第1页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第2页
第2页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第3页
第3页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第4页
第4页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第5页
第5页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第6页
第6页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第7页
第7页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第8页
第8页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第9页
第9页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第10页
第10页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第11页
第11页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第12页
第12页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第13页
第13页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第14页
第14页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第15页
第15页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第16页
第16页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第17页
第17页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第18页
第18页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第19页
第19页 / 共51页
基于超声波传感器的液位控制系统pid算法控制要点.docx_第20页
第20页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于超声波传感器的液位控制系统pid算法控制要点.docx

《基于超声波传感器的液位控制系统pid算法控制要点.docx》由会员分享,可在线阅读,更多相关《基于超声波传感器的液位控制系统pid算法控制要点.docx(51页珍藏版)》请在冰点文库上搜索。

基于超声波传感器的液位控制系统pid算法控制要点.docx

基于超声波传感器的液位控制系统pid算法控制要点

编号:

 

毕业设计说明书

 

基于超声波传感器的液

位控制系统

电子工程与自动化学院

xxx

09008204xx

刘振丙

副研究员

题目:

院(系):

专业:

学生姓名:

学号:

指导教师:

职称:

理论研究实验研究工程设计工程技术研究软件开发

题目类型:

 

年月20日

 

摘要

随着电子技术、计算机技术和信息技术的发展,工业生产中传统的检测和控制技术发生了根本性的变化。

液位作为化工等许多工业生产中的一个重要参数,其测量和控制效果直接影响到产品的质量,因此液位控制成为过程控制领域中的一个重要的研究方向。

液位控制是工业中常见的过程控制,它对生产的影响不容忽视。

该系统利用了常见的芯片,设计并实现了液位控制系统的智能性及显示功能。

电路组成简单,调试方便,性价比高,抗干扰性好等优点,能较好的实现水位监测与控制的功能。

能够广泛的应用于工业场所。

在本设计中较好的实现了水位监测与控制的功能。

液位控制系统是以液位为被控参数的系统,液位控制一般是指对某控制对象的液位进行控制调节,以达到所要求的液位进行调节,以达到所要求的控制精度。

本文章介绍了由AT89S52单片机及HC-SR04超声波模块、直流电机、L298N电机驱动模块、LCD12864液晶显示屏、矩阵键盘等构成的液位控制系统。

其中超声波模块负责对水位的高度进行测量,并将测量的水位信息传送到单片机进行处理,由单片机将之与设定值进行比较得到偏差,使用PID算法控制电机抽水。

如当前水位低于设定水位,则单片机控制直流电机抽水进入水箱。

水位信息实时显示在LCD12864液晶屏上,直至水位达到设定值为止。

设定值可以由矩阵键盘输入。

系统中设置了报警系统,如果水位低于2cm,报警系统启动,提醒设定水位,通过矩阵键盘输入水位信息,确定后,系统将自动注水入水箱,到达设定值则自动停止。

以达到能自动控制水位的要求。

测量到的水位亦能送到上位机显示以及上位机能输入设定水位。

关键词:

单片机;PID;矩阵键盘;直流电机;LCD;上位机

 

Abstract

With the development of electronic technology, computer technology and information technology, industrial production, the detection and control technology has undergone a fundamental change.liquid Level as an important parameter of chemical and many other industrial production , the measurement and control effects affect directly  the quality of the product, so that the liquid level control becomes an important research direction in the field of process control.The level control is common in industrial process control, and its impact on production can not be ignored.This system uses a common chip, designed and implemented intelligence and display capabilities of level control system .The circuit is simple, easy to debug, cost-effective, good anti-jamming, etc.Water level monitoring and control functions is working better,which can be widely used in industrial sites.In this design, the water level monitoring and control function can work better.Level control system is the system based on the level of the controlled parameter,Level control generally refers to control and regulate the level of controlled object , in order to be adjusted to to reach the required level to  achieve the required control accuracy.

Thisarticledescribesthelevelcontrolsystem,whichconstituteAT89S52microcontrollerandHC-SR04ultrasonicmodule,DCmotorL298Nmotordrivermodule,LCD12864LCDdisplay,matrixkeyboard,etc.TheultrasonicmoduleisresponsibleformeasuringtheheightofthewaterlevelandthewaterlevelmeasurementinformationissenttothemicrocontrollerComparedeviation,thenusingaPIDalgorithmtocontrolmotorpumping.Whenthecurrentwaterleveldropsbelowthesetlevel,single-chipcontrolDCmotortopumpedintothetank.ThewaterlevelinformationisdisplayedinrealtimeontheLCDLCD12864,untilthewaterlevelreachesthesetvalue.Thesettingvalueisinputtedfromthematrixkeyboard.Thesystemsetthealarmsystem,ifthewaterlevelislessthan2cm,alarmsystemstartstoremindtosetlevel,theninputthewaterlevelinformationbymatrixkeyboard,whenconfirming,thesystemwillautomaticallyfillingthetankuntilautomaticallystoppedwhenreachingthesetvalue.Inordertoachievetherequirementsofautomaticallycontrolledthewaterlevel.Measuredwaterlevelinformationisalsosenttothehostcomputerdisplay,besidesitcaninputthesettingwaterlevelintheupper-functiontbyhostcomputer.

Keywords:

Themicrocontroller;PID;matrixkeyboard;DCmotor;LCD;Hostcomputer

 

目录

引言1

1系统设计1

1.1系统要求1

1.2总体设计1

1.2.1系统框图1

2方案论证2

2.1控制器模块设计方案2

2.2电机驱动模块设计方案2

2.3测距模块设计方案3

2.4显示模块设计方案3

2.5键盘模块设计方案4

3系统硬件设计4

3.1硬件资源分配4

3.2单片机基本电路设计4

3.2.1AT89S52简介4

3.2.2单片机最小系统5

3.2.3复位电路5

3.2.4振荡电路6

3.3超声波测距电路设计6

3.3.1HC-SR04测距模块简介7

3.3.2HC-SR04模块工作原理8

3.4电机驱动电路设计9

3.4.1L298N简介9

3.4.2L298N工作原理10

3.5矩阵键盘电路设计10

3.6LCD显示电路设计11

4系统软件设计12

4.1PID控制技术12

4.1.1简介12

4.1.2PID控制原理12

4.2程序流程15

4.2.1主流程图15

4.2.2超声波测距流程图16

4.2.3PID算法程序流程图16

4.2.4显示程序流程17

4.3算法实现19

4.3.1超声波测距算法实现19

4.3.2PID算法实现21

4.4上位机通信22

5系统调试24

5.1硬件调试24

5.2软件调试25

6系统测试及数据分析25

7结论27

7.1收获即心得体会27

7.2研究展望27

谢辞28

参考文献29

附录30

引言

在现代化工业自动化生产过程中,为了实现安全、高效的生产,需要对液位进行实时精确检测。

目前,国内外多采用法兰式或螺纹式超声波液位仪检测容器内易燃、易挥发、易爆液体的液位,这两种接触式检测方式存在由于安装不便而导致液体泄漏等问题,而且也不能测量封闭容器内的液位。

为解决该问题,本文研究了超声波水位检测系统。

目前国内也在液位自动控制方面缺少长期可靠的使用范例,还没有适用于液位测量和自动控制的定型产品。

因此,开展液位自动控制的研究工作十分必要。

1系统设计

系统要求

设计一个汽车水(油)箱水(油)位监控系统,通过超声波传感器采集水位信息,送单片机处理。

若当前水位低于设定置,通过电机驱动水泵继续注水,电机采用PID控制。

水位信息显示于液晶屏,设定值可通过键盘设置。

具体要求:

PID算法控制水泵;

真实水位和设定位置的误差在5%以下。

总体设计

此方案选择AT89S52单片机作为控制核心,通过键盘输入设定水位值。

超声波测距显示出水位数值,所测得的水位数值在LCD12864液晶屏上显示。

如果水位低于设定值,则控制中心驱动电机向水箱注水到设定值,如果水位低于2厘米,报警器报警。

系统框图

图1总体系统框图

2方案论证

控制器模块设计方案

根据本次的设计任务,需对水位高度信息进行采集,并进行数据处理。

主要通过数字PID算法控制的产生占空比的PWM脉冲,根据PID算法得出当前所需输出的占空比脉冲。

对电机速度进行调节,控制水流量大小。

对于控制器的选择有以下三种方案。

方案一:

采用传统的AT89C51单片机作为运动物体的控制中心。

它和AT89S52一样都具有软件编程灵活、体积小、成本低,使用简单等特点,但是它的频率较低、运算速度慢,RAM、ROM空间小等缺点。

方案二:

采用FPGA作为系统的主要控制器,FPGA可以实现各种复杂的逻辑功能,模块大,密度高,它将所有器件集成在一块芯片上,减少了体积,提高了稳定性,并且可应用EDA软件仿真、调试,易于进行功能控制。

FPGA采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模实时系统的控制核心。

通过输入模块将参数输入给FPGA,FPGA通过程序设计控制PWM脉冲的占空比,但是由于本次设计对数据处理的时间要求不高,FPGA的高速处理的优势得不到充分体现,并且由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,硬件实物电路板布线复杂,加重了电路设计和实际焊接的工作。

方案三:

采用AT89S52作为系统控制的方案。

AT89S52单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制。

相对于FPGA来说,它的芯片引脚少,在硬件很容易实现。

并且它还具有功耗低、体积小、技术成熟和成本低等优点,在各个领域中应用广泛。

综合上述三种方案比较,采用AT89S52作为控制器处理输入的数据并控制电机运动较为简单,可以满足设计要求。

因此在本次设计选用方案三。

电机驱动模块设计方案

本次设计的主要目的是控制水位高低,因此必须通过水泵向水箱里注水,注水快慢由电机的转速决定,因此电机驱动模块是必不可少的,其方案有一下两种。

方案一:

采用大功率晶体管组合电路构成驱动电路,这种方法结构简单,成本低、易实现,但由于在驱动电路中采用了大量的晶体管相互连接,使得电路复杂、抗干扰能力差、可靠性下降,我们知道在实际的生产实践过程中可靠性是一个非常重要的方面。

因此此中方案不宜采用。

方案二:

采用专用的电机驱动芯片,例如L298N、L297N等电机驱动芯片,由于它内部已经考虑到了电路的抗干扰能力,安全、可靠行,所以我们在应用时只需考虑到芯片的硬件连接、驱动能力等问题就可以了,所以此种方案的电路设计简单、抗干扰能力强、可靠性好。

设计者不需要对硬件电路设计考虑很多,可将重点放在算法实现和软件设计中,大大的提高了工作效率。

基于上述理论分析和实际情况,电机驱动模块选用方案二。

测距模块设计方案

方案一:

激光测距传感器。

激光传感器利用激光的方向性强和传光性好的特点,它工作时先由激光传感器对准障碍物发射激光脉冲,经障碍物反射后向各个方向散射,部分散射光返回到接受传感器,能接受其微弱的光信号,从而记录并处理光脉冲发射到返回所经历的时间即可测定距离,即用往返时间的一半乘以光速就能得到距离。

其优点是测量的距离远、速度快、测量精确度高、量程范围大,缺点是对人体存在安全问题,而且制作的难度大成本也比较高。

方案二:

压力传感器。

目前的液位压力传感器大部分是投入式静压液位变送器,而投入式静压液位传感器只有参考大气压才能进行准确测量,然而连接电缆中的通气会受到环境的影响,造成气管内壁冷凝,结露。

露水滴到电子器件和传感器上,会影响精度或者输出漂移。

同时,结露过快,变送器的使用寿命也会大大缩短。

此压力传感器容易受到环境的影响而造成测量不准确,并且安装不方便。

方案三:

超声波传感器。

超声波是一种超出人类听觉极限的声波即其振动频率高于20kHz的机械波。

超声波传感器在工作的时候就是将电压和超声波之间的互相转换,当超声波传感器发射超声波时,发射超声波的探头将电压转化的超声波发射出去,当接收超声波时,超声波接收探头将超声波转化的电压回送到单片机控制芯片。

超声波具有振动频率高、波长短、绕射现象小而且方向性好还能够为反射线定向传播等优点,而且超声波传感器的能量消耗缓慢有利于测距。

在中、长距离测量时,超声波传感器的精度和方向性都要大大优于红外线传感器。

从安全性,成本、方向性等方面综合考虑,超声波传感器更适合设计要求。

根据对以上三种传感器性能的比较,考虑到灵敏度和经济实用性,可以看出方案三超声波传感器是比较理想的。

显示模块设计方案

在水位控制系统中,系统需要对设定水位和实时水位的显示,因此在整个系统中必须设计一个显示模块,考虑有三种方案:

 方案一:

使用七段数码管(LED)显示。

数码管具有亮度高、工作电压低、功耗小、易于集成、驱动简单、耐冲击且性能稳定等特点,并且它可采用BCD编码显示数字,编程容易,硬件电路调试简单。

但由于在此次设计中需要设定的参数种类多,而且有些需要进行汉字和字符的显示,所以使用LED显示器不能完成设计任务,不宜采用。

方案二:

采用LCD1602液晶显示器,该显示器控制方法简单,功率低、硬件电路简单、可对字符进行显示,但考虑到LCD1602液晶显示器的屏幕小,不能显示汉字,因此对于需要显示大量参数的系统来说不宜采用。

方案三:

采用LCD12864液晶显示器,该显示器功率低,驱动方法和硬件连接电路较上面两种方案复杂,显示屏幕大、可对汉字和字符进行显示。

带中文字库的128X64每屏可显示4行8列共32个16×16点阵的汉字,内部提供128×2字节的字符显示RAM缓冲区(DDRAM)。

字符显示是通过将字符显示编码写入该字符显示RAM实现的。

根据本次设计的设计要求,显示模块选用方案三,LCD12864液晶屏。

键盘模块设计方案

在水位控制系统中,系统需要按键进行参数的输入。

因此键盘在整个系统中是不可缺少的一部分,考虑有二种方案:

方案一:

采用独立式键盘,这种键盘硬件连接和软件实现简单,并且各按键相互独立,每个按键均有一端接地,另一端接到输入线上。

按键的工作状态不会影响其它按键上的输入状态。

但是由于独立式键盘每个按键需要占用一根输入口线,所以在按键数量较多时,I/O口浪费大,故此键盘只适用于按键较少或操作速度较高的场合。

方案二:

采用行列式键盘,这种键盘的特点是行线、列线分别接输入线、输出线。

按键设置在行、列线的交叉点上,利用这种矩阵结构只需m根行线和n根列线就可组成

个按键的键盘,因此矩阵式键盘适用于按键数量较多的场合。

但此种键盘的软件结构较为复杂[6]。

根据上面两种方案的论述,为方便本次设计的易操作性,对软件的运行速度要求不高,所以采用方案二,矩阵键盘。

3系统硬件设计

硬件资源分配

本系统电路连接及硬件资源分配见第一章图1所示。

采用AT89S52单片机作为核心器件,HC-SR04超声波模块作为测量装置,L298N作为直流电机的驱动模块,利用12864LCD显示器和4×4矩阵键盘作为人机接口。

单片机基本电路设计

AT89S52简介

本系统采用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内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

单片机最小系统

图2单片机最小系统

复位电路

51单片机高电平复位。

以当前使用较多的AT89系列单片机来说,,在复位脚加高电平2个机器周期(即24个振荡周期)可使单片机复位。

复位后,主要特征是各IO口呈现高电平,程序计数器从零开始执行程序。

复位方式有两种。

1.手动复位:

按钮按下,复位脚得到VCC的高电平,单片机复位,按钮松开后,单片机开始工作。

2.上电复位:

上电后,电容电压不能突变,VCC通过复位电容(10μF电解)给单片机复位脚施加高电平5V,同时,通过10KΩ电阻向电容器反向充电,使复位脚电压逐渐降低。

经一定时间后(约10毫秒)复位脚变为0V,单片机开始工作。

复位电路图如下:

 

图3复位电路

振荡电路

在内部方式时钟电路中必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常C1和C2一般取30pF或者20pF,晶振的频率取值在1.2MHz到12MHz之间。

对于外接时钟电路要求XTAL1接地,XTAL2脚接外部时钟。

对于外部时钟信号并无特殊要求,只要保证一定的脉冲宽度,时钟频率低于12MHz即可。

晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用。

时钟信号的周期称为状态时间S,它是振荡周期的2倍。

P1信号在每个状态的前半周期有效,在每个状态的后半周期P2信号有效。

CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作的。

振荡电路如下图:

图4振荡电路

超声波测距电路设计

超声波是一种振动频率超过20kHz的机械波,它可以沿直线方向传播,而且传播的方向性好,传播的距离也较远,在介质中传播时遇到障碍物在入射到它的反射面上就会产生反射波。

由于超声波的以上几个特点,所以超声波被广泛地应用于物体距离的测量、厚度等方面。

而且,超声波的测量是一种比较理想的的非接触式的测距方法。

当进行距离的测量时,由安装在同一水平线上的超声波发射器和接收器完成超声波的发射与接收,并且同时启动定时器进行计数。

首先由超声波发射探头向倒车的方向发射超声波并同时启动定时器计时,超声波在空气中传播的途中一旦遇到障碍物后就会被反射回来,当接收探头收到反射波后就会给负脉冲到单片机使其立刻停止计时。

这样,定时器就能够准确的记录下了超声波发射点至障碍物之间往返传播所用的时间t(s)。

由于在常温下超声波在空气中的传播速度大约为340m/s,所以障碍物到发射探头之间的距离为:

S=340×t/2=170×t

本系统使用HC-SR04超声波传感器来进行测距。

HC-SR04测距模块简介

(1)HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。

模块性能稳定,测度距离精确,模块高精度,盲区小。

产品应用领域:

机器人避障、物体测距、液位检测、公共安防、停车场检测。

实物图见图5:

(2)主要技术参数:

1:

使用电压:

DC---5V

2:

静态电流:

小于2mA

3:

电平输出:

高5V

4:

电平输出:

底0V

5:

探测距离:

2cm-450cm

6:

高精度:

可达0.3cm

图5HC-SR04超声波模块

HC-SR04模块工作原理

(1)采用IO口TRIG触发测距,给至少10us的高电平信号;

(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;

(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。

测试距离=(高电平时间*声速(340M/S))/2;

HC-SR04模块使用方法简单,本系统中单片机的一个控制口P3.4发一个10US以上的高电平送到HC-SR04模块的TRIG端口,同时模块内部自动发送8个40khz的方波,同时打开定时器,就可以在接收口ECHO等待高电平输出。

当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离。

如此不断的周期测,即可以达到移动测量的值。

HC-SR04超声波模块时序图如下:

图6超声波时序图

以上时序图表明只需要提供一个10uS以上脉冲触发信号,该模块内部将发出8个40kHz周期电平并检测回波。

一旦检测到有回波信号则输出回响信号。

回响信号的脉冲宽度与所测的距离

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2