您好,欢迎访问三七文档
摘要随着科技的发展,人们生活水平的提高,城市发展建设加快,城市给排水系统也有较大发展,其状况不断改善。但是,由于历史原因合成时间住的许多不可预见因素,城市给排水系统,特别是排水系统往往落后于城市建设。因此,经常出现开挖已经建设好的建筑设施来改造排水系统的现象。城市污水给人们带来了困扰,因此箱涵的排污疏通对大城市给排水系统污水处理,人们生活舒适显得非常重要。而设计研制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱涵中自由排污疏通,是箱涵排污疏通机器人的设计研制的核心部分。控制系统核心部分就是超声波测距仪的研制。因此,设计好的超声波测距仪就显得非常重要了。本设计采用以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。整个电路采用模块化设计,由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。相关部分附有硬件电路图、程序流程图。经实验证明,这套系统软硬件设计合理、抗干扰能力强、实时性良好,经过系统扩展和升级,可以有效地解决汽车倒车、建筑施工工地以及一些工业现场的位置监控。一、超声波传感器测距系统设计1、设计原理:超声波是指频率高于200HZ的机械波。为了以超声波作为检测手段,必须产生超声波和接受超声波。完成这种功能的装置就是超声波传感器,超声波传感器具有发送和接受器,但一个超声波传感器也可具有发送和接收声波的双重作用,超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候将电能转换,发射超声波;而在接收回波的时候,将超声振动转换成电信号。其系统框图如图2-1所示。图2-1基于单片机的超声波测距系统框图超声波测距的原理一般采用渡越时间法TOF。首先测出超声波从发射到遇到障碍物返回所经历的时间,在乘以超声波的速度就得到二倍的声源到障碍物间的距离。由于超声波的指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也比较简单,而且在精度方面也能达到要求。超声波测距是一种非接触式的检测方式。与其它方法相比,如电磁或光学的方法,它不受光线、被测对象颜色等影响。对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。因此在液位测量、机械手控制、车辆自动导航、物体识别等方面有广泛应用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其它方法为高;而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。测距离的方法有很多种,短距离可以用尺,远距离可以用激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准的空气中的传播速度为331.45M/S,由单片机负责记时,单片机使用12.0M晶振,所以次系统的测量精度理论上可以达到毫米级。超声波在空气中的传播速度随温度变化,其对应值如表2-1,根据计时器记录的时间t(见图2-2),就可以计算出发射点距障碍物的距离(s),即:s=vt/2。表2-1声速与温度的关系温度(℃)-30-20-100102030100声速(m/s)313319325323338344349386图2-2超声波测距时序图2、超声波传感器(1)超声波发生器超声波发生器是一种用于产生并向超声换能器提供超声能量使之工作于谐振频率的装置,根据其激励方式可以分为两种:一种是他激式,一种是自激式。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。(2)压电式超声波发生器原理压电式超声波发生器实际上是利用电晶体的谐振来工作的。超声波发生器内部结构如图2-3所示它有两个压电晶片和一个共振板当他的两极外加脉冲信号,器频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动便产生超声波。反之,如果两极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作共振,将机械能转化成电信号,这时它就成为超声波接受器了。图2-3超声波发生器内部结构(3)单片机超声波测距系统构成单片机控制系统以AT89S51为核心,发出40KHZ左右的方波脉冲信号,由于单片机端口输出功率很弱,为了使测量距离达到要求,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,内部计时器停止计时读出时间t,由系统软件对其计算分析后,相应的计算结果送至LED数码管进行显示。图2-4超声波测距系统框图3、设计方案根据本系统的功能需求,初步确定设计系统由单片机主控模块、显示模块、超声波发射模块、接收模块共四个模块组成。发射电路由单片机输出端直接驱动超声波发送。根据设计要求决定采用AT89S51单片机作为主控制器,用动态扫描法实现LED数值显示,超声波驱动信号用单片机的定时器完成。超声波测距系统设计如图2-5。开始测量超声波信号开定时器关定时器数据运算显示器接收检测电声换能器电声换能器驱动电路超声波接收模块超声波发射模块单片机控制系统(AT89S51)显示模块键盘模块供电单元图2-5系统设计框图(1)AT89S51单片机AT89S51是一个低功耗,高性能的CMOS8位单片机,片内含4KbytesISP的可以反复擦写1000次的Flash只读程序储存器,器件采用ATMEL公司的高密度、非易失性储存技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和IPSFlash存储单位,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。(2)超声波测距系统构成本系统主要由单片机系统及显示电路、超声波发射电路和超声波接收电路三部分。采用AT89S51来实现对CX20106A红外接受芯片和超声波转换模块的控制。单片机通过P1.0引脚经反向器来控制超声波的发送,然后单片机不停的检测TNT0引脚,当TNT0引脚的电平变为低平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算可以得到传感器与障碍物之间的距离。软件部分包括主程序,超声波发生子程序,超声波中断子程序以及显示子程序。1)供电电路本测距系统的工作电流约为30-45mA,采用LED数字显示,为了保证系统的正常工作供电电压为交流6-9V同时为了系统的调试方便我们采用了用USB口直接用电脑供电,6V交流电流经过二极管整流成脉动直流后经滤波电容C1虑波后形成直流电,为保证单片机系统的可电,供电路中由5伏的三端称压集成电路进行稳压后输出5伏的真流电供整个系统用电,为进一步提高电源质量,5伏的直流电再次经过C3、C4滤波。图2-6供电电路图2)超声波发射、接收电路超声波发射如图2-7,接收电路如图2-8。利用压电晶体谐振工作,内部结构上它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动振板振动产生超声波,这是它就是一超声波发生器,如没加电压,当共振板接受到超声波是,将压迫压电振荡器作振动,将机械能转换为电信号,这是它就成为了超声波接收转换器。接受换能器晶片接受到超声波垂直作用后,因谐振而形成逐步加强的机械振动。因为压电效应晶片两面出现交变的等量异号电荷,电荷量很少,只能提供微笑奥交变电压信号,而不能提供电流信号。接收电路的任务是将这一微小的交变电压信号充分凡达,同时考虑可能出现的干扰信号,放大同时加入滤波电路,驱动后面的比较器输出电位跳变,作为确定收到信号的时刻。图2-7超声波测距发送电路图图2-8超声波测距接收电路图3)显示电路本系统采用三位一体LED数码管显示所测距离值,如图2-9。数码管采用动态扫描显示,段码输出端口为单片机的P2口,位码输出端口分别为单片机的P3.4、P3.2、P3.3口,数码管位驱运用PNP三极管S9012三极管驱动。图2-9显示电路图4)超声波测距单片机系统超声波测距单片机系统主要由:AT89S51单片机、晶振、复位电路、电源滤波部份构成。由K1,K2组成测距系统的按键电路。用于设定超声波测距报警值。如图2-10。图2-10超声波测距单片机系统AT89S51单片机超声波测距系统原程序#includeREGX51.H#includeintrins.h#defineucharunsignedchar#defineuintunsignedint#definek1P3_7//k1功能键#definek2P3_6//k2数值调整键#definecsboutP2_7//超声波发送#definecsbintP3_5//超声波接收ucharec,cls,cs,xl,xm0,xm1,xm2,sec20,sec,sec1,buffer[3],BitCounter,temp,Number[8]={1,2,3,4,5,6,7,8};uchartemp1,convert[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,};//0~9段码uintzzz,dz,zzbl,i,jsz,yzsj,kk,s,ss;staticucharbdatake,kw;//可位寻址的状态寄存器floatcsbc,wdz;sbitLED1=P3^4;//数码管位驱动sbitLED2=P3^2;//数码管位驱动sbitLED3=P3^3;//数码管位驱动sbitk11=ke^0;sbitk12=ke^1;sbitk22=ke^2;sbitk21=ke^3;sbitb=ke^4;sbitc=ke^5;sbitd=ke^6;sbite=ke^7;sbitw=kw^0;sbitzj1=kw^1;sbitzj2=kw^2;voiddelay(i);//延时函数voidscanLED();//显示函数voidtimeToBuffer();//显示转换函数voidtime();voidjpcl();voidwdzh();voidjpzcx();voidcsbfs();voidcsbsc();voidoffmsd();voidmain(){EA=1;//开中断TMOD=0x11;//设定时器0为计数,设定时器1定时ET0=1;//定时器0中断允许TH0=0xD8;TL0=0xF0;//设定时值为20000us(20ms)TR0=1;csbout=1;d=0;TR1=0;temp1=15;zzz=699;dz=100;cls=5;xl=temp1;csbsc();k12=1;k1=1;k2=1;k22=1;d=1;while(1){if(ec==1){ec=0;wdzh();}//调用超声波测量timeToBuffer();//调用转换段码功能模块offmsd();//调用显示转换程序scanLED();//调用显示函数jpcl();}}//调用按键处理程序voiddelay(i)//延时子程序{while(--i);}voidscanLED()//显示功能模块{P2=buffer[2];LED1=0;delay(1);LED1=1;delay(50);P2=buffer[1];LED2=0;delay(1);LED2=1;delay(50);P2=buffer[0];LED3=0;delay(1);LED3=1;delay(50);}voidtimeToBuffer()//转换段码功能模块{if(jszzzz){buffer[0]=0x93;buffer[1]=0x93;buffer[2]=0x93;}else{xm0=jsz/100;xm1=(jsz-xm0*100)/10;xm2=jsz-xm0*100-xm1*10;buf
本文标题:测控课程设计
链接地址:https://www.777doc.com/doc-2228786 .html