水位自动检测与控制系统的设计

水位自动检测与控制系统的设计
水位自动检测与控制系统的设计

1 引言

1.1 研究背景

在社会经济飞速发展的今天,水在人们生活和生产中起着越来越重要的作用。一旦断水,轻则给人民生活带来极大的不便,重则可能造成重大的生产事故及损失。因此,对水位的自动检测及控制的研究,有着极其重要的地位。任何时候都能提供足够的水量,平稳的水压,合格的水质,是对供水系统的基本要求。就目前而言,多数工业生活供水系统,都采用水塔,层顶水箱等基本储水设备,由一级二级水泵从地下市政水管补给,因此如何建立一个可靠安全又利于维护的给水系统是值得我们研究的课题。现今社会,自动化装置无所不在,在控制技术需求的推动下,控制理论本身也取得了显著的进步。水塔水位的监测和控制,再也不需要人工进行操作。实践证明,自动化操作,具有不可替代的应用价值。

在工农业生产以及日常生活应用中,常常会需要对容器中的液位(水位)进行自动控制。比如自动控制水箱、水池、水槽、锅炉等容器中的蓄水量,生活中抽水马桶的自动补水控制、自动电热水器、电开水机的自动进水控制等。虽然各种水位控制的技术要求不同,精度不同,但基本的控制原理都可以归纳为一般的反馈控制方式,就是利用传感器对于信号的提供通过单片机对数码显示、电机控制、报警控制部分的控制[1]。

本设计从分析水塔水位报警器的原理和设计方法入手,主要基于单片机的硬件电路和语言程序设计,实现一种能够实现水位自动控制、具有自动保护、自动声光报警功能的控制系统。本控制系统由A/D转换部分、单片机控制部分、数码显示部分、电机驱动部分、电机控制部分等构成。这是个简单而灵敏的监测报警电路,操作简单,接通电源即可工作。因为大部分电路采用数字电路,所以本水位监测报警器还具有耗能低、准确性高的特点。该系统设计新颖、简易,灵敏度高,工作稳定,能够自动检测与显示当前水位、高低水位报警等功能

水位自动控制电路是通过水位传感器将水位高度转换为0~10V的直流电压,再经过A/D转换后,将转换所得的数字量送入单片机进行处理来达到对水位进行自动控制的目的。通过对电压和水位的转换关系,最终利用单片机进行精确的控制,实现对水位高度的显示、电机和报警装置的控制。

主要的工作原理是通过水位传感器将水位信号转变成电信号,在通过A/D转换

部分位传感器的电信号进行转换处理。提供给单片机,利用单片机连接显示系统,电机系统和报警系统完成对水位的检测与控制。此项设计有利工业和生活用水的控制[2]。

1.2 项目研究意义

单片机是计算机家族中既年轻却又十分重要的成员,虽然它的问世比第一代计算机整整晚了30年,在整体功能和价格水平等方面也远不如其它类型的计算机,但无论是尖端科技,如航空、航天、军事、通信、能源、交通IT,还是现代工业、农业、办公自动化和日用家电等诸多领域都离不开单片机,其使用率和普及率之高,远远的超过了其他类型的计算机。课堂上我们虽然也学习了关于单片机的理论知识,但只有在实际的制作中才能让我们真正掌握单片机技术。

目前应用较广泛的单片机有51系列单片机、AVR单片机以及PIC单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。这种计算机是把智能赋予各种机械的单片机。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。它体积小,在整个装置中,起着有如人类头脑的作用。单片机的诞生是计算机发展史上的一个新的里程碑,近年来,随着单片机档次的不断提高,功能的不断完善,其应用日趋成熟、应用领域日趋扩大,特别是工业测控、尖端武器和日用家电等领域更是因为有了单片机而升辉增色。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”[3]。

在很长一段时间里,通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。随着低价位OTP(One Tim Programmable)及各种类型片内程序存储器的发展,加之处围接口不断进入片内,推动了单片机“单片”应用结构的发展。特别是I2C、SPI等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化,通过本次设计,使我们加深了串行总线的工作原理和使用方法[4]。

通过该课题的研究,温习了数模电知识,了解了多种芯片的运用,加强了使用Protel软件绘制电气原理图和印制版图的能力,收集资料、消化资料和综合资料的能力,及综合利用专业及基础知识,解决实际工程技术问题的能力。

本课题研究设计了一种基于单片机技术的自动控制系统。该自动控制系统通过采用STC89C52单片机为工作处理器核心,外接压力传感器,能够通过对水压的大x 小测定来得到水位的高度,并将其转化为相应的电信号输出,通过对水位的精确测量来控制水位[19]。该自动控制系统的最大特点就是使用户能够操作简单、易懂、灵活;且安装方便、智能性高、误报率低,同时它的信号经过单片机系统处理后方便和PC机通信,便于多用户统一管理。随着现代人们安全意识的增强以及科学技术的快速发展,相信这种自动控制系统必将在更广阔的领域得到更深层次的应用[5]。1.3 发展方向

从消费者的角度来看,智能化自动化的仪器市场的需求已经逐渐明朗:就是以实用为核心,力求实用、易用、人性化,自动化。

虽然科技飞速发展,信息技术日新月异,但是如何将这些技术引入智能划产品之中,如何打造出真正实用的智能划产品,这才是最值得关注的问题。如智能划产业界所体现的两大技术趋势正是发展方向:1、领先的自动控制技术;2、不依靠PC 的独立形态。

致力于智能划产品的应用接轨,很多问题并不在于技术水平的高低,而在于怎样去做到实用、易用、人性化,只有更加贴近实用、易用和人性化的智能划概念,才能真正提高人们的生活品质,才能真正体现智能划的价值,这也是现代科技价值的核心所在。

可以肯定,智能划将在未来的电子产业占据非常重要的地位,本课题即是从中获得启发而确定,以实用、易用、人性化为设计标准。

本课题所设计的简易水位自动检测及控制系统,非常符合现代人的日常生活所需,有着广大的发展前景。

2 设计的任务、要求和研究设想

课题拟设计一款基于单片机而制作的智能型水位自动检测及控制系统。要求利用51单片机完成水位自动检测及控制系统设计,当水位自动检测及控制系统进入工作状态后,CPU不断检查触发开关的状态,当水位达到最低点时,警报器发出低水位警报一段时间,黄灯亮,电机自动开始抽水。当加水到最高水位时红灯亮,报警器报警,电机停止工作。当水位在正常水位内,电机和报警器都不工作。

具体设计需要达到的要求和实现的功能如下:

( 1 )可实现自动报警。

( 2 )可实现自动加水和自动停止加水。

( 3 )可通过水位变化,实现向外界报警。

本设计包括硬件和软件设计两个部分。硬件部分包括采样处理部分、单片机控制部分、数码显示部分、电机驱动部分、电机控制部分等构成。处理器采用52系列单片机STC89C52。整个系统是在系统软件控制下工作的。

基于调查本课题设计一款简单实用,经济的高塔水位检测报警控制系统。本设计过程中主要采用了传感技术、单片机技术、光报警技术以及弱电控制强电的技术。在高塔的内部我们设计一个简易的水位探测传感器用来探测水位,即低水位,正常水位,高水位。低水位时送给单片机一个高电平,驱动水泵加水,黄灯亮;到达正常范围的水位时,水泵继续加水,黄灯不亮;高水位时,水泵不加水,红灯亮。通过这样一个简单使用的电路系统从而实现对水位的自动监测与控制。

3系统设计

3.1 方案设计

方案一:如图3.1所示为方案一框图。本方案采用555电路进行控制,即当水位探测传感器探测到低水位时送一个低于1/3VCC的低电平给NE555芯片,555的输出即为高电平驱动水泵加水;当在正常的水位时候,送给NE555为1/3VCC~2/3VCC 的电平,即保持前一个水泵不加水的状态;当水位居于高水位时,给NE555电路一

没有稳压电路,使输入NE555芯片的电平十分不稳定,容易发生误判水位引起混乱的情况,且NE555电路只有一个输出端,不能接显示系统,所以不能完成显示功能。

第二种方案中使用了单片机处理,单片机技术是信息时代用于精密测量的一种新技术。此系统使用过程中采用稳压电路能够准确地把输入的电平送给单片机不会产生误判的情况,由于STC89C52单片机有40端口32引脚能够非常方便地设计显示系统。

综上,已经清楚地看到了两种方案的优劣,要能够很好地完成本次设计的各个指标和达到设计的目的,选择第二种方案作为本课题的设计方案。

3.2 各部件的选择

3.2.1传感器选择方案

传统的水位检测通过设检测点来完成对水位的检测。通常,由于受检测点物理体积的影响,水位检测点的数目有限,从而影响了后续电路控制的精度。本设计中,采用SY-9411L-D型变送器,它内部含有1个压力传感器和相应的放大电路。压力传感器是美国SM公司生产的555-2型OEM压阻式压力传感器,其有全温度补偿及标定(0~70℃),传感器经过特殊加工处理,用坚固的耐高温塑料外壳封装。其引脚分布如图3.3所示。1、2脚为信号输出;3脚为激励电压;4脚为接地地。

图3.3 SY-9411L-D型变送器

在水箱底部安装1根直径为5mm的软管,一端安装在水箱底部;另一端与传感器连接。水箱水位高度发生变化时,引起软管内气压变化,然后传感器把气压转换

成电压信号,输送到A/D转换器。

3.2.2A/D转换方案

通过对传感器的选择,可知由传感器输出的水位高度信号是0~10V的直流电压。在设计中,可以通过采样、保持电路对这一信号进行处理,将模拟信号转换为多个采样点信号。但这种处理方法由于受电路规模和采样精度的影响,不可能对水位信号作出精确的处理,近而也无法对电机、水位高度显示和报警作出精确的控制。因此,本设计中采用集成芯片TLC549对0~10V的直流电压进行处理。可以达到:(1)电路简洁、明了。

(2)高转换精度。

(3)高控制精确。

3.2.3单片机复位方案

RST/VPD:复位/备用电源线,可以使单片机处于复位(即初始化)工作状态。通常,单片机的复位有自动上电复位和人工按钮复位两种,图3.4给出了它们的电路。考虑到,水塔与居民生活密切相关,当因特殊原因导致单片机掉电,需单片机立即自动复位(如:夜间短时间停电,导致本系统停止工作),故本设计采用上电复位方式。

图3.4 复位电路

3.2.4单片机起振方案

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器,石晶振荡和陶瓷振荡均可采用。也可以采用外部时钟源驱动器件。考虑到设计、使用的方便,本设计中采用片内时钟驱动。即XTAL1和XTAL2只需外接晶振(配上相应的电容),便可以给单片机提供相应的时钟频率。

3.2.5驱动显示方案

本设计中需显示水塔水位的高度,具体的显示方案有两种选择:

(1)利用74LS48驱动数码管:与单片机连接较为复杂,需占用单片机8个端口。且在与数码管连接时需附加上拉电阻,用以完成数码管的驱动。

(2)利用LCD1602液晶显示:

a.显示质量高

由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。

b.数字式接口

液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。

c.体积小、重量轻

液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。

d.功耗低

相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。

考虑到本设计中,若利用MAX7219驱动数码管,MAX7219芯片价格较高,采用后大大提高成本支出将造成资源浪费,且。同时,随着MAX7219的使用(对MAX7219的编程)将提高源程序的复杂度,对编译、调试和单片机运行效率都将造成影响。故设计中采用LCD1602液晶显示。

3.2.6电机选择方案

电动机有直流流、交流之分。异步电动机属于交流电机的一种;另一种交流电机是同步电机。异步电机由于结构简单,维护方便,价格便宜,所以应用最为广泛。本设计中,采用异步三相交流电机。

3.3 总体思路

①水位高度的检测:利用水位传感器完成。

②传感器输出信号处理:传感器输出信号,有直流电压和直流电流之分。设计中需将这一信号进行处理,以便单片机能够接收和处理。

③单片机控制:单片机将由前级输入的检测信号进行分析和处理,从而产生相应的控制信号。

④数码显示、电机驱动和报警电路根据单片机产生的控制信号,作出相应的动作。

⑤电机控制电路根据电机驱动电路的状态作出相应的动作。

4 硬件设计

4.1 系统组成

水位自动控制器由7个部分组成,即水位传感器、A/D 转换、键盘、单片机、显示部分、电机控制、报警控制部分。系统框图可参考图3.2。

4.2 单元模块设计

4.2.1单片机介绍

选用STC89C52作为控制芯片,其引脚图如图4.1所示。

(1)STC89C52是宏晶科技推出的新一代超强抗干扰、高速、低功耗单片机,指令代码完全兼容Intel 8051单片机。

(2)STC89C52的封装

STC89C52的封装如图4.2所示。 图4.1 STC89C52引脚图 图4.2 STC89C52封装图 (1)STC89C52各引脚功能及管脚电压

STC89C52为40脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8XC51相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM 及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR 的接收解码及与主板CPU 通信等。主要管脚有:XTAL1(19脚)和XTAL2(18脚)

XTAL2

18XTAL119

ALE 30EA 31PSEN 29

RST 9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732

P1.0/T21P1.1/T2EX 2P1.23P1.34P1.456

P3.0/RXD

10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T01415P2.7/A1528P2.0/A821

P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1

为振荡器输入输出端口,外接12MHz晶振。RST/VPD(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能[6]。

P0口

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1 口

P1 是一个带内部上拉电阻的8 位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与STC89C52不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash编程和程序校验期间,P1接收低8位地址。

表4.1 P1.0和P1.1的第二功能

P2 口

P2 是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR 指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。

P3 口

P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

RST

复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。

PSEN

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP

外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H-FFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。

Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V 编程电压VPP。

XTAL1

振荡器反相放大器的及内部时钟发生器的输入端。

XTAL2

振荡器反相放大器的输出端。

特殊功能寄存器在AT89C52 片内存储器中,80H-FFH共128个单元为特殊功能寄存器(SFE),SFR 的地址空间映象如表2 所示。

并非所有的地址都被定义,从80H—FFH共128个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。

STC89C52除了与STC89C51所有的定时/计数器0和定时/计数器1外,还增加了一个定时/计数器2。定时/计数器2的控制和状态位位于T2CON,T2MOD,寄存器对(RCAO2H、RCAP2L)是定时器2在16位捕获方式或16位自动重装载方式下的捕获/自动重装载寄存器。

4.2.2 A/D转换设计

TLC549是美国德州仪器公司生产的8位串行A/D转换器芯片,可与通用微处理器、控制器通过CLK、CS、POUT三条口线进行串行接口。具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17μs,TLC549为40 000次/s。总失调误差最大为±0.5LSB,典型功耗值为6mW。采用差分参考电压高阻输入,抗干扰,可按

比例量程校准转换范围,V(REF-)接地,V(REF+)-(VREF-)≥1V,可用于较小信号的采样[17]。

a.芯片简介

TLC549的内部框图和引脚名称如图4.3所示。

图4.3 A/D转换器引脚

极限参数

TLC549的极限参数如下:

●电源电压:6.5V;

●输入电压范围:0.3V~V CC+0.3V;

●输出电压范围:0.3V~V CC+0.3V;

●峰值输入电流(任一输入端):±10mA;

●总峰值输入电流(所有输入端):±30mA;

●工作温度:TLC549C:0℃~70℃

TLC549I:-40℃~85℃

TLC549M:-55℃~125℃

b.工作原理

TLC549均有片内系统时钟,该时钟与I/O CLOCK是独立工作的,无须特殊的速度或相位匹配。

当CS为高时,数据输出(POUT)端处于高阻状态,此时I/O CLOCK不起作用。这种CS控制作用允许在同时使用多片TLC549时,共用I/O CLOCK,以减少多路(片)A/D并用时的I/O控制端口。

c.一组通常的控制时序为:

相关主题
相关文档
最新文档