毕业设计(论文)-基于单片机的液位控制器设计.doc_第1页
毕业设计(论文)-基于单片机的液位控制器设计.doc_第2页
毕业设计(论文)-基于单片机的液位控制器设计.doc_第3页
毕业设计(论文)-基于单片机的液位控制器设计.doc_第4页
毕业设计(论文)-基于单片机的液位控制器设计.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华北科技学院毕业设计1 绪论随着微电子工业的迅速发展,单片机控制的智能型控制器广泛应用于电子产品中。并且目前,我国住宅小区楼房自来水供水系统主要采用高塔供水,即在楼顶或者另外建设的高塔上面建个蓄水池以保证用户水压的恒定。目前大多数的住宅小区都是采用人工加水的办法,即当水用完的时候,就人工开启水泵进行加水,十分不便。所以这一切问题的存在,都在呼唤一种简单经济的高塔水位检测报警控制系统的诞生。传统的控制方式存在控制精度低、能耗大的缺点,而自动控制系统, 依据用水量的变化自动调节系统的运行参数,保持水压恒定以满足用水要求, 从而提高了供水系统的质量。此装置成本低,安装方便,灵敏性好,是节约水源,方便家庭和单位控制水塔水位的理想装置。本次设计-基于单片机的液位控制器设计,利用单片机为控制核心,设计一个对供水箱水位进行监控的系统。根据监控对象的特征,要求实时检测水箱的液位高度,并与开始预设定值做比较,由单片机控制固态继电器的开断进行液位的调整,最终达到液位的预设定值。检测值若高于上限设定值时,要求报警,断开继电器,控制水泵停止上水;检测值若低于下限设定值,要求报警,开启继电器,控制水泵开始上水。现场实时显示测量值,从而实现对水箱液位的监控。液位控制器的硬件主要包括由单片机、液位传感器、键盘电路、数码显示电路、ad转换器、报警电路、控制水泵电路等。设计的主要内容是:基于单片机实现的液位控制器是以8051芯片为核心,由键盘、数码管显示、ad模数转换、筒式电容传感器,电源和控制部分等组成。工作过程如下:水箱(水塔)液位发生变化时,即把电容变化量转化成电压信号;该信号经过反相比例运算放大电路放大后变成幅度为05 v标准信号,送入ad转换器,ad转换器把模拟信号变成数字信号量,由单片机进行实时数据采集,并进行处理,根据设定要求控制输出,同时数码管显示液位高度。通过键盘设置上限值,下限值。该系统控制器特点是直观地显示水位高度,可任意控制水位高度。2 本课题主要研究内容本设计是采用8051单片机为核心芯片,及其相关硬件来实现的水体液位控制系统,在用液位传感器测液位的同时,cpu循环检测传感器输出状态,并用3位八段led显示液位高度,检测液位数据,实施报警安全提示,当水体液位低于用户设定的值时,系统自动打开泵上水,当水位到达设定值时,系统自动关闭水泵。2.1系统硬件总体方案系统的原理是采用电容式液位传感器对液面进行控制,并把液位状态通过模数转换器adc0809传到单片机中,再通过3位八段led显示器显示出液位的测量值及报警安全提示。用led显示是因为它具有显示清晰、亮度高、使用电压低、光电转换效能高、寿命长等特点,根据当前的液位值和用户设定的水位决定是否进行开、关水泵,需要是否开启和关闭驱动阀门的电动机。2.2设计的研究进程本设计第3章主要介绍了核心芯片8051及adc0809转换芯片、mc14499芯片、74ls373芯片、led数码管、x25045芯片,对他们的端口、功能与用途进行介绍。第4章主要介绍了系统的硬件设计,包括液位传感器设计,显示电路设计,键盘电路设计,继电器控制水泵加水电路,报警电路,电源电路,看门狗电路,对它们的原理、结构和电路连接进行了,在此我着重介绍了本设计所使用的传感器,因为传感器的性能在整个系统中起着非常重要的作用,尤其对检测精确度起着重要的作用。第5章介绍了整个系统的软件设计。3 主要芯片介绍3.1核心芯片8051单片机计算机芯片mcs-51是一个电脑晶片,英特尔公司生产系列。它是在mcs-48系列的基础上发展的高性能的8位单片机。所出的系列产品有8051、8031、8751。其代表就是8051。其他系列的单片机都以它为核心,所以本设计采用的核心芯片是8051单片机。cpu是它的核心设备,从功能上看,cpu包括两个部分:运算器和控制器,它执行对输入信号的分析和处理。整个系统电控部分以atmel公司的8051为核心芯片,控制信号采集、处理、输出三个过程。这种芯片内置4keprom,因为系统要求控制线较多,如果采用8031外置eprom程序控制结构,则造成控制线不够;而8051却可以利用p0、p2口作控制总线,大大简化了硬件结构,并可以直接控制键盘参数输入、led数据显示,方便现场调试和维护,使整个系统的通用性和智能化得到了很大的提高。系统的原理是采用电容式传感器测量液体的液位值,通过单片机的转换与分析在led上显示及输出控制;根据当前的液位值和用户设定的水位决定是否进行开关水泵,以及是否到达危险高、低水位,需要关闭阀门。图3-1 8051管脚图上图是8051的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个i/o口,中断口线与p3口线复用。现在我们对这些引脚的功能加以说明:pin40:正电源脚,正常工作或对片内eprom抄写程序时,接+5v电源。pin19:时钟xtal1脚,片内振荡电路的输入端。pin18:时钟xtal2脚,片内振荡电路的输出端。8051的时钟有两种方式,一种是片内时钟振荡方式,但需在18和19脚外接石英晶体(2-12mhz)和振荡电容,振荡电容的值一般取10pf-30pf。另外一种是外部时钟方式,即将xtal1接地,外部时钟信号从xtal2脚输入。本设计采用外部时钟电路,外接晶振和电容组成振荡器。输入输出(i/o)引脚:pin39-pin32为p0.0-p0.7输入输出脚,pin1-pin8为p1.0-p1.7输入输出脚,pin21-pin28为p2.0-p2.7输入输出脚,pin10-pin17为p3.0-p3.7输入输出脚。在对单片机设计中,p0口作为程序存储器扩展口,且是扩展并行输入/输出接口的接口,另外也作为模数转换的数据传输口,p2口为程序存储器扩展口的高8位地址总线口,p1口为输入/输出口。pin9:reset/复位信号复用脚,当8051通电,时钟电路开始工作,在reset引脚上出现2个时钟周期以上的高平,系统即初始复位。初始化后,程序计数器pc指向0000h, p0-p3输出口全部为高电平,堆栈指针写入07h,其它专用寄存器被清“0”。reset由高电平下降为低电平后,系统即从0000h地址开始执行程序。8051的初始态如下: 表3-1 寄存器初始状态特殊功能寄存器初始态特殊功能寄存器初始态acc00hb00hpsw00hsp07h07h00hth000hdpl00htl000hipxxx00000bth100hie0x00000btl100htmod00htcon00hsconxxxxxxxxbsbuf00hp0-p31111111bpcon0xxxxxxxb8051的复位方式可以是自动复位,也可以是手动复位,见图3-2。此外,reset/vpd是一复用脚,vcc掉电期间,此脚可接上备用电源,以保证单片机内部ram的数据不丢失, 此设计采用自动复位电路图3-2 复位电路pin30:ale/当访问外部程序器时,ale(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ale端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ale会跳过一个脉冲。如果单片机是eprom,在编程其间,prog将用于输入编程脉冲。pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,pc的16位地址数据将出现在p0和p2口上,外部程序存储器则把指令数据放到p0口上,由cpu读入并执行。在编程时,ea/vpp脚还需加上21v的编程电压。3.2 adc0809转换芯片3.2.1 adc0809的逻辑结构adc0809是典型的8位8通道逐次逼近型a/d转换器,采用cmos工艺制造。它由一个8路模拟开关、一个地址锁存译码器、一个a/d转换器和一个三态输出锁存器组成(见图3-4)。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用a/d转换器进行转换。三态输出锁器用于锁存a/d 转换完的数字量,当oe端为高电平时,才可以从三态输出锁存器取走转换完的数据。八路模拟量开关地址锁存与译码器8路a/d转换器三态输出锁存器in0in1in2in3in4in5in6in7stclkeocd0d1d2d3d4d5d6d70eabcalevref(+)vref(-) 图 3-4 adc0809的内部结构3.2.2 adc0809 的通道选择地址锁存与译码电路完成对a、b、c3个地址位进行锁存和译码,其译码输出用于通道的选择。通道选择如表3-2所示表3-2 adc00809的通道选择c(addc) b(addb) a(adda)选择的通道0 0 0in00 0 1in10 1 0in21 1 1in31 0 0in41 0 1in51 1 0in61 1 1in73.2.3 adc0809的引脚图及各引脚作用adc0809芯片为28引脚双列直插式封装,其引脚排列见图3-5。 图3-5 ad0809的管脚图 in0in7:8条模拟量输入通道。adc0809对输入模拟量要求:信号单极性,电压范围是05v,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 adda、addb、addc:模拟通道地址线。这3根地址线用于对模拟通道进行选择,其译码关系如表所示,adda为低位地址,addc为高位地址。 ale:地址锁存信号。对应于ale上跳沿时,adda、addb、addc地址状态送入地址锁存器中。 start:转换启动信号。在start信号上跳沿时,所有内部寄存器清0;在start下跳沿时,开始进行a/d转换。在a/d转换期间,start信号应保持低电平。该信号可简写为st。 d0d7:数据输出线。该数据输出线为三态缓冲输出形式,可以和单片机的数据总线直接相连。 oe:输出允许信号。它用于控制三态输出锁存器向单片机输出转换后的数据。oe=0时输出数据线呈高阻态;oe=1时输出允许。 clk:时钟信号。adc0809的内部没有时钟电路,所需时钟信号由外界提供,通常使用频率为500khz的时钟信号。 eoc:转换结束状态信号。当eoc=0时,表示正在进行转换;eoc=1时,表示转换结束。实际使用中该状态信号既可以作为查询的状态标志,还可以作为中断请求信号使用。 vref:参考电压。参考电压作为逐次逼近的基准,并用来与输入的模拟信号进行比较。其典型值为+5v(vref(+)=+5v,vref(-)=0) adc0809是带有8位a/d转换器、8路多路开关以及与微型计算机兼容的控制逻辑的cmos组件,其转换方法为逐次逼近型。在a/d转换器内部含有一个高阻抗斩波稳定比较器,以及一个逐次逼近型寄存器。8路的模拟开关由地址锁存器和译码器控制,可以在8个通道中任意访问一个通道的模拟信号。由于多路开关的地址输入部分能够进行锁存和译码,而且三态ttl输出也可以锁存,所以它易于与微型计算机接口。3.3 mc14499芯片3.3.1.mc14499的结构及功能介绍串行输入bcd码-十进制码输出的硬件译码驱动器mc14499是motorola公司生产的一种叫新型的cmos集成块。一片mc14499可以直接驱动和控制四块led八段显示器,由于其显示方式为动态扫描,因此消耗功率较低,在单片机系统中,采用mc14499构成的显示器接口具有所需i/o口线占用数量少,单片控制显示器多的特点,因而得到较广泛的使用。led译码驱动器的管脚配置如图3-6所示:图3-6 mc14499的管脚图片内主要包含有一个20位移位寄存器、一个锁存器、一个多路输出器及译码驱动器和振荡器。移位寄存器主要保存外部串行输入的数据,锁存器保存显示器所需显示的数据,两者中的数据均为bcd码的形式,多路输出器输出从锁存器中取出的bcd码数据,经段译码器译码后,换成点七段码送至段驱动器的ag和小数点dp八只输出脚上,而片内振荡器的振荡信号,经四分频及位译码后提供四个位控信号,由位驱动器分别送至四条位控制线(i,ii,iii,iv),以供对显示器的轮流扫描。芯片的主要控制信号有: ag,dp:七段码及小数点输出; iiv:字位选择输出,用来产生led选通信号; d: 串行数据接收端; osc:振荡器外接电容端,外接电容使片内振荡产生200800hz扫描信号,以防led显示器闪烁; clk:时钟输入端,用以提供串行接收的控制时钟信号,标准时钟频率为250khz; :使能端,为0时,mc14499允许接收串行数据输入;为1时,禁止接收串行数据,并将片内移位寄存器的数据送入锁存器中保存。mc14499每一次可接收20位串行输入数据,在每次时钟信号的下降沿,串行数据被送入片内的移位寄存器。mc14499内部接收数据的移位寄存器为20位,这20位数据可按图4分为四组bcd码和一组小数点选择位,提供给四个led显示器。20位数据中的前四位用于控制4个led显示器的小数点是否显示,后16位是4个led显示器的bcd码输入数据,bcd码与显示器显示字符的相应关系如表3-3所示,若显示器采用共阴型,则各小数点的相应位为“1”时小数点显示,为“0”时熄灭。d1d2dnclkd图 3-7 mc14499串行数据输入的时序图移位ii1iii2iv345678910111213141516编码iv17181920编码iii编码ii编码ii图3-8一帧串行输入数据格式表3-3 mc14499内的bcd码与显示字符的关系bcd码显示器bcd码显示器00000100080001110019001021010001131011101004110011010151101011061110011171111熄灭3.3.2 mc14499在单片机中的应用由于mc14499可控制四个显示器,显示方式为动态扫描,译码及动态扫描由硬件管理,因此,采用led译码驱动器mc14499来构成单片应用系统的显示器接口,可以大大减少i/o口线的占用数量,减少耗电及占用cpu的时间,并使得电路较为简单。实用中,mcs-51单片机与mc14499的接口电路有并行i/o口控制和串行i/o口控制两种方式。a. 并行i/o口控制方式此种方式可由mcs-51系列单片机的p1或p3口的三根i/o口线提供时钟信号、串行数据和使能信号。接口电路如图3-9所示:4708vddvssosciiiiiiivmc14499abbbcdefgdpclkdp1.0p1.1p1.28051+5v0.015fc图3-9 mc14499并行i/o口控制方式与单片机的接口电路b.串行i/o口控制方式此种方式由mcs-51单片机的rxd(p3.0)提供串行输入的bcd码显示数据,txd(p3.1)提供时钟信号,再由p1或p3口提供一根i/o线以输出mc14499使能端所需的信号,单片机串行口的工作方式为0方式,接口电路如图3-10所示:此时应注意:由于mcs-51单片机从串行口输出数据时,发送顺序为从数据低位到高位,而mc14499将bcd码数据译为十进制数时,却是将原数据的低位作为高位处理的,如将某次数据的最后八位10000100b(84h)送入mc14499时,从低位到高位被分布于其移位寄存器的1320单元中,即最低位0在13单元,最高位1在20单元,mc14499进行译码时,却是将0作为最高位,1作为最低位处理的,于是成为001000001b(21h),即段码iii数据为0010b,显示器显示“2”,段码iv数据为0001b,显示器显示“1”,因此,必须将欲显示的压缩bcd码进行循环位移(即将最低位移至最高位,第二位移至第七位,其余类推)后再送入mc14499,以保证显示的正确性。4708vddvssosciiiiiiivmc14499abbbcdefgdpclkdtxdrxdp3.48051+5v0.015fc图3-10 mc14499串行i/o口控制方式与单片机的接口电路3.4 74ls373芯片74ls373是常用的地址锁存器芯片,它是一个三态8d触发器,在单片机系统中为了扩展外部存储器,通常需要74ls373芯片。图3-11 74ls373 引脚图引出端符号: d0d7: 数据输入端 oe: 三态允许控制端(低电平有效) le: 锁存允许端 o0o7: 数据输出端 当三态允许控制端oe为低电平时,o0o7为正常逻辑状态,可用来驱动负载或总线。当oe为高电平时,o0o7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。 当锁存允许端le为高电平时,o随数据d而变。当le为低电平时,o被锁存在已建立的数据电平。当le 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mv。 图3-12 74ls373 逻辑图表3-4 74ls373真值表dnleonhhlhlhllxllq0xxh从以上的结构分析我们可以看出,74ls373最基本的功能是锁存数据。在单片机的接口中74ls373的作用是分离p0口的低8位地址和数据总线。由于mcs-51单片机的p0口是分时复用的地址/数据总线。因此在进行i/o接口扩展和存储器扩展时,可以利用地址锁存器将地址信号从地址/数据总线中分离出来,以实现总线的分时复用,74ls373是最常用的锁存器之一。3.5 led数码管3.5.1 led数码管显示器的结构led显示器是一种由发光二极管显示字段的显示器件,也可称为数码管。单片机系统中通常使用8段led数码显示器,其外形及引脚如图3-13(a)所示,由图可见8段led显示器由8个发光二极管组成。其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,通过不同的组合可用来显示各种数字,包括af在内的部分英文字母和小数点“.”等字样。 a 数码管引脚排列 b led显示器两种不同的接法图3-13 led 数码管显示器led显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起构成共阳极,使用时共阳极接+5v,每个发光二极管的阳极通过电阻与输入端相连。当阴极端输入低电平时,段发光二极管就导通点亮,而输入高电平时不点亮。这称为共阳极led显示器;另一种是8个发光二极管的阴极都连在一起构成共阴极,使用时共阴极接地,每个发光二极管的阴极通过电阻与输入端相连。当阳极端输入高电平时,段发光二极管就导通点亮,而输入低电平时不点亮。这称为共阴极led显示器。如图3-13(b)所示。3.5.2 led数码管显示器的显示段码为了显示字符,要为led显示器提供显示段码(或称字形代码),组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给led显示器的显示段码为1个字节。各段码位的对应关系如表3-5:表3-5 段码位与显示段的对应关系段码位d7d6d5d4d3d2d1d0显示段dpgfedcba用led显示器显示十六进制数和空白字符与p的显示段码如表3-6所示:表3-6 十六进制数和空白字符与p的显示段码字型共阳极段码共阴极段码字型共阳极段码共阴极段码0c0h3fh990h6fh1f9h06ha88h77h2a4h5bhb83h7ch3b0h4fhcc6h39h499h66hda1h5eh592h6dhe86h79h682h7dhf84h71h7f8h07h空白ffh00h880h7fhp8ch73h共阴和共阳结构的led显示器各笔划段名和安排位置是相同的,当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合从而显示各种字符。8个笔划段dp、g、f、e、d、c、b、a对应于1b(8位)的d7、d6、d5、d4、d3、d2、d1、d0,于是用8位二进制码就可以表示欲显示字符的字形代码。例如,对于共阴极led显示器,当公共阴极接地(为零电平),而阳极dpgfedcba各段为01110011时,显示器显示“p”字符,即对于共阴极led显示器,“p”字符的字形码是073。如果是共阳极led显示器,公共阳极接高电平,显示“p”字符的字形代码应为10001100(0x8c)。3.5.3 led显示器的参数 由于led显示器是以led为基础的,所以它的光、电特性及极限参数意义大部分与发光二极管的相同。但由于led显示器内含多个发光二极管,所以需有如下特殊参数: 发光强度比 由于数码管各段在同样的驱动电压时,各段正向电流不相同,所以各段发光强度不同。所有段的发光强度值中最大值与最小值之比为发光强度比。比值可以在1.52.3间,最大不能超过2.5。 脉冲正向电流 若笔画显示器每段典型正向直流工作电流为if,则在脉冲下,正向电流可以远大于if。脉冲占空比越小,脉冲正向电流可以越大。3.6 x25045x25045是8脚集成电路,它将eeprom、看门狗定时器、电压监控三种功能组合在单个芯片之内,大大简化了硬件设计,提高了系统的可靠性,减少了对印制电路板的空间要求,降低了成本和系统功耗,是一种理想的单片机外围芯片。x25045 引脚如图3-14所示。图3-14 x25045引脚图其引脚功能如下: :片选择输入; so:串行输出,数据由此引脚逐位输出; si:串行输入,数据或命令由此引脚逐位写入x25045; sck:串行时钟输入,其上升沿将数据或命令写入,下降沿将数据输出; :写保护输入。当它低电平时,写操作被禁止; vss:地; vcc:电源电压; reset:复位输出。x25045在读写操作之前,需要先向它发出指令,指令名及指令格式如表3-7所示表3-7 x25045的指令及其含义指令名指令格式操作wren00000110设置写使能锁存器(允许写操作)wrdi00000100复位写使能锁存器(禁止写操作)rdsr00000101读状态寄存器wrsr00000001写状态寄存器read0000a8011把开始于所选地址的存储器中的数据读出write0000a8010把数据写入开始于所选地址的存储器4 系统硬件设计4.1系统设计原理和系统框图4.1.1设计原理本设计采用筒式电容传感器采集液位的高度。主要利用其两电极的覆盖面积随被测液体液位的变化而变化,从而引起对应电容量变化的关系进行液位测量。由于从传感器得出的电压一般在030mv之间,太小不易测量,所以要通过放大电路进行放大。从放大电路出来的是模拟量,送入adc0809转换成数字量,adc0809连接于单片机,把信号送入单片机。通过单片机控制水泵的运转。显示电路连接于单片机用于显示水位的高度。该显示接口用一片mc14499和单片机连接以驱动数码管。4.1.2系统框图被测物理量电容式传感器放大,整形,滤波a/d转换器单片机控制设备显示设备图4-1 系统框图 被测物理量:主要是指非电的物理量,在这里为水位。 电容式传感器:将输入的物理量转换成相应的电信号输出,实现非电量到电量的变换。传感器的精度直接影响到整个系统的性能,所以是系统中一个重要的部件。 放大,整形,滤波:传感器的输出信号一般不适合直接去转换数字量,通常要进行放大,滤波等环节的预处理来完成。 a/d转换器:实现将模拟量转换成数字量,常用的是并行比较型、逐次逼近式、积分式等。在此用到逐次逼近式。 单片机:目前的数据采集系统功能和性能日趋完善,因此主控部分一般都采用单片机。 显示设备:在此用到8段数码管。 控制设备:控制电动机的运行或关闭。 由上图可观察到传感器通过对液面进行测量,输出模拟信号,再通过模数转换器把输入的模拟信号转换成数字信号,通过8051单片机的运算控制,再通过led进行显示,通过报警装置进行报警,报警显示之后再通过对阀门的开启实现对水体的液位进行调节控制,阀门的驱动设备是电动机。4.2液位传感器设计在液体液位控制系统中,传感器的选择是非常重要的,传感器是能感受规定的被测量,并按照一定的规律转换成可用输出信号的器件或装置,它通常由敏感元件和转换元件组成,它的性能直接影响到整个检测系统,对检测精确度起着重要的作用。传感器的种类很多,有温度传感器,加速度传感器,光学传感器,压力传感器的,本设计主要采用电容式液位传感器进行控制,再把检测的电信号通过adc0809输入到单片机进行分析,再由led进行显示和键盘控制,实行对液位的报警。4.2.1 传感器原理电容式液位传感器系统,通过传感器测量电路将液位高度变化转换成相应的电压脉冲宽度变化, 再由单片机进行测量并转换成相应的液位高度进行显示,该系统对液位深度具有测量、显示与设定功能, 并具有结构简单、成本低廉、性能稳定等优点。4.2.2 传感器的组成图4-2为传感器部分的结构原理图。它主要是由细长的不锈钢管(半径为r1 ) 、同轴绝缘导线(半径为r0 ) 以及其被测液体共同构成的金属圆柱形电容器构成。该传感器主要利用其两电极的覆盖面积随被测液体液位的变化而变化, 从而引起对应电容量变化的关系进行液位测量。图4-2 传感器原理图4.2.3 测量原理由图4-2 可知,当可测量液位h=0 时,传感器处于空载状态,此时电容量为最小。不锈钢管与同轴绝缘导线构成的金属圆柱形电容器之间存在电容,此时得到电容量为: (4-1)式中, 为电容量,单位为f;为绝对介电常数(约为8.85f/m);l 为液位最大高度; r1为不锈钢管半径;r0为绝缘导线半径, 单位为m 。当可测量液位为h 时, 传感器处于满载状态,此时电容量为最大,即:式中, 为被测液体的相对介电常数, 单位为f/m 。当0hl时,传感器的电容量为: (4-2)因此, 当传感器内液位由零增加到h 时, 其电容的变化量c 可由式(4-1)和式(4-2)得 (4-3)由式可知, 参数,, r1 , r0 都是定值。所以电容的变化量c 与液位变化量h 呈近似线性关系。可见, 传感器的电容量值 的大小与电容器浸入液体的深度h 成线性关系。由此, 只要测出电容值便能计算出水位。4.2.4 将电容转化成电信号部分 采用运算法测量电路来转化。该电路由传感器和固定的标准电容以及运算放大器ne5532组成,如图4-3所示,其中u为信号源电压,为输出电压。图4-3 运算放大器测量电路原理图运算放大器的反馈原理可知,当运算放大器的输入阻抗很高、增益也很大时,则可以认为运算放大器的输入电流i=0, u=0,并且,得出下列公式 (4-5)于是可得 (4-6)在液位测量中,将电容变化量代入式(4-6)得到与液位h成正比关系,即 (4-7)式(4-7)结果是在假设运算放大器的开环增益的条件下得出来的。实际上,运算放大器的一般不会满足上述条件,所以信号输出仍然有一定的非线性误差。但是,当增益和输入阻抗足够大时,这种误差就会相当小。4.2.5 电信号放大电路设计由于从传感器得出的电压一般在030mv之间,太小不易测量,所以要通过放大电路进行放大,如图4-4所示,采用最基本的反相比例运算放大电路。图4-4比例放大电路根据反相比例运算放大电路的公式= -(r2/r1),于是第一个运放选择r1=3k,r2=500k,r4=r1/r2。r3=r5=1k,r6=r3/r5,可知第二个运放是一个反相器,把第一个运放得到的电压反相成正的。于是将30mv电压放大成5v。4.3 a/d0809模数转换本设计采用a/d转换器adc0809。adc0809是cmos单片型逐次逼近式ad转换器,由于输出级有8位三态输出锁存器,因而adc0809的数据输出端可以直接与单片机的数据总线连接。adc0809的工作过程是:首先输入3位地址,并使ale=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。start上升沿将逐次逼近寄存器复位。下降沿启动 a/d转换,之后eoc输出信号变低,指示转换正在进行。直到a/d转换完成,eoc变为高电平,指示a/d转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当oe输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上.adc0809转换是采用逐次比较的方法完成a/d转换的,由单一的+5v供电,片内带有锁存功能的8路选一的模拟开关,由a,b,c引脚的编码来确定所选通道。adc0809完成一次转换需要100us左右,输出具有ttl三态锁存缓冲器,可直接连到mcs-51的数据总线上,通过适当的外接电路,adc0809可对0-5v的模拟信号进行转换。adc0809与单片机的接口电路如图4-5所示,其中d触发器对单片机的频率进行分频作用,74ls373将地址信号从地址/数据总线中分离出来,以实现总线的分时复用图4-5 adc0809与单片机的接口电路4.4 显示电路的设计发现需要3位的led足可满足本设计的显示精度要求,为了减少所需的i/o数量,降低成本,采用动态显示控制方式。通过对显示接口电路的综合分析,发现测距仪利用串行输入bcd码十进制译码驱动显示器件mc14499来完成与单片机系统的显示接口较为简单可靠。用mc14499设计的led显示器动态显示接口电路如图4-6所示。用mcs - 51系列单片机作为控制核心的水位测量计,其数据输出既可以通过单片机的通用i/o口输出,也可以通过单片机的串口用串行方式输出。这里使用的单片机是8051 ,单片机的p3口为数据输出口, 显示器采用共阴极8段led, 显示位数为3位,由于一片mc14499 可以驱动4个led显示器,因此该显示接口只需用一片mc14499和单片机连接。图是该动态显示接口的原理图。p3.0用来向mc14499 发送数据,p3.1用来向mc14499发送时钟脉冲,p3.4用于控制单片机输出数据向mc14499串行输入(当p3.4= 0时,允许mc14499输入数据)。反相器74ls06作为显示器的位驱动, 8 个470的电阻是led 的限流电阻,使单片机8051输出电平与mc14499输入电平相兼容。由于mc14499 具有输入自动锁存功能,而串行输入一帧数据又需要一定的时间,所以led显示的数据不会出现闪烁现象。图4-6 mc14499与单片机的动态显示电路4.5 键盘电路键盘的作用有两个,其一输入数据,比如:0、1、2、3、4、5、6、7、8、9这些数字。其二是功能操作,比如:数据的输入输出,功能设置。基于此,有很多种方案实现这一操作。方案一、采用直接式独立按键操作。这种方案的操作过程,就是直接从单片机i/o口引出通上拉电阻,接一按键,当按键按下时,单片机该端口为“0”,单片机通过对此端口逻辑“0”判断,来完成按键的识别,达到数据的输入,功能的实现。从这一过程可知,完成任务需要单片机很多i/o口,花费了很多cpu资源,此种方案不可取。方案二、矩阵键盘。矩阵键盘,这里采用4x4矩阵键盘,一共有16组情况,实现的方法也是利用单片机的i/o口,通过上拉电阻相接,4x4正好用到了单片机一个端口。采用这种方案既节约资源又方便,而且能够满足本设计的需要。综上所述,在本设计中我们采用方案二。这里采用的是矩阵键盘,键盘中对应按键的序号排列如图4-71023456789启动停止消除报警删除加一减一图4-7 矩阵键盘序号图矩阵键盘的实现可采用查询的办法,也可以采用中断的方法。4x4的意思即:4根列线,4根行线,列线通上拉电阻接到电源上,因此无按键按下时,各列线均为高电平。当行线分别输出低电平时,有健按下,相应的列线上会出现低电平。根据此原理,cpu对整个键盘进行扫描。所谓扫描,即cpu不断轮流对行线置低电平,然后检查列线输入状态,确定按键情况。4.5.1矩阵式键盘的工作原理 cpu先使行线p1.4线为低,其余行线p1.5-p1.7为高,即p1.4所在的行线为“0”状态,其余行为“1状态。 cpu读入输入缓冲器的状态,以确定哪条列线为“0”状态,此时,若p1.0为“0”状态,则为0键按下;若p1.1为“0”状态,则为“1”键按下;以此类推。 若输入缓冲器的状态全部为“1”状态,则cpu继续使行线p1.5为低,其余行线为高。再读入输入缓冲器的状态,以确定哪条列线为“0”状态,从而判断是哪个键按下。 判断出哪个键按下之后,程序转入相应的键处理程序4.5.2 硬件电路设计及电路图硬件电路设计图如图4-8所示。把单片机的p1.0p1.7端口连接到“44行列式键盘”,其中p1.0-p1.3作为列线,p1.4-p1.7作为行线,把单片机的p0.0p0.7端口连接到共阴极“静态数码显示模块”区域中对应的ag端口上;系统首先通过cpu对全部键盘进行扫描,即把第一根行线置为“0”状态,其余行线置于“1”状态,读入输入缓冲器的状态,若其状态全为“1”表明该行无键按下,再将第二根行线置为“0”状态,同样读入输入缓冲器的状态,如其状态也全为“1”,则将第三根行线置为“0”状态,以此类推。如读入输入缓冲器的状态不全为“1”,确定哪一根列线为“0”状态,当某个键的行线和列线都为“0”状态时,表明该键按下。最后通过显示程序将该键的序号显示出来。图4-8 键盘与单片机的接口电路键盘接口电路用p1口接成44结构,共16个键。其中数字键10个,功能键6个,功能键有启动键、停止键、消除报警键、删除键、加一键、减一键。4.6 继电器控制水泵加水电路图4-9 继电器控制水泵加水的电路该电路由继电器和闭合开关、光电耦合器、电动机、r2、r3、r4以及d1、q4等组成。当水位在低水位或高水位时单片机给p2.5送一个低电平导通光电耦合器然后光电耦合器驱动q4导致继电器闭合从而让220v的交流电接通使水泵加水。其中光电耦合器是以光为媒介传输电信号的一种电一光一电转换器件。它由发光源和受光器两部分组成。把发光源和受光器组装在同一密闭的壳体内,彼此间用透明绝缘体隔离。发光源的引脚为输入端,受光器的引脚为输出端,在本设计当中发光源为发光二极管,受光器为光敏三极管。继电器是具有隔离功能的自动开关元件,在我们设计当中主要来做自动控制作用,我们采用+5v的直流电来控制220v的交流电,以达到控制水泵的作用,因为是在这里是以一种弱电来控制强电所以安装和使用的过程当中我们一定要注意用电安全注意事项。 电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。4.7 报警电路图4-10 报警电路当给p2.6口一个低电平时,管脚1为高电平,三极管导通,蜂鸣器发出报警,二极管导通发光。4.8 电源电路4.8.1 直流电源电路图4-11 电源电路在各种电子设备中,直流稳压电源是必不可少的组成部分,它是电子设备唯一的能量来源,稳压电源的主要任务是将50hz的电网电压转换成稳定的直流电压和电流,从而满足负载的需要,直流稳压电源一般由整流、滤波、稳压等环节组成。因为本次设计的元器件都可以使用+12v或是+5v的电源来驱动,所以我制作的稳压电源电路如图4-11所示。本装置的电源是通过整流桥整流后经c5,c8滤波后由7805稳定后提供稳定的5v电压。其中,变压器将交流电源(220v/50hz)变换为符合整流电路所需要的交流电压;整流电路是具有单方向导电性能的整流器件,将交流电压整流成单方向脉动的直流电压;滤波电路滤去单向脉动直流电压中的交流部分,保留直流成分,尽可能供给负载平滑的直流电压,其中极性电容c5和c8起到滤波电容的作用,非极性电容c6和c7则可以改善负载的瞬态影响,使电路稳定工作;稳压电路是一种自动调节电路,在交流电源电压波动或负载变化时,通过此电路使直流输出电压稳定。4.8.2 备用电源切换电路备用电源切换电路由四个电阻及电压比较器构成电压比较,正常情况下,v+v-输出高电平,由两个晶体管构成的达林顿管,使继电器开启,继电器的常开触点闭合,常闭触点断开,此时单片机电源与电池相连,从而实现市电和蓄电池供电的切换,保证电路的正常工作。如图4-12所示。图4-12 备用电源切换电路4.9看门狗电路在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗” 。看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个i/o引脚相连,该i/o引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),一旦单片机由于干扰造成程序跑飞后而陷入某一程序段不进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个10ms的正脉冲,此脉冲即为复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位. 采用89c51单片机和x25045组成的看门狗电路,x25045硬件连接图如图4-13所示。x25045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。在看门狗定时器预置的时间内若没有总线活动,则x25045将从reset输出一个高电平信号,经过微分电路c10、r3输出一个正脉冲,使cpu复位。图22电路中,cpu的复位信号共有3个:上电复位(c9、r13),人工复位(s、r12、r13)和watchdog复位(c10、r14),通过或门综合后加到reset端。c10、r14的时间常数不必太大,有数百微秒即可,因为这时cpu的振荡器已经在工作。图4-13 看门狗电路看门狗定时器的预置时间是通过x25045的状态寄存器的相应位来设定的。如表4-1所示,x25045状态寄存器共有6位有含义,其中wd1、wd0和看门狗电路有关,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论