单片机的水位检测与控制系统的研究与设计方案.docx
- 文档编号:2611280
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:28
- 大小:542.56KB
单片机的水位检测与控制系统的研究与设计方案.docx
《单片机的水位检测与控制系统的研究与设计方案.docx》由会员分享,可在线阅读,更多相关《单片机的水位检测与控制系统的研究与设计方案.docx(28页珍藏版)》请在冰点文库上搜索。
单片机的水位检测与控制系统的研究与设计方案
题目:
基于单片机的水位检测系统的研究与设计
系别:
信息工程系
专业:
电气自动化
班级:
09自动化1班
学生:
凌晖
学号:
09321108
指导教师:
郭泉江职称:
助教
摘要
现代传感技术、电子技术、计算机技术、自动控制技术、信息处理技术和新工艺、新材料的发展为智能检测系统的发展带来了前所未有的奇迹。
在工业、国防、科研等许多应用领域,智能检测系统发挥着越来越大的作用。
随着社会的进步、生产工艺和生产技术的发展,人们对液位的检测与控制提出了更高的要求。
而新型电子技术微电子技术和微型计算机的广泛应用于普及,单片机控制系统以其控制精度高,性能稳定可靠,设置操作方便,造价低等特点,被应用到液位系统的控制中来。
本设计用液位检测集成芯片LM1042、A/D转换芯片A/D574A、继电器、水泵,以及AT89C51单片机作为主控元件的液位检测与控制的原理、电路及监控程序。
用LM1042液位检测集成芯片测量液位,具有测量精度高、速度快、可靠、稳定等优点;采用单片机来控制液位信息的采集,并且计算出真实液位值,通过运算判断是否超限报警,使检测与控制具有更高的智能性。
关键词:
AT89C51;AD574A;液位检测;LM1402;超限报警;继电器;水泵.
ABSTRACT
Modernsensingtechnology,electronictechnology,computertechnology,automaticcontroltechnology,informationprocessingtechnologyandnewtechnology,newmaterialforthedevelopmentoftheintelligentdetectionsystemdevelopmenthasbroughtanunprecedentedmiracle.Inindustry,nationaldefense,scientificresearchandmanyotherfieldsofapplication,intelligentdetectionsystemisplayingthemoreandmoremajorrole.Alongwiththeprogressofthesociety,theproductiontechnologyandproductiontechnologydevelopment,thepeopletotheleveloftestandcontrolputforwardhigherrequest.Andthenewelectronictechnologyofmicroelectronicstechnologyandmicrocomputer'swidelyusedinpopularity,single-chipmicrocomputercontrolsystemwithitshighcontrolaccuracy,highperformanceisstableandreliable,setting,convenientoperation,costlowcharacteristic,hasbeenappliedtotheliquidlevelcontrolsystems.ThisdesignwithliquidleveldetectionintegratedchipsLM1042,A/Dconverse.
Keywords:
AT89C51。
AD574A。
Theliquidleveldetection。
LM1402。
Overrunalarm。
Relay。
Waterpump.
第一章绪论1
1.1水位检测技术的应用与发展1
1.2水位检测系统设计的意义1
1.3本设计研究的内容和方法1
第二章系统硬件设计3
2.1系统总体功能概述3
2.2核心芯片的选择4
2.3硬件原理图10
第三章系统软件设计15
3.1软件功能概述15
3.2主程序设计16
3.3定时器T0中断服务程序17
3.4A/D转换子程序18
3.5LED显示子程序18
第四章结论19
参考文献20
致谢21
附录22
附录一主程序代码22
附录二电路图26
附录三PCB版27
第一章绪论
1.1水位检测技术的应用与发展
当今的工业领域中液位检测对许多自动控制方案来说都至关重要。
现代电子技术、传感技术、通信技术和计算机技术的迅速发展,也促进了水位监测技术自动化的发展。
水位监测是采集、存储、传输、处理等技术的集成。
从传统的水位检测与控制方式即人工监测技术分析来看,主要存在以下问题:
首先记录方式以模拟方式为主,就是数学方式记录的也很难方便的输入计算机处理,其次数据处理基本靠人工处理判断,费时易错,最后水位信息的采集、传输、处理的实时性和准确性较差,控制也是全人工操作,无法适应现代水文的需求。
因此,要用自动化技术促进水位检测与控制自动化的发展。
1.2水位检测系统设计的意义
水位检测系统是自然界和一般工业界不可缺少的一种检测系统。
但凡江河湖海,工业中应用的蓄水池、水塔、水箱、地下水等都需要有水位检测。
供水系统中有许多设备由于所处地势高,上下极为不便,有时水即将用完或者已经用完也不知道,造成需用水时却水量不足或者无水可用的情况。
此时,在向池中注入水过程中,由于不知道水位情况,也就无法控制水量多少,为了准确掌握水位情况,传统的做法是安排人员进行人为监控,这样不仅会占用人力、物力,还会大大影响工作效率。
为此需要对水位监测情况实现自动化监测、数据化、智能化显示、视觉或听觉冲击化报警,实现水位检测一个完整的系统,那么工作人员便可以在操作室获知整个设备的水位状况,如此不但大大减低工作人员的危险性,同时更提高了工作效率及简便性。
1.3本设计研究的内容和方法
内容:
本设计以MCS-51系列单片机为核心设计水位检测系统,自行设计电源,选用液位检测传感器检测液位,数码管显示,当液位高度太高或太低时,报警(可采用中断方式设计),由单片机控制继电器的闭合来控制水泵的工作,达到调节水位的效果。
方法:
本设计经过调研,收集且分析相关技术资料,综合考虑液位检测技术发展和液位检测系统特点的基础上,提出把液位检测显示同超限报警综合的解决方案。
本系统采用AT89C51单片机作为处理器,主要完成以下工作:
1.基于AT89C51的液位信息检测设计方案。
2.传感器LM1042、A/D转换芯片AD574A与单片机的接口电路设计。
3.LED数码管驱动芯片ICM7218与单片机的接口电路及其与数码管的硬件连接。
4.继电器控制水泵加水电路的设计。
5.设计主要软件程序模块,完成软件设计。
第二章系统硬件设计
2.1系统总体功能概述
该系统可看做两个方面:
检测装置与控制执行。
系统以AT89C51作为核心控制部件。
检测装置由传感器、一片A/D转换芯片和一片数码管驱动芯片来完成液位的检测、显示和超限报警。
LM1042外接的热阻探针温度的变化依赖于周围材料的热阻的大小,而空气和液体的热阻大小有很大差别,从而可以根据探针在液体中的深度不同时电阻的不同检测出液位的深度信息,由LM1042内部转换电路网络转换为与液位成线性关系的电压信号,再由12位逐次逼近型A/D转换芯片AD574A将模拟信号转换为数字信号,实现液位信息的输入,AT89C51从AD574A读取液位信息后进行数据处理和超限判断,随后将处理过的数据输出到数码管驱动芯片ICM7218的RAM中,由ICM7218实现数码管的静态显示,若液位超限则由单片机驱动蜂鸣器报警。
控制执行方面,通过单片机的输出电信号控制继电器的闭合,实现对水泵的控制。
图2-1系统总体结构图
各部分功能:
1.电源部分提供+5V+15V-15V电压供系统各部分使用。
2.传感器LM1042实现液位信息到电压信号的转换。
3.AD574A将传感器输出的电压信号经A/D转换成数字信号后送到单片机。
4.AT89C51为处理器,实现液位信息的接收、数据处理、和输出到ICM7218.
5.蜂鸣器部分在单片机检测到液位超限是由单片机驱动实现声音报警。
6.单片机对液位数据处理后输出,由ICM7218驱动数码管显示。
7.水泵加水电路由继电器进行控制。
2.2核心芯片的选择
(1)单片机AT89C51
单片机是把微型计算机主要部分集成在一块芯片上的单芯片微型计算机。
单片机AT89C51由CPU、存储器(包括RAM和ROM)、I/O接口、定时/计数器、中断控制功能等均集成在一块芯片上,片内各功能通过内部总线相互连接起来。
1.主要特性:
●8位CPU
●内置4K字节可重复编程Flash
●寿命:
1000写/擦循环
●全静态工作:
0HZ-24HZ
●三级程序存储器锁定
●128*8位内部RAM
●32根可编程I/O线
●两个16位定时器/计数器
●5个中断源,2个中断优先级
●可编程串行通道
●低功耗的闲置和掉电模式
●片内振荡器和时钟电路
2.管脚说明:
图2-2AT89C51的引脚图
Vcc:
供电电压
Vss:
接地
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,他可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FLISH进行校验时,P0输出源码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉位高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLISH进行校验时,P1口作为第八地址接受。
P2口位一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
胖口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。
在给地址“1”时,他利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出器特殊功能寄存器的内容。
P2口在FLISH编程和校验时接受高八位地址信号和控制信号。
P3口:
P3口管脚是八个带内部上拉电阻的双向I/O口,可接受输出4个TTL门电流。
当P3口写入“1”后,他们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。
P3口也作为AT89C51的一些特殊功能口,如下所示:
P3口管脚备选功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(计时器0外部输入)
P3.5T1(计时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址所存允许的输出电平用于锁存地址的低位字节。
在FLISH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定是目的。
然而要注意的是:
每当用作外部数据存储器是,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高,如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的的选通信号。
在有外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部存储器时,这两次有效的/PSEN信号讲不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部存储器(0000H-FFFFH),不管内部是否有程序存储器。
注意加密方式1时,/EA将内部锁存为RESET。
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP).
XTAL1:
反响放大振荡器的输入及内部时钟工作电路的输入
XTAL2:
来自反响振荡器的输出。
3.I/O口引脚:
a:
P0口,双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用;
b:
P1口,8位准双向I/O口
c:
p2口,8位准双向I/O口,与地址总线(高8位)复用;
d:
P3口,8位准双向I/O口,双功能复用。
(2)传感器LM1042
传感器由液位检测专用集成芯片LM1042和一组热探针组成,实现液位信号到电压信号的转换。
LM1042使用热阻探针技术来测量非可燃性液体的液面高度,它能提供一正比于液位高度的输出,可进行单次或重复测量,所有控制热阻探针、检测热阻探针的短路和开路所需的监控电路都集成在LM1042芯片内部。
此外该芯片还可采用其他传感器信号或线性输入作为输入信号。
该器件采用16脚DIP封装。
芯片的主要特点如下;
●集成有热阻探针的控制电路;
●可单次测量或重复测量;
●具有探针短路、开路检测功能;
●电源或控制输入端具有50V的瞬态电压保护电路;
●电源范围7.5~18V;
●内部有电源调节器;
●可在-40℃—+80℃的工作温度范围内工作。
(3)A/D转换芯片AD574A
AD574A是美国模拟数字公司推出的单片高速12位逐次比较型A/D转换器,内置双极性电路构成的混合集成转换显片,具有外接元件少,功耗低,精度高等特点,并且具有自动较零和自动极性转换功能,只需外接少量的阻容元件即可构成完整的A/D转换器,其主要功能特性如下:
●分辨率:
12位
●非线性误差:
小于±1/12LBS或±1LBS
●转换速率:
25us
●模拟电压输入范围:
0-10v和0-20v,0-±5v和0-±10v两挡四种
●电源电压:
±15v和5v
●数据输出格式:
12位/8位
●芯片工作模式:
全速工作模式和单一工作模式
(4)数码管驱动芯片ICM7218
ICM7218是INTERSIL公司生产的一种性能价格比较高的通用8位LED数码管驱动电路,28脚双列封装,是一种多功能LED数码管驱动芯片,可与多种单片机接口使用。
ICM7218的输出可直接驱动LED显示器,不需外接驱动电路,其构成的显示电路结构简单,使用方便。
其引脚图和内框图如图2-4和2-5所示。
图2-3ICM7218引脚图
图2-4ICM7218内部结构
(5)蜂鸣器
在单片机检测到液位超限时,将由单片机驱动蜂鸣器实现声音报警。
(6)继电器
继电器是具有隔离功能的自动开关元件,在我们设计当中主要来做自动控制作用,我们采用+5V的直流电来控制220V的交流电,以达到控制水泵的作用,因为是在这里是以一种弱电来控制强电所以安装和使用的过程当中我们一定要注意用电安全注意事项。
电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。
只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。
当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。
这样吸合、释放,从而达到了在电路中的导通、切断的目的。
对于继电器的“常开、常闭”触点,可以这样来区分:
继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。
其中光电耦合器是以光为媒介传输电信号的一种电一光一电转换器件。
它由发光源和受光器两部分组成。
把发光源和受光器组装在同一密闭的壳体内,彼此间用透明绝缘体隔离。
发光源的引脚为输入端,受光器的引脚为输出端,在本设计当中发光源为发光二极管,受光器为光敏三极管。
在本设计当中我们采用光电耦合器组成开关电路的作用,能够很好地将单片机信号稳定地送给继电器驱动继电器闭合。
(7)水泵:
定义:
通常把提升液体、输送液体或使液体增加压力,即把原动机的机械能变为液体能量从而达到抽送液体目的的机器统称为泵。
分类:
根据不同的工作原理可分为容积水泵、叶片泵等类型。
容积泵是利用其工作室容积的变化来传递能量;叶片泵是利用回转叶片与水的相互作用来传递能量,有离心泵、轴流泵和混流泵等类型。
工作原理:
1、容积式泵:
利用工作腔容积周期变化来输送液体。
2、叶片泵:
利用叶片和液体相互作用来输送液体。
本系统中可选用普兰迪2202的水泵。
23硬件原理图
图25电源电路
(1)电源部分
本系统供电为市电AC22
v,经变压器T1降为交流18v,经整流桥堆整流后得到脉动直流电压18v,再分别经三端稳压器LM78
5、LM7815、LM7915分别得到VCC+5v)、+15v和15v其中电解电容C1、C3、C22、C5、C7、C9起滤波作用,C2、C4、C23、C6、C8、C1
是旁路电容,起抑制干扰的作用。
电源电路如图25所示。
(2)传感器电路
图26传感器电路
传感器电路如图26所示。
在传感器电路中,7脚和1
脚是用于探针2的调整,由于本系统只用到探针1,故只需将7脚和1
脚接地即可;1脚是热阻探针输入端;5脚是探针故障检测端;6脚是电源端;3,4脚分别接PNP管的发射极和集电极用于给探针提供2
MA的固定电流;16脚为模拟电压输出端,输出与液位成正比的模拟电压;1213脚用来调整探针的测量周期;914脚外接两个电容作为探针的记忆电容,记忆探针的电压值。
(3)AD转换电路
AD转换电路如图27所示。
图2-7A/D转换电路
本系统经过采用AD574A芯片,其中1脚为电源端;10脚输出标准10V电压经过变阻器R4连接到8脚给芯片内部解码网络供电;9脚为地端;12脚外接电阻网络用于调整零点,13脚为0-10V量程输入端;14脚为0-20V量程输入端,此系统不用;7,11脚为±基准电压输入端;16-19脚接单片机P1.4-P1.7用于输出低4位,20-27脚接单片机P1.0-P1.7用于输出高8位;28脚输出转换完成信号,6,3,4,5脚用于控制芯片的工作方式,2脚接地代表芯片用于12位转换。
当传感器信号输入13脚,单片机控制6脚为高电平,3,4,5脚为低电平时,芯片使28脚输出低电平并启动12位A/D转换,转换完成后置位28脚,允许单片机读取数据,当单片机检测到28脚为高电平,控制6脚为高电平,3,4,5脚为低电平读取高8位,再4,6脚为高电平,3,5脚为低电平读取低4位,这样就完成一次A/D转换和数据读取。
(4)单片机外围电路及蜂鸣器电路
单片机外接12MHZ晶振,在9脚外接手动复位电路;P0.3接蜂鸣器用于报警。
电路如图2-8所示:
图2-8单片机外围及蜂鸣器电路
图2-9ICM7218A显示电路
(5)ICM7218A显示电路
ICM7218A显示电路如图2-9所示。
本系统显示用的4位七段数据管由数据管专用驱动芯ICM7218A驱动,27,3,1,25,2,24,26脚分别接数据管的a~g,15,16,23,20脚为位选,分别控制4位数码管的亮灭,ID0~7为数据线,接单片机P2口,WRITE,MODE是写控制位和模式控制位,分别接单片机P0.6,P0.7。
(6)继电器控制水泵加水电路
该电路由继电器RL1和闭合开关、光电耦合器、水泵、R7、R8、R9、R10以及D2、Q3等组成。
当水位在低水位时单片机给P3.1送出一个高电平导通光电耦合器然后光电耦合器驱动Q3导致继电器闭合从而让220V的交流电接通使水泵加水。
图2-10继电器控制水泵加水电路的原理图
第三章系统软件设计
3.1软件功能概述
在系统的硬件确定以后,功能完善的软件能够很好的指导和协调硬件的工作,可使系统发挥其最大的作用,并且便利以后的更新换代升级。
一个完整的系统都离不开对系统状态的监控,为了更好的协调软件,硬件各个部分正常工作就必须对整个系统进行严密监控。
在本系统中定时器T0中断服务程序担任数据读取,处理和输出显示任务,每隔一定的时间对A/D转化进行一次采样,并进行相应的处理,在经过LED驱动电路来实现液位的显示。
而主程序完成的任务相对简单,它只是完成初始化和启动T0定时的工作。
图3-1主程序设计
图3-2定时器T0中断服务子程序图3-3A/D转换子程序
3.2主程序设计
主程序如图3-1所示。
系统开始工作时,由LM1042传感器检测出水位深度,经A/D转换后,送入单片机与设定值相比较。
如果测量值高于上限值则发出警报并关闭水泵;如果测量值低于下限值则发出警报并启动水泵供水;如果测量值等于设定值则关闭水泵停止供水,并由显示水位值,否则启动水泵继续供水且显示水位值。
图3-4LED显示子程序
3.3定时器T0中断服务程序
T0中断服务程序完成的任务比较多,主要包括:
每一秒启动一次A/D转换,读取并处理数据,显示和超限报警。
T0中断服务程序流程图如图3-2所示:
其中读取和处理数据放到A/D值读取子程序。
显示放到LED显示子程序;由于液位是一种变化比较缓慢的量,故只需每隔一定时间检测一次即可满足需要,在此选定一秒检测一次,即1秒进行一次A/D转换。
由于本系统所用晶振为12MHZ,故定时器每计时一次用时为1/12*10^(-6)*12S=1us,因此定时器为16位定时器,故最多计时2^16=65536次,即计时65536US=65.536MS,此时用定时器T0定时50ms,则当定时器定时20次,共定时20*50MS=1S,满足系统需要。
据TC=M-T/T计数(T=50ms,T计数=1us,M=2^16)得TC=15536则定时器初值为TH0=3C,TL0=B0。
超限预警则是通过把A/D转换值与上下限值比较得出液位是否有超限,若超限则输出高电平驱动蜂鸣器报警。
3.4A/D转换子程序
A/D转换子程序主要完成A/D值的读取以及数据的处理。
因为AD574A进行A/D转换的过程中第28脚STS=0,转换完成后STS=1,故启动A/D转换后要先检测STS,若STS为高电平才进行A/D值读取操作,A/D值读取要先写读高8位控制字,然后读取高8位,再写入读低4位控制字然后读取低4位,将读取得到的12位数据用于计算得到液位值,然后再对液位值逐步分离,分别得到数码管显示饿百位,十位,个位和一位小数位,并将它们放到字符数组A/D中,用于LED显示,A/D转换子程序流程图如图3-3所示。
3.5LED显示子程序
LED显示子程序主要完成液位值的显示,本系统采用数码管专用驱动芯品ICM7218驱动4位七段数码管用于液位值的显示,只需要把要显示的数据写入ICM7218的RAM中即可,由于该芯品默认驱动八位数码管,必须写入8字节显示数据,而此系统只用低4位,只需把高4位置为随机数即可,故先通过I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 水位 检测 控制系统 研究 设计方案