基于单片机的水位控制系统设计.docx
- 文档编号:3537664
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:23
- 大小:141.09KB
基于单片机的水位控制系统设计.docx
《基于单片机的水位控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的水位控制系统设计.docx(23页珍藏版)》请在冰点文库上搜索。
基于单片机的水位控制系统设计
目录
目录:
I
摘要:
Ⅱ
关键词:
Ⅱ
一、系统组成及工作原理1
1、系统的组成1
2、系统的工作原理1
(1)工作原理1
(2)原理框图1
(3)工作过程2
二、系统的硬件设计2
1、硬件组成2
2、硬件的特性3
(1)单片机系统3
(2)水位探测传感电路5
(3)光报警显示电路6
(4)稳压电路7
(5)水泵的介绍8
(6)电源电路模块10
(7)继电器控制电路10
(8)看门狗技术12
三、系统的软件设计14
1、软件设计框图14
2、程序设计15
(1)汇编语言程序设计15
(2)C语言程序设计16
四、基于单片机的水位控制系统的抗干扰措施17
1、硬件抗干扰电路的设计17
2、软件抗干扰的设计17
五、结束语17
参考文献18
基于单片机的水位控制系统设计
摘要:
液位是许多工业生产中的重要参数之一,在化工、冶金、医药、航空等领域里,对液位的测量和控制效果直接影响到产品的质量。
本文介绍一种基于单片机实现的液位控制器的设计方法,该控制器以单片机为核心,通过外围硬件电路来达到实现控制的目的。
由于单片微型计算机具有体积小,耗电少,控制精度高,运行可靠等的特点,所以广泛应用于生产实际中。
本文介绍了水位控制系统工作的基本原理。
阐述了一种基于单片机的通用水位控制系统的基本组成,并提出了该系统模块化的硬件和软件设计方法,本文设计了一种以AT89C2051为核心研制的液位控制系统,该系统不仅能对液位进行巡回检测、显示和报警,同时也能对液位进行智能控制。
单片机技术是信息时代用于精密测量的一种新技术。
此系统使用过程中采用稳压电路能够准确地把输入的电平送给单片机不会产生误判的情况,由于AT89C2051单片机有四端口,20引脚能够非常方便地设计显示系统。
关键词:
传感器单片机程序设计外围硬件电路
Abstract:
Manyindustrialproductionlevelisoneoftheimportantparametersinchemicalindustry,metallurgy,medicine,aviation,etc,thelevelmeasurementandcontroleffectdirectlyaffectthequalityoftheproducts.Thispaperintroducesalevelcontrollerbasedonmicrocomputerdesignmethod,thecontrollerbasedonsinglechip,throughtheperipheralhardwarecircuittoachievethepurposeofachievingcontrol.Becauseofthesinglechipcomputerhassmall,lessconsumption,highcontrolaccuracy,reliableoperationcharacteristics,soiswidelyusedinproductionpractice.Thispaperintroducesthewaterlevelcontrolsystemisthebasicprincipleofwork.ThisarticleexpoundsakindofbasedonSCMgeneralwaterlevelcontrolsystem,andputsforwardthebasiccompositionofthissystemmodularhardwareandsoftwaredesignmethod,thispaperintroducesadesignforthecoredevelopedbyAT89C2051levelcontrolsystem,thissystemnotonlycanlevelToursofinspection,displayandalarm,alsocanthelevelofintelligentcontrol.Informationagemicrocontrollertechnologyisusedforprecisionmeasurementsofakindofnewtechnology.Thissystemusedinuseprocessvoltagecircuitcanaccuratelyputinputleveltomicrocontrollerwon'tproducemisjudgment,becausetherearefourports,single-chipmicrocomputerAT89C205120pinscanveryeasilydesigndisplaysystem.
Keywords:
sensormicrocontrollerprogramdesignperipheralhardwarecircuit
一、系统组成及工作原理
1、系统的组成
基于单片机实现的水位控制系统是以AT89C2051芯片为核心,由电源电路、水位探测传感电路、稳压电路、单片机系统、光报警显示电路、继电器控制水泵加水电路、以及高塔模型组成。
2、系统的工作原理
(1)工作原理
利用单片机为控制核心,设计一个对供水箱水位进行监控的系统。
根据监控对象的特征,要求实时检测水箱的液位高度,并与开始预设定值做比较,由单片机控制固态继电器的开断进行液位的调整,最终达到液位的预设定值。
检测值若高于上限设定值时,要求报警,断开继电器,控制水泵停止上水;检测值若低于下限设定值,要求报警,开启继电器,控制水泵开始上水。
现场实时显示测量值,从而实现对水箱液位的监控。
(2)原理框图
原理框图如图1所示。
图1系统结构图
本系统的主电气原理图如下:
(3)工作过程
当水位处于低水位的时候,传感器的低水位探测线没被+5V的电源导通进入稳压电路经过处理在稳压电路的输出端有一个高电平,送入单片机的P1.0口,另一个稳压电路输出的高电平进入单片机的P1.1口单片机经过分析,在P1.2口输出一低电平,驱动红灯亮,P1.5出来一个信号使光电耦合器GDOUHE导通,这样继电器闭合,使水泵加水;当水位处于正常范围内时,水泵加水,在P1.3引脚出来一个低电平,使绿灯亮;当水位在高水位区时,传感器的两根探测线均被导通,均被+5V的电源导通,送入单片机,单片机经过分析,在P1.4引脚出来一个低电平,使黄灯亮,在P1.5端出来一个低电平不能使光电耦合器导通,这样继电器不能闭合,水泵不能加水;当三灯闪烁表示系统出现故障。
二、系统的硬件设计
1、硬件组成
水位控制系统的硬件主要包括单片机系统、水位探测传感电路、光报警显示电路、稳压电路、继电器控制水泵加水电路、以及高塔模型组成。
2、硬件的特性
(1)单片机系统
AT89C2051是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,片内含2kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器。
本设计中单片机采用AT89C2051,它是一种高性能低价格单片机。
引脚(20个)和指令系统与8031单片机完全兼容。
片内有2K字节的闪速程序存储器(采用电擦除编程,可重复编程1000次,数据可保10年),除没有P0口、P2口外,具有8031所有功能结构,即一片AT89C2051相当于8031、373、2716组成的最小系统。
用它构成的测量、控制系统具有电路简单、可靠性好、体积小和成本低等优点。
AT89C2051的P1口为八位双向I/O口,P1.2~P1.7有内部上拉电阻,P1.0与P1.1无内部上拉电阻。
P1.0与P1.1具有第二功能,分别作为片内精密比较器的同相、反相输入端。
P1口输出驱动器能提供20mA的灌电流驱动能力,其锁存器写1时可作为输入口。
AT89C2051的P3口为七位双向I/O口,有内部上拉电阻,P3口输出驱动器能提供20mA灌电流驱动能力,其锁存器写1时可作输入口。
P316作为输入线与片内精密比较器输出端在片内相连,故无引出线,但可读该位的值。
P310~P315的第二功能与8031P3口相应口线的第二功能完全相同。
综上所述,P1和P3口中的各口线可直接驱动发光二极管,不用再配置发光二极管驱动电路,P1.0与P1.1具有第二功能,不用再配置比较器,从而简化了控制电路的结构。
以下是对其引脚及其功能的简要说明:
<1>主电源引脚:
接电源。
<2>外接晶体引脚XTAL1和XTAL2
XTAL1:
接外部晶体的一个引脚。
在单片机内部,它是构成片内振荡器的反放大器的输入端。
当采用外部振荡器时,该引脚接收振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。
XTAL2:
接外部晶体的另一个引脚。
在单片机内部,它是上述振荡器的反相放大器的输出端。
采用外部振荡器时,此引脚应悬浮不连接。
<3>控制或与其他电源复用引脚RST,ALE/
,
/Vpp
RST:
复位输H入端。
当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。
ALE/
:
当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。
即使不访问外部存储器,ALE端仍以不变的频率(此频率为振荡器频率的1/6)周期性地出现正脉冲信号。
因此,它可用作对外输出的时钟,或用于定时目的。
然而要注意的是:
每当访问外部数据存储器时,将跳过一个ALE脉冲。
/Vpp:
外部访问允许端。
要使CPU只访问外部程序存储器(地址为0000H~FFFFH),则
端必须保持低电平(接到GND端)。
然而要注意的是,如果保密位LB1被编程,复位时在内部会锁存
端的状态。
当
端保持高电平(接Vcc端)时,CPU则执行内部程序存储器中的程序。
<4>输入/输出引脚P0.0~P0.7,P1.0~P1.7,P2.0~P2.7和P3.0~P3.7
P0端口(P0.0~P0.7):
P0是一个8位漏极开路型双向I/O端口。
作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。
在Flash编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。
验证时,要求外接上拉电阻。
P1端口(P1.0~P1.7):
P1是一个带有内部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可驱动(吸收或输出电流方式)4个输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL)。
在对Flash编程和程序校验时,P1接收低8位地址。
P2端口(P2.0~P2.7):
P2是一个带有内部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL)。
在对Flash编程和程序校难期间,P2也接收高位地址和一些控制信号。
P3端口(P3.0~P3.7):
P3是一个带内部上拉电阻的8位双向I/O端口。
P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
P3作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL)。
在AT89S51中,P3端口还用于一些复用功能,在对Flash编程或程序校验地,P3还接收一些控制信号。
复用功能如表2-1所列:
表2-1P3各端口引脚与复用功能表
端口引脚
复用功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外部中断0)
P3.3
(外部中断1)
P3.4
T0(定时器0的外部输入)
P3.5
T1(定时器1的外部输入)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
下图为单片机最小系统电路图:
图2最小系统电路图
(2)水位探测传感电路
传感器是一种能感受被测物体物理量并将其转化为便于传输或处理的电信号的装置,在现代科技领域中,传感器得到了广泛应用,各种信息的采集离不了各种传感器,传感器的基本功能在于能感受外界的各种“刺激”并作出迅速反映。
本设计当中我们采用的水位探测传感器简单易做,经济实惠。
其外形轮廓如下:
A为接+5V电源的线与水一直保持连通,B线为低水位控制线,当水位到达低水位的时候它不导通,水在正常范围内时,它导通。
C线为高水位控制线,当它导通时,表示水已经为高水位。
图3水位探测传感器外观图
(3)光报警显示电路
发光二极管(LED)是用半导体材料制作的正向偏置的PN结二极管。
其发光机理是当在PN结两端注入正向电流时,注入的非平衡载流子(电子-空穴对)在扩散过程中复合发光,这种发射过程主要对应光的自发发射过程。
按光输出的位置不同,发光二极管可分为面发射型和边发射型。
发光二极管的发光原理同样可以用PN结的能带结构来解释。
制作半导体发光二极管的材料是重掺杂的,热平衡状态下的N区有很多迁移率很高的电子,P区有较多的迁移率较低的空穴。
由于PN结阻挡层的限制,在常态下,二者不能发生自然复合。
,而当给PN结加以正向电压时,沟区导带中的电子则可逃过PN结的势垒进入到P区一侧。
于是在PN结附近稍偏于P区一边的地方,处于高能态的电子与空穴相遇时,便产生发光复合。
这种发光复合所发出的光属于自发辐射,辐射光的波长决定于材料的禁带宽度。
本电路采用不同颜色的发光二极管来表示不同的水位情况。
即红灯亮,他两灯不亮表示是低水位状态,此时需要启动水泵加水;绿灯亮,其他两灯不亮表示在正常的水位线内;黄灯发亮,其他两灯不亮为高水位状态,水泵停止加水,三灯闪烁表示系统出现故障。
图4光报警电路的原理图
此电路采用的是共阳极的,所以只有当单片机给发光二极管为低电平时才能推动发光二极管点亮。
其中R14、R15、R16为上拉电阻起限压控流作用。
(4)稳压电路
本电路的主要作用是使从传感器输出的电平能够稳定地输入单片机中,主要由三极管的两极放大稳定电路组成,其工作过程是水位探测传感器把探测到的电信号送给R12,如果送入的是高电平则R11、Q5、D3、Q4导通把低于1.4V的低电平稳定地送给单片机。
如果是低电平送给R12则R11、Q5、D3、Q4均不能导通二是R13导通将把高于1.4V的高电平稳定的送给单片机。
我查找了相关资料以及我们自己在设计过程当中免去此稳定电路,发现有时候也能实现我们的设计目的,但是也有很多时候发生水位误判的情况,产生不稳定现象,所以我们认为此电路是不可缺少的。
既然是控制系统,当然就要控制精确。
图5稳压电路原理图
(5)水泵的介绍
水泵是每个家庭必不可少的生活工具,虽然大多数人并没有认识到这一点,但这确是事实。
很多人对水泵一无所知。
水泵一般多以泵的结构和作用原理来分类,有时根据需要也按使用部门、用途、动力类型和泵的水力性能等进行分类。
水泵参数是指泵工作性能的主要技术数据,包括流量、扬程、转速、效率和比转数等。
<1>流量(Q)
泵的流量是指单位时间内所排出的液体的数量。
通常泵的流量用体积计算,以Q表示,单位为米3/时(m3/h)、米3/秒(m3/s)、升/秒(1/s),也可用重量计,以G表示,单位为吨/时(t/h)、吨/秒(t/s)、千克/秒(kg/s)。
G与Q的关系:
G=r×Qr-液体重度(千克/米3)
因水的重量近似1000千克/米3,故1升/秒=3.6米3/时=3.6吨/时
<2>扬程(H)
泵的扬程是指单位重量的液体通过泵所增加的能量。
以H表示,实质上就是水泵能够扬水的高度,又叫总扬程或全扬程。
单位为米液柱高度,习惯上省去“液柱”,以米(m)表示。
泵的总扬程由吸水扬程与出水扬程两部分组成,因此总扬程=吸水扬程=出水扬程但由于水流经过管路时受到各种阻力而减少了泵的吸水扬程和出水扬程,因此:
吸水扬程=实际吸水扬程+吸水损失扬程
出水扬程=实际出水扬程+出水损失扬程
损失扬程=吸水损失扬程+出水损失扬程
总扬程=实际扬程+损失扬程
由于水泵铭牌上标明的扬程是上述水泵的总扬程,因此不能误认为铭牌上的扬程是实际扬程数值,水泵的实际扬程都比水泵铭牌上的扬程数值小。
因此在确定水泵扬程时,这一点要特别注意。
否则,如果只按实际扬程来确定水泵的扬程,订购来的水泵扬程就低了,那可能会降低水泵的效率,甚至打不上水来。
损失扬程与管路上的水管和附件种类(低阀、闸阀、逆止阀、直管、弯管)、数量、水管内径、管长、水管内壁粗糙程度以及水泵流量等都有密切关系,这一点在管路设计和选配水管和附件时也应注意。
<3>允许吸上真空高度(Hs)
允许吸上真空高度是指真空表读数吸水扬程,也就是泵的吸水扬程(简称泵的吸程),包括实际吸水扬程与吸水损失扬程之和。
以Hs表示,单位为米(m)。
允许吸上真空高度是安装水泵高度的重要参数,安装水泵时,应使水泵的吸水扬程小于允许吸上真空高度值,否则安装过高,就吸不上水或生产气蚀现象。
如生产气蚀,不仅水泵性能变坏,而且也可能使叶轮损坏。
<4>转速(n)
转速是指泵叶轮每分钟的转数,以n表示,单位为转/分(r/min)。
每台泵都有一定的转速,不能随意提高或降低,这个固定的转素称为额定转速,水泵铭牌上标定的转速即为额定转速。
如泵运转超过额定转速,不但会引起动力机超载或转不动,而且泵的零部件也容易损坏;转速降低,泵的效率就会降低,影响水泵的正常工作。
<5>比转数(ns)
在前述水泵型号中,有些型号的组成部分有比转数这个参数。
比转数与转速是两个概念,水泵的比转数,简称比速,常用符号为ns。
水泵的比转数是指一个假想的所谓标准水泵叶轮的转数,这个假想的水泵与真实水泵的叶轮各部分都几何相似,而在消耗功率为0.735千瓦、扬程为1米、流量为0.075立方米/秒时所具有的转数。
叶轮形状相同或相似的水泵比转数相同,叶轮形状不相同或不相似的水泵比转数不相同。
如轴流泵比转数比混流泵大,混流泵比转数也是反映水泵特性的综合性指标。
此外,要注意比转数大的水泵,其转速不一定高;比转数小的,转速不一定低。
大流量、低扬程的水泵,比转数大,反之则小。
一般比转数较低的离心泵,其流量小、扬程高;而比转数较高的轴流泵,其流量大、扬程低。
(6)电源电路模块
电源电路虽然简单,但需要功能可靠,所用采用两个三端集成稳压器7802、7805,可以方便的实现此功能,电路如图6所示
图6电源电路
(7)继电器控制电路
该电路由继电器RL1和闭合开关、光电耦合器、水泵R7、R8、R9、R10以及D2、Q3等组成。
当水位在低水位时单片机给P1.1送一个高电平导通光电耦合器然后光电耦合器驱动Q3导致继电器闭合从而让220V的交流电接通使水泵加水。
图7继电器控制水泵加水电路的原理图
其中光电耦合器是以光为媒介传输电信号的一种电一光一电转换器件。
它由发光源和受光器两部分组成。
把发光源和受光器组装在同一密闭的壳体内,彼此间用透明绝缘体隔离。
发光源的引脚为输入端,受光器的引脚为输出端,在本设计当中发光源为发光二极管,受光器为光敏三极管。
在本设计当中我们采用光电耦合器组成开关电路的作用,能够很好地将单片机信号稳定地送给继电器驱动继电器闭合。
继电器是具有隔离功能的自动开关元件,在我们设计当中主要来做自动控制作用,我们采用+5V的直流电来控制220V的交流电,以达到控制水泵的作用,因为是在这里是以一种弱电来控制强电所以安装和使用的过程当中我们一定要注意用电安全注意事项。
电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。
只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。
当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。
这样吸合、释放,从而达到了在电路中的导通、切断的目的。
对于继电器的“常开、常闭”触点,可以这样来区分:
继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。
(8)看门狗技术
在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(watchdog)。
看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:
看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位.
看门狗,又叫watchdogtimer,是一个定时器电路,一般有一个输入,叫喂狗(kickingthedogorservicethedog),一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给WDT清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT定时超过,就回给出一个复位信号到MCU,是MCU复位。
防止MCU死机.看门狗的作用就是防止程序发生死循环,或者说程序跑飞。
工作原理:
在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。
所以在使用有看门狗的芯片时要注意清看门狗。
系统软件"看门狗"的设计思路:
<1>看门狗定时器T0的设置。
在初始化程序块中设置T0的工作方式,并开启中断和计数功能。
系统Fosc=12MHz,T0为16位计数器,最大计数值为(2的16次方)-1=65535,T0输入计数频率是。
Fosc/12,溢出周期为(65535+1)/1=65536(μs)。
<2>计算主控程序循环一次的耗时。
考虑系统各功能模块及其循环次数,本系统主控制程序的运行时间约为16.6ms。
系统设置"看门狗"定时器T0定时30ms(T0的初值为65536-30000=35536)。
主控程序的每次循环都将刷新T0的初值。
如程序进入"死循环"而T0的初值在30ms内未被刷新,这时"看门狗"定时器T0将溢出并申请中断。
<3>设计T0溢出所对应的中断服务程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 水位 控制系统 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)