您好,欢迎访问三七文档
院别:xxxx课程名称:xxxx实验名称:液位自动检测与控制系统实验教室:xxx指导教师:xxx实验日期:xx年x月x日一、设计要求1.基本要求本方案设计一个自动检测液体液位的检测仪器系统。然后通过1602液晶显示器把测得的参数显示出来。二、实验设备与软件计算机、KeilC51编程器、STC下载器、Altiumdesigner软件、数字万用表、陶瓷压力传感器三、方案分析根据系统的设计要求,得出以下两种方案:方案一:红外光电传感器红外光电传感器是由红外发射二极管和敏感三极管组成,红外发射二极管发出的红外光的波长和敏感三极管的受光波长相同或相近。当发射管和接受管之间没有障碍物时,敏感三极管由于收到红外光信号而导通,电路输出电平为低电平;当发射管和接受管之间有障碍物挡住时,敏感三极管由于收不到红外光信号而截止,电路输出电平为高电平。该系统中,对量筒中的液体表面的检测基本上是利用散射原理,在玻璃量筒中液体表面处的液体会发生外延现象或吸附现象而形成一个环形曲面,这个曲面正好供我们检测用。它是由一对红外光电对管组成的,在玻璃量筒中液体表面处的液体会发生外延现象或吸附现象而形成一个环形曲面,由于散射作用,接收管接收不到发射管的红外光信号而截止,电路输出电平为高电平。因此,可以利用其输出电平的高低来检测液面的位置,其输出信号再通过电缆输出到单片机接口电路和显示驱动电路进行处理。为了适应本系统的特殊要求,我们将红外发射、接受管分别装在U形板的两边,两管距离大于玻璃量筒的直径。为了减少外来自然光的干扰,在两管的发射、接受头安装有一定深度的导光孔槽,它一方面减少了外来光的干扰,另一方面可以限制光束直径,以利于提高检测分辨率。方案二:压力传感器该系统中,利用不同水位是对压力传感器压力大小不同,从而有不同的电压输出,然后由仪表放大器放大一定倍数,输入比较器一端与单片机通过按键设定的电压值比较从而决定是进水还是放水。四、方案选择经过分析和实验要求,传统的设计方案主要靠软件实现,且操不方便,精度不高,不容易实现。所以我们选择方案二,直接将压力传感器输出的电压与单片机的设计电压进行比较,从而决定是输入水,还是放出水。实现水位的检查与控制。而且方案二通过单片机输出电压控制信号,由比较器输出高低信号来控制水电泵或者电磁阀的开关,来获得实际所需的水位。通过选择合适的DA我们可以设置不同的电压值,可以很好的提高控制精度和实现更加方便和节约成本,实现了整个设计。五、系统具体设计方案液位自动检测与控制系统由软、硬件共同组成。考虑到工作速度和可靠性、题目精度要求等因素,合理地分配了硬件和软件资源,在进行设计时,充分考虑了件和软件的特点,协调其功能。电子负载系统的硬件部分包括以下部分:(1)单片机的选择与I/O的分配(2)液晶显示模块(3)A/D转换电压电流采样模块(4)电源电路模块液位自动检测与控制系统的控制程序,包括以下部分:(l)人一机联系程序。包括液晶显示输出程序等。(2)数据采集和处理程序。主要A/D转换程序、电压电流采样程序。六、系统电路设计原理图PCB图实物图七、系统软件设计系统初始化按键扫描处理程序D/A转换产生基准电压电压电流采样A/D转化液晶显示程序开始结束检测电源是否完成?YN初始化初始化A/D转换通通启动A/D转换A/D转化是否完成数据处理汉字数据显示子程序电压电流采样子程序入口返回YN软件主程序图电压采样图软件程序:#includereg52.h#includelcd1602.hsfrP1ASF=0x9D;sfrADC_CONTR=0XBC;sfrAUXR1=0xA2;sfrADC_RESL=0xBE;unsignedcharinit_ad(void){unsignedchardat;P1ASF=0x01;//p1.0电压输入ADC_CONTR=0xe8;AUXR1=0x04;dat=ADC_RESL;returndat;}voidmain(){unsignedchardat,i;while(1){dat=init_ad();dat=(223-dat)/3;display(dat);for(i=100;i0;i--){delay();delay();}}}#ifndef_LCD1602_H_#define_LCD1602_H_#includereg52.hsbitrs=P2^0;sbitrw=P2^1;sbite=P2^2;voiddelay(void){unsignedchari,j;for(i=0;i20;i++){for(j=0;j30;j++);}}voidzhil(unsignedcharxx)//写地址{delay();e=0;rs=0;rw=0;e=1;P0=xx;e=0;}voiddat(unsignedcharxx)//写数据{delay();e=0;rs=1;rw=0;e=1;P0=xx;e=0;}voidinit_1602(void){zhil(0x01);zhil(0x38);zhil(0x0e);zhil(0x0c);}voiddisplay(unsignedcharx){unsignedchard0[16]={yewei:},i;unsignedchard1[16]={};init_1602();d0[7]=x/100+0x30;d0[8]=x/10%10+0x30;d0[9]=x%10+0x30;zhil(0x80);for(i=0;i16;i++){dat(d0[i]);}zhil(0xc0);for(i=0;i16;i++){dat(d1[i]);}}#endif主程序软件流程如图所示,在图中软件首先进行DA、AD、1602液晶显示、控制变量初始化,再调用键盘扫描处理程序,在没有按下没有按下自动调节启动停止按键时,默认为功能设置,此时单片机只预置数据输入、按键查询、预置数据LCD显示等功能;而当按下该按键1次后,单片机将转为执行负载调节、A/D采集、实际数据LCD显示等功能。八、电路参数测试及功能检测液位深度(cm)液面显示(cm)初始值(AD采样值)0022511220222143320743202水位和液面的压力关系显示值=(初始值-测试值)/2。九、误差分析:本实验选用的陶瓷压力传感器灵敏度比较差,元器件本身存在一定的误差。所用仪器,元器件的限制,还有本身电路设计的缺陷,和周围环境的影响,导致了前端传感器有误差信号的影响。还有电源模块的设计,使电压不稳定会产生信号的误差跳变。十、本次实验小结本次设计实验课基本上完成了任务要求,但是在选用传感器上没有结合实际情况结合参数选用液位压力传感器。导致在采集信号上面存在一些误差。现用的单片机采集精度和传感器精度不匹配。不能完成部分扩展功能。通过本次实验更加熟悉硬件设计思路和软件编程的方法。让我们学会了设计一个系统我们所要学习的东西和设计最重要注意的东西。
本文标题:压力传感器水位检测
链接地址:https://www.777doc.com/doc-1438118 .html