基于单片机的水位控制系统设计.docx
- 文档编号:6231608
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:27
- 大小:250.64KB
基于单片机的水位控制系统设计.docx
《基于单片机的水位控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的水位控制系统设计.docx(27页珍藏版)》请在冰点文库上搜索。
基于单片机的水位控制系统设计
河北经贸大学
毕业设计(论文)
基于单片机的水位控制系统的设计
系别信息技术学院
专业电子信息工程
班级2009
(1)班
学生姓名林杰
学号************
指导教师周严良
摘要
液位测量广泛应用于工业、经济、生活等领域。
本设计以水箱供水为模型,用于对水箱液位信号进行测量监控记录。
基于单片机的液位测量装置具有测量准确、重复性好、功耗低、使用寿命长的特点,是广泛采用的技术。
在深入学习科学发展观的同时,电子设备的设计也需融入可持续发展的设计理念。
故此,在基于单片机的液位测量装置基础上,扩展实时监控、数据采集、计算机串行通信等功能,从而能够通过科学的方法将液位测量与统计科学结合,合理调度水资源,降低能源消耗。
本文从系统方案选择与论证,硬件电路设计,系统软件与上位机软件设计等几个方面介绍了基于单片机的液位测量监控系统的设计过程,最终实现了液位的实时测量与监控。
最后,本文总结了设计过程中出现的问题及解决方法,简要叙述了所获数据的处理方法,引出了进一步设计开发的思路。
关键词:
单片机;液位测量;实时监控;串口通信
TheDesignofLiquidLevelControlSystemBasedonMCU
Abstract
Theliquidlevelmeasurementiswidelyusedinindustry,economy,lifeandotherfields.Thisdesigntakethewatertankwatersupplyasamodel,usesincarriesonthesurveytothewatertankfluidpositionsignaltomonitortherecord.
TheliquidlevelmeasurementdevicebaseonMCUiswidelyusedbecauseofmanycharacteristicssuchashighmeasurementaccuracy,goodrepeatability,lowpowerconsumptionandlongusefultime.WhenwestudyScientificOutlookonDevelopmentthoroughly,thedesignofelectronicaidshouldincludethethoughtofsustainabledevelopment.So,beyondtheliquidlevelmeasurementdevicebasedonMCU,expandthefunctionsofreal-timemonitoring,dataacquisition,serialcommunication.Throughthenewfunctions,thescientificmethodoftheliquidlevelmeasurementcouldbecombinedwithStatisticalScience,beusedtomanagethewaterresourcesreasonable,reduceenergyconsumption.
Thisthesisintroducesthedesignprocessoftheliquidlevelcontrolsystembyseveralpartsassystemschema,thedesignofhardwarecircuit,thesoftwareofhostcomputerandsystemsoftware,ultimatelyachievedthelevelofreal-timemeasurementandmonitoring.Finally,thepapersummarizestheproblemsandsolutionsofthedesignprocess,describesbrieflythemethodofdataprocessing,andleadstoideasofthefurtherdesignanddevelopment.
Keywords:
MCU;LiquidLevelMeasurement;Real-timemonitoring;SerialCommunication
引言
上世纪40年代,电子计算机的诞生,标志着人类电子技术进入了一个新的阶段。
1976年单片机的推出为电子电路设计提供了新的思路,也促进了模拟电路向数字电路发展的历程。
它在一片芯片上集成了完整的计算机系统。
从它的发展来看,低功耗CMOS化、微型单片化、主流与多品种共存的发展趋势更进一步促使了单片机在各个行业的应用。
这些应用,很大一方面体现在工业控制中。
在工业上,使用单片机可以构成形式多样的控制系统和数据采集系统。
工程应用中液位的测量常用方法主要有超声波、激光红外测距、机械浮子、压力传感器测距等几种。
这些测量方式对一般液位的测量来说各有各的优点,可根据不同的应用场合和要求进行选择。
比如,常见的液位控制系统多采用浮标、电极等,这种控制形式结构简单成本低廉,但是控制精度不高,不能进行数值显示;另外容易引起误操作,与上位机进行信息交互比较困难。
随着科技的发展,液位测量技术趋于智能化、微型化、可视化。
本设计思想是用单片机做下位机,PC机做上位机,单片机和PC机相结合对水箱液位进行测量和监控。
该设计要求具有一定的智能化,可操作性和稳定性好。
第1章绪论
1.1课题背景与研究意义
在工农业生产中,常常需要测量液体液位。
随着国家工业的迅速发展,液位测量技术被广泛应用到石油、化工、医药、食品等各行各业中。
低温液体(液氧、液氮、液氩、液化天然气及液体二氧化碳等)得到广泛的应用,作为贮存低温液体的容器要保证能承受其载荷;在发电厂、炼钢厂中,保持正常的锅炉汽包水位、除氧器水位、汽轮机凝气器水位、高、低压加热器水位等,是设备安全运行的保证;在教学与科学研究中,也经常碰到需要进行液位控制的实验装置。
1.2国内外研究现状及发展
液位测量的方法比较多,依据测量方式的不同可分为接触式与非接触式两种类型。
●接触式测量法
接触式测量法是指测量用传感器直接与容器内存储液体相接触,从而获得测量参数的方法。
1.人工检尺法
人工检尺法可用于测量油罐液位,其历史十分悠久。
它利用浸入式刻度钢皮尺测量液位,这种方法具有测量简单、可靠性高、直观、成本低的优点,但人为读数误差大、无法实现自动检测和操作。
2.电参数测量法
常见的有电阻法、光电法、测重法、电容法、浮标法及声光电的反射回波法等。
无论怎样,这些方法的关键是利用液位传感器将液位的相对位移量转换成为电压、电流、阻抗等便于进行电处理的物理量。
限于篇幅,下面仅简单介绍电容测量法的基本原理。
本方法所使用的电容通常由两块圆柱形极板或一个探极与罐壁构成。
当液位不同时,电容器的介电常数就不同,故电容量也不同。
在此基础上可以把电容量转化为电压、相移、频率、脉宽等物理量,再进行测量。
●非接触式测量法
非接触式测量法包括超声波法、调制型光学法、微波法等。
其特点是测量手段并不采用浮子之类的固态物,而是利用声、光、射线、磁场等的能量。
液位传感器不和被测介质接触,不受被测介质影响,也不影响被测介质,故适用范围广泛。
特别是接触式测量装置不能适用的特殊场合,如高粘度、强腐蚀性、污染性强,易结晶的介质。
第2章系统总体方案
2.1系统设计要求
本设计以水箱供水为模型,鉴于单片机液位测量装置的测量准确、重复性能好、功耗低、使用寿命长等特点,设计以单片机为基础的液位测量监控记录系统。
它具有实时测量监控水箱液位高度并显示的功能,并根据实时水量与设置的上、下液位参数的比较,启动电机供水或停止水泵。
在启动电机与停止水泵时,实时记录时间点与电机状态。
液位测量高度≤5米,测量精度10%,AC220V供电。
2.2系统框图
根据系统的设计要求,采用单片机为主控芯片,通过单片机数据地址总线及I/O端口,扩展数据存储模块、A/D转换模块、显示模块、时间模块、串口通信模块以及A/D转换、电机控制等外围电路,从而实现系统所需的设计功能。
系统总体方案框图如图2-1:
图2-1系统总体框图
图中,信号流向仅指示了通过数据地址总线或I/O口上发生的数据信号,不包括控制信号。
2.3硬件设计方案
2.3.1主控模块设计方案
我们采用与MCS-51兼容的AT89S52单片机满足设计要求。
2.3.2键盘模块设计方案
键盘在单片机应用系统中是一个很关键的部件,它能实现向单片机输入数据、发送命令等功能,是人工干预单片机系统的主要手段。
考虑到本设计实际需要的按键较少,故采用独立式键盘接口电路即可。
2.3.3显示模块设计方案
显示器是计算机的主要输出设备,在简单的工业控制系统中,常用的显示器有数码管显示器(LED),液晶显示器(LCD)等,该系统仅需显示液位高度,即数字量,采用LED显示器已能满足系统要求。
系统中,要求测量范围≤5m,测量精度为10%,假设测量范围为5m,在10%精度的要求下,其测量的有效值为5*10%=0.5m。
因而采用2位LED显示器便能满足设计要求。
在单片机应用系统中,LED显示器的现实方法有两种:
静态显示法和动态显示法。
静态显示法的优点是显示程序十分简单,显示亮度大,由于CPU不必经常扫描显示器,所以节约了CPU的工作时间。
但静态显示也有其缺点,主要是占用I/O口资源较多,硬件成本较高。
所以静态显示法常用在显示器数目较少的应用系统中。
为了解决静态显示占用I/O口资源的缺点,在软件上采用压缩BCD码输出显示数据,硬件上使用一个8位锁存器74LS273与两个BCD数码显示译码驱动芯片74LS47连接,减少对系统资源的占用时间。
由于74LS47译码为共阳极数码管的码表,因而选用8段(带小数点)共阳极LED用于数据显示。
高位显示米单位,低位显示分米单位,且高位小数点常亮。
单片机使用1位I/O口控制数据的锁存。
2.3.4数据存储模块设计方案
使用AT89S52内部256字节的数据存储器记录数据是远远不够的,因而需要扩展数据存储器进行数据存储。
数据存储器可选择的种类繁多,常用的有随机存取存储器(RAM)、只读存储器(ROM)与闪存(FLASH)。
根据设计要求,记录某一记录点(电机状态改变时刻)的状态与时间需要6字节数据,即年(2000-2099年)、月(1-12月)、日(1-31日)、时(0-23时)、分(0-59分)、状态(0或1)这些数据,如果系统长时间的工作,将会有大批量的数据产生,假若数据存储空间不够大,将会产生数据的覆盖,从而降低了对数据分析的准确性。
因此选用32K字节的数据存储器,可以记录大于5000项记录点数据,考虑到水箱上水与耗水的频繁程度不高,5000项数据已基本满足后期数据处理的需求。
在实际应用中,系统设计在不掉电的工作环境下;软件上,上位机软件对数据提取后即可保存在PC机中,5000项数据进行时间上的缓冲是充足的。
为节省CPU的工作时间,且由于RAM存储速度快、使用方便等特点,从而可以忽略了RAM掉电数据丢失的缺点。
2.3.5时间模块设计方案
通过单片机的定时器,可以设计时间功能,然而单片机自身的产生时间数据大大占用了系统的资源,降低了工作效率,甚至影响了其他功能的实现,因此在本设计方案中,采用了外部芯片提供时间信号,用以系统记录时间信息。
目前市场上的时钟芯片很多,如DS1302/DS1307/HT1380/HT1381/PCF8563等。
DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信。
实时时钟/日历电路提供秒、分、时、日期、日、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM指示决定采用24或12小时格式。
DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线
(1)RES(复位),
(2)I/O(数据线),(3)SCLK(串行时钟)。
时钟/RAM的读、写数据以一个字节或多达31个字节的字符组方式通信。
DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW。
综上所述,选用DS1302时间芯片完全满足设计的需求。
2.3.6A/D转换模块设计方案
A/D器件和芯片是实现单片机数据采集的常用外围器件。
A/D转换器的品种繁多、性能各异,在设计数据采集系统时,首先碰到的就是如何选择合适的A/D转换器以满足系统设计要求的问题。
选择A/D转换器件需要考虑器件本身的品质和应用的场合要求。
基本上,可以根据以下几个方面的指标选择一个A/D器件。
1)A/D转换器位数
A/D转换器位数的确定,应该从数据采集系统的静态精度和动态平滑性这两个方面进行考虑。
从静态精度方面来说,要考虑输入信号的原始误差传递到输出所产生的误差,它是模拟信号数字化时产生误差的主要部分。
量化误差与A/D转换器位数有关。
一般把8位以下的A/D转换器归为低分辨率A/D转换器,9~12位的称为中分辨率转换器,13位以上的称为高分辨率转换器。
10位以下的A/D芯片误差较大,11位以上对减小误差并无太大贡献,但对A/D转换器的要求却提得过高。
因此,取10位或11位是合适的。
由于模拟信号先经过测量装置,再经A/D转换器转换后才进行处理,因此,总的误差是由测量误差和量化误差共同构成的。
A/D转换器的精度应与测量装置的精度相匹配。
也就是说,一方面要求量化误差在总误差中所占的比重要小,使它不显著地扩大测量误差;另一方面必须根据目前测量装置的精度水平,对A/D转换器的位数提出恰当的要求。
目前,大多数测量装置的精度值不小于0.1%~0.5%,故A/D转换器的精度取0.05%~0.1%即可,相应的二进制码为10~11位,加上符号位,即为11~12位。
当有特殊的应用时,A/D转换器要求更多的位数,这时往往可采用双精度的转换方案。
2)A/D转换器的转换速率
A/D转换器从启动转换到转换结束,输出稳定的数字量,需要一定的转换时间。
转换时间的倒数就是每秒钟能完成的转换次数,称为转换速率。
确定A/D转换器的转换速率时,应考虑系统的采样速率。
例如,如果用转换时间为100us的A/D转换器,则其转换速率为10KHz。
根据采样定理和实际需要,一个周期的波形需采10个样点,那么这样的A/D转换器最高也只有处理频率为1KHz的模拟信号。
把转换时间减小,信号频率可提高。
对一般的单片机而言,要在采样时间内完成A/D转换以外的工作,如读数据、再启动、存数据、循环计数等已经比较困难了。
3)采样/保持器
采集直流和变化非常缓慢的模拟信号时可不用采样保持器。
对于其他模拟信号一般都要加采样保持器。
如果信号频率不高,A/D转换器的转换时间短,即采样高速A/D时,也可不用采样/保持器。
4)A/D转换器量程
A/D转换时需要的是双极性的,有时是单极性的。
输入信号最小值有的从零开始,也有从非零开始的。
有的转换器提供了不同量程的引脚,只有正确使用,才能保证转换精度。
在使用中,影响A/D转换器量程的因素有:
量程变换和双极性偏置;双基准电压;A/D转换器内部比较器输入端的正确使用。
5)满刻度误差
满度输出时对应的输入信号与理想输入信号值之差。
6)线性度
实际转换器的转移函数与理想直线的最大偏移。
ADC0804是单路8位逐次比较型双极性输入A/D转换器,转换时间小于
。
量化间隔:
(2-1)
绝对量化误差:
(2-2)
相对量化误差:
(2-3)
在液位传感器误差与参考电压误差不大的情况下,ADC0804是完全满足设计误差要求的。
2.3.7通信模块设计方案
AT89S52单片机内部有一个全双工异步串行I/O接口,占用P3.0和P3.1两个引脚。
利用该接口,可实现系统与上位机的通信。
不同设备间串口通信的过程中,需要采用相同的的接口标准才能通信。
典型的串行通讯标准是RS232和RS485,它们定义了电压,阻抗等,但不对软件协议给予定义。
因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。
PC机作为上位机,一般情况下带有RS-232C通信接口,鉴于RS-485接口的优点与系统实际工作环境的需要,系统采用RS-485接口标准,使用RS-232/RS-485转换器与PC机连接进行通信。
2.3.8电机控制模块设计方案
由于设计中没有规定水泵电机的参数规格,而且不同型号的水泵参数不尽相同,电气参数的不同使得在电路上的设计差异较大,因此在此仅作理论演示。
选用继电器作为电机控制的元件。
第3章硬件电路设计
3.1AT89S52硬件设计
AT89S52引脚定义及功能介绍如图3-1。
图3-1AT89S52引脚及网络标号
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在FLASH编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体如下所示:
在FLASH编程和校验时,P1口接收低8位地址字节。
引脚号第二功能:
P1.0/T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1/T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在FLASH编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
表3-1端口引脚第二功能
端口号
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INTO(外中断0)
P3.3
INT1(外中断1)
P3.4
TO(定时/计数器0)
P3.5
T1(定时/计数器1)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
图中网络标号RST连接单片机RST引脚,具有上电复位与手动复位的功能;XTAL1与XTAL2连接单片机XTAL1和XTAL2引脚,且并联两个30pF匹配电容使晶振起振。
由于单片机P0口作普通I/O口时不能输出高电平,因此需接上拉电阻,实际电路中,使用8*10KΩ电阻作为上拉电阻。
3.2按键设计
系统按键电路如图3-3所示。
下图中,S2~S5便是控制显示用的按键。
其作用就是通过按动它们实现对高低警戒液位的设置。
具体来说,S3、S4分别实现数字的增一与减一,S2、S5则作为高低警戒液位的模式选择和确认键。
图3-3系统按键电路
3.3显示单元硬件设计
在显示单元上,使用了74LS273带公共时钟复位八位触发器与74LS47共阳极BCD显示译码驱动芯片。
两个芯片的管脚图如图3-4:
74LS273与74LS47引脚功能说明:
74LS273:
1脚是复位CLR,低电平有效,当1脚是低电平时,输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部输出0,即全部复位;
当1脚为高电平时,11(CLK)脚是锁存控制端,并且是上升沿触发锁存,当11脚有一个上升沿,立即锁存输入脚3、4、7、8、13、14、17、18的电平状态,并且立即呈现在在输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上。
74LS47上BI/ROB,LI,RBI引脚为控制引脚,主要用于测试和脉冲控制,均为低电平有效,设计上不适用此项功能,因此均接高电平。
A0~A3是BCD输入,分解74LS273输出的高、低四位。
a~g用于共阳极数码管的相应管脚的连接。
为了保护LED数码管,在74LS47与LED之间添加限流电阻,以满足数码管的工作需要。
3.4存储单元硬件设计
存储模块的硬件设计比较简单,由于AT89S52单片机为数据线与低8位地址线复用,需要使用地址锁存芯片74LS373。
上文中已叙述,使用32KRAM作为存储芯片,因此选用与51系列兼容的62256随机数据存储器。
该模块中使用的两个芯片管脚功如图3-6:
在62256中,A0~A14管脚为地址总线,共15位,寻址范围可达到32kB;I/O0~I/O7为8位三态双向数据接口;Vcc,Vss为电源和地;CS是片选接口,低电平有效;OE/WE分别是读选通和写选通数据输入输入线,低电平有效。
图3-7存储的单元电路
74LS373引脚位置和功能与74LS273差异不大,区别在于其1脚是输出使能(OE),是低电平有效,当1脚是高电平时,不管输入3、4、7、8、13、14、17、18如何,也不管11脚(锁存控制端,G)如何,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈现高阻状态(或者叫浮空状态);当1脚是低电平时,只要11脚(锁存控制端,G)上出现一个下降沿,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈现输入脚3、4、7、8、13、14、17、18的状态。
74LS273也可以作为地址锁存器来用,作锁存器时,对273来说,1(CLR)脚必须接高电平,ALE信号经过反相后接11脚(因为单片机的ALE信号是以下降沿方式出现)对373来说,1脚接低电平,保证使能,11脚直接接单片机的ALE信号。
3.5时间单元硬件设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 水位 控制系统 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)