基于单片机的液位控制系统本科毕业设计资料.docx
- 文档编号:25684120
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:33
- 大小:4.47MB
基于单片机的液位控制系统本科毕业设计资料.docx
《基于单片机的液位控制系统本科毕业设计资料.docx》由会员分享,可在线阅读,更多相关《基于单片机的液位控制系统本科毕业设计资料.docx(33页珍藏版)》请在冰豆网上搜索。
基于单片机的液位控制系统本科毕业设计资料
摘要
二十一世纪是高科技时代,科技正在发展,一些传统的测控方式也会随着科技的发展而改革更新。
现代的工业、农业的生产中不仅要求液位控制系统更精准,更稳定,还要求其更新自动化程度快和性价比高。
基于单片机的液位控制系统具有测量精准度高、性能稳定可靠、能量消耗低而使用寿命较长的特点,将科学与液位测量相结合,而达到合理调配资源,降低能源消耗的目的。
超声波能在不同媒质中传播,且方向性强,传播距离远,消耗能量缓慢,碰到障碍物会产生反射,形成反射回波。
所以超声波常常被用于测量距离。
本设计采用超声波模块测量液面的高度,并把数据传送给AT89C51单片机。
单片机处理数据信息后判断是否开启水泵抽水来实现水位的基本控制功能。
本系统由LCD1602显示器、键盘、传感器、电源和水泵组成。
关键词:
单片机;超声波;LCD1602;传感器
Abstract
21stcenturyistheeraofhightechnology,technologyisbeingdeveloped,someofthetraditionalmeasureswillbeupdatedwiththedevelopmentandreformofscienceandtechnology.Modernindustryandagriculturerequiresnotonlyamoreintuitionandstableperformance,butalsofastupdateautomationandhighcost-effectivewiththecostinreducingproductionequipmentrequirements.Liquidlevelcontrolsystembasedonmicrocontrollerwithitshighcontrolaccuracy,reliableperformance,lowenergyconsumptionandlongworkinglifesettobeappliedtotheliquidlevelsystemcharacteristicsofthecontrol.Combinesciencewithliquidlevelmeasurementtoachieveareasonableallocationofresourcesandreducethepurposeofenergyconsumption.
Ultrasonicpropagationindifferentmedia,andstrongdirection,transmissiondistance,slowenergy,obstacleswillproducereflectiontoformecho.Ultrasoundisoftenusedtomeasuredistance.Thisdesignusesultrasonictomeasuretheheightofliquidlevel,thensentthedatatoAT89C51microcontroller.Microcontrollerdetermineswhethertoopenthepumpafterprocessingthedatafromultrasonicwavedistancemeasurementmoduletoachievethebasiclevelcontrol.ThesystemconsistsofLCD1602monitor,keyboard,sensors,powersupplyandwaterpump.
Keywords:
AT89C51UltrasonicwaveLCD1602sensor
1绪论
1.1选题的背景和意义
二十一世纪是高科技时代,科技正在发展,一些传统的测控方式也会随着科技的发展而改革更新。
在我们的工业、农业、副食品业等许多行业里,常常会碰到液位或者是液体流量的控制问题。
比如,化工厂化工液体的使用,饮料及食品加工、自来水厂蓄水等许多行业的生产或者加工的中,蓄液池是一必不可少的工具。
蓄液池中储蓄液体的液面通常都需要保持到一定的高度,既不能超过上限高度,也不能低于下限高度,否则,原液过多而造成的浪费或者原液太少而无法达到要求。
因此,控制液面的高度对工业控制来说很重要。
特别是在液体动态工作的状态下又要保证液面高度保持在一定的范围内,此时采用科技成果来对液位进行检测和控制,能够达到事半功倍的效果。
随着现代科技的发展与进步,液位控制系统成为现代生产生活中必不可少的科技辅助器件,对液位的实时测量和控制效果直接影响到产品的质量,而且也关系到生产的安全。
以前,是由人工来对液位进行相关的监测与控制,在这样的人工操控方式下,精确度得不到保证,而且有一定的隐患。
比如化工厂硫酸液位的控制,操作员操控的误差如果比较大,或者操作员所持的监控仪器有小部件掉落或损坏,可能会造成化学反应的失败,给工厂带来一定的损失,更给生产人员的人身安全带来了相当大的潜在威胁。
因此,精确的液位自动控制真的很重要。
1.2国内外发展形势
使用单片机为控制核心的测控装置性能好而价格低廉,所以许多国家包括我国在测控装置的研究与生产中,采取单片机来作为控制核心,研制出了许多优秀的测控系统,发表了很多学术文章。
随着技术的不断更新进步,在单片机测控装置方面不断出现了新型的测量方法,这些方法种类繁多,形成了一个大规模的复杂系统。
从上世纪七十年代开始,很多国家把现代控制理论和优化与控制相结合,其目的就是优化这些复杂的系统,使其变得更容易控制,进而发展成了如今的大系统理论。
液位测量的方法在测量方式上可分为接触式与非接触式两种类型。
(1)接触式测量法
用传感器与容器内被测液体直接相接触,从而获得测量数据的方法叫接触式测量法。
接触式测量法通常使用电容作为传感器。
电容器的介电常数会随着液位的改变而发生有规律的改变,所以其电容量也会发生规律性的改变。
由此可以把实时电容量转化为相应的电压、频率等物理量来进行测量。
(2)非接触式测量法
利用声波、光线、电场、磁场等不直接与被测液体相接触,从而获得测量数据的方法叫做非接触式测量法。
非接触式测量法通常使用超声波、光线、电场、磁场等作为测量的工具。
其特点是不像浮子之类的与被测介质直接相接触。
这些无形的物质既不受被测介质影响,也不影响被测介质。
该方法适用范围非常广泛,特别是在强腐蚀性、强污染性或者粘度高等介质中,非接触式测量法的优势更为突出。
1.3本系统主要完成的任务
(1)进行液位监测与控制的整体研究与设计。
(2)利用超声波传感器测量液面高度。
(3)通过采集液面高度的数据,准确的判断当前值是否在设定范围之间,如果大于设定最大值,则水泵开始工作,直到液面高度值达到最大值时,水泵停止工作。
如果液面高度值小于最小值时,则蜂鸣器报警。
(4)利用LCD1602显示器对当前液位值进行实时显示。
2系统硬件设计
2.1系统硬件结构
本设计用到的元件有:
51单片机、电解电容、瓷片电容、发光二极管、电源接头、开关、蜂鸣器、LCD1602显示器、超声波模块、下载器、三极管、电阻、按键、晶振以及水泵。
整个系统采用了模块化设计,总体系统由单片机最小系统模块、超声波模块、键盘设定模块、1602显示模块、报警模块组成。
硬件结构由传感器和单片机、蜂鸣器,LED灯,显示器及抽水装置组成。
该设计的整体系统框图如图2-1所示
图2-1整体系统框图
2.2AT89C51单片机模块
美国爱特梅尔(ATMEL)公司生产的AT89C51是一种高性能CMOS8位微处理器。
它的启动工作电压低,且自带4K字节FLASH存储器,可擦除只读存储器(ROM)反复擦除次数能达到一千次以上。
该微处理器也被称为51单片机。
AT89C51单片机采用了ATMEL高密度非易失存储器制造技术制造,具有很强的兼容性,不管是工业标准的MCS-51指令集,还是输出管脚,都能兼容。
AT89C51单片机将多功能CMOS8位处理器与4K字节的FLASH存储器组合在了单个芯片中,而成为一种高效的微控制器,其灵活性高,价格便宜的特点被很多嵌入式控制系统选择使用。
AT89C51单片机的主要特性如下:
(1)兼容性较好,能与MCS-51兼容
(2)可编程闪速存储器自带4K字节
(3)全静态工作的频率:
0Hz-24MHz
(4)可擦除ROM反复擦除次数可达到一千次以上
(5)数据保留时间可达十年
(6)三级程序存储器锁定
(7)内部带有6个中断源
(8)128×8位内部随机存取存储器
(9)32位可编程输入/输出端口线
(10)内部含有两个16位定时器/计数器
(11)带有可编程串行通道
(12)低功耗闲置与掉电模式
(13)内部自带振荡器和时钟电路
AT89C51芯片的引脚图如图2-2所示:
图2-2AT89C51的引脚图
引脚功能说明:
●VCC:
电源电压(+5V)
●GND:
电源地
●P0口:
P0端口是一个8位双向输入/输出端口。
P0口的引脚写入1时,代表高阻输入。
P0端能够用于外部程序数据存储器,数据或地址的低八位可以用P0端来定义。
P0口在flash编程时,被作为原码输入口,当flash进行校验时,P0端必须接上拉电阻才可以作为原码输出。
●P1口:
P1端口是一个8位双向输入/输出端口,端口内部带有上拉电阻。
P1口引脚写入1时,管脚被内部上拉电阻上拉呈高电平,作为输入使用,同时P1口被外部下拉呈低电平,输出电流。
当flash进行编程和校验时,P1端口可作为低八位地址的接收。
●P2口:
P2端口是一个8位双向输入/输出端口,端口内部带有上拉电阻。
P2口引脚写入1时,管脚被内部上拉电阻上拉呈高电平,作为输入使用,同时P2口被外部下拉呈低电平,输出电流。
P2端口被用于外部程序存储器或地址外部数据存储器进行读写时,P2口输出地址的高八位。
当flash编程和校验时,P2端口作为高八位地址信号和控制信号的接收。
●P3口:
P3端口是八个双向输入/输出端口,端口内部带有上拉电阻。
P3口引脚写入1时,管脚被内部上拉电阻上拉电阻上垃呈高电平,作为输入使用,同时,P3口被外部下拉呈低电平,输出电流。
P3端口也可作为AT89C51单片机的一些特殊功能口,如:
串行输入/输出口、外部中断、计时器外部输入、外部数据存储器读/写选通、接收一些控制信号等。
●RST:
复位输入。
振荡器工作时,该引脚会发出两个机器周期的高电平信号使单片机复位。
●ALE/PROG:
访问外部程序存储器时,接低电平,该端口用于锁存地址的低8位字节,目的是隔离地位地址和数据。
不访问外部存储器时,此引脚可作为内部时钟,输出频率为晶振振荡频率的1/6的正脉冲信号。
接高电平时,该端口作为烧录时钟(编程脉冲)的输入端。
●PSEN:
当CPU从外部存储器读取指令时,该端口产生负脉冲,作为外部程序存储器的选通信号,PSEN引脚低电平有效。
●EA/VPP:
片内/片外程序存储器命令执行切换。
接高电平时,CPU执行片内程序存储器指令。
接低电平时,CPU执行片外程序存储器指令。
2.3超声波测距模块
2.3.1超声波简介
振动频率高于20000Hz的声波称之为超声波,而我们人类耳朵能听到的声波频率范围是20~20000赫兹,所以我们是听不到超声波的。
超声波有以下特性:
(1)超声波可在气态、液态、固态、熔融状态等介质中有效传播。
(2)超声波会产生反射、干涉、叠加和共振现象。
(3)超声波可传递很强的能量。
(4)超声波在液体中传播时可在液体临界面上产生冲击和空化的现象。
超声波能在不同媒质中传播,且方向性强,传播距离远,能量集中。
超声波对液体、固体的穿透力强,特别是在不透明的固体中,穿透的深度可达几十米。
超声波碰到障碍物会产生反射,形成反射回波,即使是微小的障碍物,也能发生反射,碰到运动中的物体能产生多普勒效应。
超声波是一种波长短,频率高、衍射现象小,能够成为射线而定向传播的机械波,具有机械波的通性。
超声波能够用电压激励换能晶片,晶片发生振动而产生。
超声波传感器根据超声波的物理特性研制而成。
超声波时序图如图2-3所示
图2-3超声波时序图
由超声波时序图不难看出,提供大于10us的TTL脉冲触发信号,超声波模块内部将会连续发出8个频率为40kHz周期的高电平信号并检测回波。
超声波接收探头检测到有回波信号后,模块根据回响信号时间间隔可以计算得到距离。
2.3.2HC-SR04超声波传感器
本设计采用了HC-SR04超声波测距模块,该模块由超声波发射器(发射探头)、接收器(接收探头)与控制电路构成,测距范围是2cm-400cm,测量精度为±3mm。
HC-SR04超声波传感器有四个引脚,依次是VCC、TRIG、ECHO、GND。
在TRIG端口施加一个持续10us以上的高电平信号,芯片就会自动发出八个频率为40kHz的方波,然后检测有没有信号返回,如果有,则通过ECHO端口输出一个高电平,高电平持续的时间为超声波发射到接收到回波的时间。
HC-SR04芯片引脚图如图2-4所示。
图2-4HC-SR04引脚图
引脚功能说明:
(1)VCC:
电源电压(+5V)
(2)Trig:
触发信号输入
(3)Echo:
回响信号输出
(4)Gnd:
接地
HC-SR04超声波芯片的电气参数见表2-1
表2-1HC-SR04超声波芯片电气参数
工作电压
直流+5V
工作电流
15A
工作频率
40kHz
测量最低射程
2cm
测量最远射程
400cm
测量角度
15°
输入触发性号
10us的TTL脉冲
输出回响信号
输出TTL电平信号
2.3.3HC-SR04超声波传感器测距原理
超声波发射探头发射超声波,方向朝探头指向方向。
在发射后开始计时,延时可以设定为1us左右,目的是避免刚开始发射的超声波干扰接收探头。
超声波在空气中按固定方向传播,途中碰到障碍物就会立即返弹回来,超声波接收器接收到反弹的回波后,就停止计时。
超声波属于机械波在空气中的传播速度和一般机械波相同,为340m/s.该模块会记录从发射到接收超声波的过程所需的时间t,根据公式(2-1),计算出发射点到障碍物之间的距离s,即:
s=0.5×vt公式(2-1)
式中s一发射点到障碍物之间的距离;
v一声音在空气中传播的速度;
t一计时器记录超声波发出到接收的时间。
超声波液位测量示意图如图2-5所示。
图2-5超声波测量液位示意图
2.3.4HC-SRO4超声波模块电路图
该模块的发射电路图如图2-6所示。
图2-6HC-SR04模块发射电路图
其接收电路图如图2-7所示。
图2-7HC-SR04接收电路图
2.4LCD1602显示模块
2.4.1LCD1602显示器介绍
LCD1602显示器属于字符型LCD显示器,格式为16×2行,能显示2行每行为16字符的数字、字母或者符号。
它是一种专门用于显示字符的点阵式LCD,目前常用的LCD有16×1行、16×2行、20×2行、40×2行的模块。
其引脚图如图2-8所示。
图2-8LCD1602引脚图
引脚功能说明如表2-2
表2-2LCD1602引脚功能表
引脚
引脚功能
引脚
引脚功能
VSS
电源地
D2
数据传输IO口
VCC
电源正
D3
数据传输IO口
VEE
屏幕显示偏压
D4
数据传输IO口
RS
数据、命令选择口
D5
数据传输IO口
R/W
读、写选择口
D6
数据传输IO口
E
使能信号端
D7
数据传输IO口
D0
数据传输IO口
LED+
背光源正端(+5V)
D1
数据传输IO口
LED-
背光源负端
LCD1602主要参数见表2-3
表2-3LCD1602参数表
名称
参数
显示规格
16×2
正常工作电压
4.5~5.5V
正常工作电流
2.0mA
最佳工作电压
5.0V
单位字符尺寸
宽:
2.95mm高:
4.35mm
2.4.21602LCD指令说明及其时序
1602液晶模块内部的控制器共有11条控制指令,详见表2-4
表2-4LCD1602指令说明表
读写操作时序图分别见图2-9与2-10
图2-9读取操作时序图
图2-10写入操作时序图
2.5电源模块
由于AT89C51单片机以及其他芯片均需要用直流电供电,所以本系统将直接采用直流电源供电,而避免了市电整流的麻烦,且直流电源供电具有能随身携带的优势。
电源模块的电路图如图2-11所示。
图2-11电源模块电路图
PWR2.5为电源插座,可以插入2.5mm圆头电源线。
C1、C2为滤波电容,使电源能够平稳供电。
D1为发光二极管,其作用是做指示灯,当电源模块工作时,能直观地让人们知道系统电源工作正常。
2.6按键模块
按键的作用是设置液位的安全范围,采用了3个按键开关连接到AT89C51单片机的P1口。
其电路图如图2-12所示。
图2-12按键模块电路图
按键开关S1连接到单片机的P1.3,其作用是在选择上限高度或者下限高度中切换。
按键开关S2连接到单片机的P1.4,其作用是增加高度数值,每次数值为1mm。
按键开关S3连接到单片机的P1.5,其作用是减少高度数值,每次数值为1mm。
2.7报警模块
报警模块在控制系统乃至大多数智能系统中都是至关重要的。
系统有了报警模块,在非正常工作状态或某些紧急情况下,发出报警,引起工作人员注意而及时处理。
本系统的报警模块使用了闪光和鸣音二位一体的报警系统。
报警装置主体是由一个8550三极管、一个发光二极管和一个蜂鸣器组成。
其电路图如2-13所示。
图2-13报警模块电路图
D2是LED发光二极管,连接到单片机的P2.0。
LS1是蜂鸣器,连接到单片机的P2.1。
当被测液体的液面高度高于设定的最大值或者低于设定的最小值时,单片机会发出一个信号经三极管Q1放大后传给蜂鸣器LS1,蜂鸣器会产生3kHz左右的蜂鸣声音,并且LED报警灯闪烁。
2.8抽水系统模块
整个液位控制系统中,抽水系统起到一个直接操控液面高度的作用,如果说单片机是大脑,那么抽水系统就是双手,“大脑”判断什么时候开始抽水,什么时候停止抽水,而“双手”就是完成此命令的载体。
它由一个水泵和一个8550三极管组成。
其电路图如图2-14所示。
图2-14抽水模块电路图
B1为水泵,超声波测距模块收集到的数据传送给单片机分析处理,如果液面高度低于设置的下限高度时,单片机则会发送一个信号经三极管Q2放大后传给水泵后,水泵开启抽水。
直到液面高度达到设定范围值时,水泵关闭。
2.9整体电路图
方案一:
采用PCB覆铜板连接电路。
用AltiumDesigner软件将电路图设计好后,只需将电路图纸给厂家,由厂家来制作电路板。
这种电路板的优势是电路连线都刷在板子上,我们只需要将需要的元件焊接到电路板对应的位置,就可以启动电路测试了。
缺点是成本比较高,得不到动手能力的锻炼。
方案一的电路图如2-15所示。
图2-15方案一电路图
方案二:
把以上七大模块进行合理布局之后,在万用电路板上进行元件和电路的焊接。
这种电路板上全是附有圆形铜片的洞洞,需要将元件焊接在电路板上,还要进行电路焊接。
这种电路板的优点是电路可以随时改动,能锻炼我的动手能力。
缺点是布局麻烦,焊接电路麻烦,虚焊、短路的可能性更大。
整体电路图如图2-16所示。
图2-16方案二电路图
考虑到成本问题,我选择了方案二的电路连接,而且方案二能更好的锻炼我的布局思路以及焊接技术。
我会尽可能的让元件在万用板上排列的紧凑,这样会使设计更加小巧便携。
焊接好的实物电路图如图2-17所示。
图2-17实物电路图
3系统软件设计
3.1系统工作原理
本系统的核心是AT89C51单片机,数据的采集、传输、显示、报警等等都要通过单片机来实现。
液面高度的数据采集通过HC-SR04超声波测距传感器来完成,再通过单片机把采集的数据传输给LCD1602显示器并显示在液晶屏上。
当采集的数据大设置的上限时,蜂鸣器会实时报警,并伴随着LED指示灯闪烁;小于设置的下限时,蜂鸣器报警,LED指示灯闪烁,并且水泵开始工作抽水,直到液面高度值达到设定范围内。
3.2主程序流程图
本系统的主程序流程图如图3-1所示。
小于设定高度大于设定高度
Y
NY
图3-1主程序流程图
3.3超声波测距模块设计
首先把系统初始化,配置定时器T0和定时器T1的工作方式,对定时器T0的高八位和低八位进行清零,设置为方式1。
定时器T1的高八位和第八位分别设为2ms定时。
对定时器中断进行设置,然后开启总中断,当定时器中断任务结束之后关闭总中断并读取存储的最大值与最小值。
然后发出一个超声波脉冲,延迟0.1ms后,打开外部中断接收返回的超声波信号,原因是避免超声波从发射器发出直接传送到接收器,造成采样数据错误。
由于采用晶振的振荡频率为12MHz的,其发出一个脉冲的时间为1/12微秒,所以1个机器周期为1us。
当主程序检测到接收成功的标志位后,将计数器T0中的数据按第二章里面的公式(2-1)计算就可测得被测物体与测距仪之间的距离,T0中的数就是超声波从发射到接收所用的时间。
1、超声波测距程序流程图如图3-2所示。
图3-2超声波测距子程序流程图
2、定时中断子程序流程图如图3-3所示。
图3-3定时中断子程序流程图
3、外部中断子程序流程图如图3-4所示。
图3-4外部中断子程序流程图
3.3按键模块设计
由于有了按键模块,整个系统的参数就可以重新设置。
第一个按键的作用是切换上限或者下限。
后两个按键的作用是增加或者减少设置液面高度的数值,每按一次改变的值为1mm。
按键模块的程序流程图如图3-5所示。
N
Y
图3-5按键程序流程图
3.4报警模块设计
当被测液体的液面高度高于设定的最大值或者低于设定的最小值时,单片机从P2.1口发出一个信号经三极管放大后传给蜂鸣器,蜂鸣器会产生3kHz左右的蜂鸣声音。
同时从P2.0口发出一个信号给LED发光二极管,LED灯闪烁报警。
报警程序的实现流程如图3-6所示。
Y
N
Y
N
图3-6报警程序流程图
4软件制作与调试
4.1软件制作
根据该设计需要实现的功能,分模块编写C语言代码。
经过KEIL软件调试成功后,用51单片机开发板烧录进AT89C51单片机里。
4.2软件调试
把C语言代码写好后,用KEIL软件编译调试,如图4-1所示。
图4-1编译调试1
点击项目栏中的“d”图标
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 控制系统 本科 毕业设计 资料