测控课程设计_第1页
测控课程设计_第2页
测控课程设计_第3页
测控课程设计_第4页
测控课程设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要随着科技的发展,人们生活水平的提高,城市发展建设加快,城市给排水系 统也有较大发展,其状况不断改善。但是,由于历史原因合成时间住的许多不可预见因素,城市给排水系统,特别是排水系统往往落后于城市建设。因此,经常 出现开挖已经建设好的建筑设施来改造排水系统的现象。城市污水给人们带来了 困扰,因此箱涵的排污疏通对大城市给排水系统污水处理,人们生活舒适显得非 常重要。而设计研制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱 涵中自由排污疏通,是箱涵排污疏通机器人的设计研制的核心部分。控制系统核心部分就是超声波测距仪的研制。因此,设计好的超声波测距仪就显得非常重要 了。本设计采用以AT89C5

2、仲片机为核心的低成本、高精度、微型化数字显示超 声波测距仪的硬件电路和软件设计方法。整个电路采用模块化设计,由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。各探头的信号 经单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统 的总体方案,最后通过硬件和软件实现了各个功能模块。相关部分附有硬件电路 图、程序流程图。经实验证明,这套系统软硬件设计合理、抗干扰能力强、实时性良好,经过 系统扩展和升级,可以有效地解决汽车倒车、建筑施工工地以及一些工业现场的 位置监控。、超声波传感器测距系统设计1、设计原理:超声波是指频率高于200HZ的机械波。为了以超声波作为检测手

3、段,必须产 生超声波和接受超声波。完成这种功能的装置就是超声波传感器,超声波传感器 具有发送和接受器,但一个超声波传感器也可具有发送和接收声波的双重作用,超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波 的时候将电能转换,发射超声波;而在接收回波的时候,将超声振动转换成电信 号。其系统框图如图 2-1 所示。妁显示单1发射側片机一接收处理口;4图2-1基于单片机的超声波测距系统框图超声波测距的原理一般采用渡越时间法 TOF首先测出超声波从发射到遇到障碍物返回所经历的时间,在乘以超声波的速度就得到二倍的声源到障碍物间的 距离。由于超声波的指向性强,能量消耗缓慢,在介质中传播

4、距离远,因而超声波 可以用于距离的测量。禾用超声波检测距离,设计比较方便,计算处理也比较简 单,而且在精度方面也能达到要求。超声波测距是一种非接触式的检测方式。与 其它方法相比,如电磁或光学的方法,它不受光线、被测对象颜色等影响。对于 被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应 能力。因此在液位测量、机械手控制、车辆自动导航、物体识别等方面有广泛应 用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播 方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其它 方法为高;而且超声波传感器具有结构简单、 体积小、信号处理可靠等特点。利用

5、超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精 度方面能达到工业实用的要求。测距离的方法有很多种,短距离可以用尺,远距离可以用激光测距等,超声 波测距适用于高精度的中长距离测量。因为超声波在标准的空气中的传播速度为331.45M/S,由单片机负责记时,单片机使用12.0M晶振,所以次系统的测量精度 理论上可以达到毫米级。超声波在空气中的传播速度随温度变化,其对应值如表2-1 ,根据计时器记录的时间t (见图2-2),就可以计算出发射点距障碍物的距离(s ),即:s = v温度C)3020100102030100声速(m/s)31331932532333834434938

6、6表2-1声速与温度的关系,戏射4仃町庄脉冲I接收到的馆号图2-6供电电路图T1Z 丁】一 ToT,图2-2超声波测距时序图2、超声波传感器(1) 超声波发生器超声波发生器是种用于产生并向超声换能器提供超声能量使之工作于谐将压迫压电晶片作共振,a振频率的装置,根据其激励方式可以分为两种:一种是他激式,一种是自激式。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。(2) 压电式超声波发生器原理压电式超声波发生器实际上是利用电晶体的谐振来工作的。超声波发生器内 部结构如图2-3所示它有两个压电晶片和一个共振板当他的两极外加脉冲信号, 器频率

7、等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板 振动便产生超声波。反之,如果两极间未外加电压,当共振板接收到超声波时,将机械能转化成电信号,这时它就成为超声波接受器了。长It方向上伸长长度方向上缩短P (3) 单片机超声波测距系统构成单片机控制系统以AT89S5伪核心,发出40KHZ左右的方波脉冲信号,由于 单片机端口输出功率很弱,为了使测量距离达到要求,经放大后通过超声波换能 器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,由系统软产生锁定信号启动单片机中断程序,内部计时器停止计时读出时间 件对其计算分析后,相应的计算结果送至 LED数码管进行显示。

8、图2-4超声波测距系统框图/Z/ZZZZZZZZ3、设计方案根据本系统的功能需求,初步确定设计系统由单片机主控模块、显示模块、超声波发射模块、接收模块共四个模块组成。发射电路由单片机输出端直接驱动 超声波发送。根据设计要求决定采用 AT89S51单片机作为主控制器,用动态扫描超声波接收模显示模块统:超声波发射模)键盘模块法实现LED数值显示,超声波驱动信号用单片机的定时器完成。超声波测距系统供电单元图2-5系统设计框图(1) AT89S5单片机AT89S5是一个低功耗,高性能的CMOS位单片机,片内含4Kbytes ISP的可以反复擦写1000次的Flash只读程序储存器,器件采用ATME公司

9、的高密度、非易失 性储存技术制造,兼容标准MCS-5指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和IPS Flash存储单位,功能强大的微型计算机的AT89S5可为许多嵌入式控制应用系统提供高性价比的解决方案。(2)超声波测距系统构成本系统主要由单片机系统及显示电路、超声波发射电路和超声波接收电路三 部分。采用AT89S51来实现对CX20106A红外接受芯片和超声波转换模块的控制。单片机通过P1.0引脚经反向器来控制超声波的发送,然后单片机不停的检测TNT0 引脚,当TNT0引脚的电平变为低平时就认为超声波已经返回。 计数器所计的数据 就是超声波所经历的时间,通过换算可以得到

10、传感器与障碍物之间的距离。软件 部分包括主程序,超声波发生子程序,超声波中断子程序以及显示子程序。1) 供电电路本测距系统的工作电流约为 30-45mA采用LED数字显示,为了保证系统的正常工作供电电压为交流6-9V同时为了系统的调试方便我们采用了用USE直接用电脑供电,6V交流电流经过二极管整流成脉动直流后经滤波电容C1虑波后形成直流电,为保证单片机系统的可电,供电路中由5伏的三端称压集成电路进行稳压后输出5伏的真流电供整个系统用电,为进一步提高电源质量,5伏的直流2电二II亠电再次经过C3 C4滤波。,|鼻=!=盯?込世2)超声波发射、接收电路超声波发射如图2-7,接收电路如图2-8。利用

11、压电晶体谐振工作,内部结构 上它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电 晶片的固有振荡频率时,压电晶片将会发生共振,并带动振板振动产生超声波, 这是它就是一超声波发生器,如没加电压,当共振板接受到超声波是,将压迫压 电振荡器作振动,将机械能转换为电信号,这是它就成为了超声波接收转换器。接受换能器晶片接受到超声波垂直作用后,因谐振而形成逐步加强的机械振动。因为压电效应晶片两面出现交变的等量异号电荷,电荷量很少,只能提供微笑奥 交变电压信号,而不能提供电流信号。接收电路的任务是将这一微小的交变电压 信号充分凡达,同时考虑可能出现的干扰信号,放大同时加入滤波电路,驱动后

12、面的比较器输出电位跳变,作为确定收到信号的时刻。y-3 _3)显示电路本系统采用三位一体LED数码管显示所测距离值,如图2-9。数码管采用动态扫描显示,段码输出端口为单片机的P2口,位码输出端口分别为单片机的P3.4、P3.2、P3.3 口 ,数码管位驱运用PNP三极管S9012三极管驱动。r匚iwEt图2-9显示电路图4)超声波测距单片机系统超声波测距单片机系统主要由:AT89S51单片机、晶振、复位电路、电源滤波部份构成。由K1, K2组成测距系统的按键电路。用于设定超声波测距报警值。如图2-10。图2-10超声波测距单片机系统AT89S51单片机超声波测距系统原程序#include #i

13、nclude #define uchar unsigned char#define uint unsigned int#define k1 P3_7/k1功能键#define k2 P3_6/k2数值调整键#define csbout P2_7/超声波发送#define csbint P3_5/超声波接收ucharec,cls,cs,xl,xm0,xm1,xm2,sec20,sec,sec1,buffer3,BitCounter,temp,Number8=1,2,3,4,5,6,7,8;uchar temp1,convert10= 0x3F,0x06, 0x5B, 0x4F, 0x66, 0x

14、6D, 0x7D,OxO7,Ox7F, Ox6F, ;/O9 段码uint zzz,dz,zzbl,i,jsz,yzsj,kk,s,ss;static uchar bdata ke,kw;/ 可位寻址的状态寄存器float csbc,wdz;sbit LED1 = P 3八4;/数码管位驱动sbit LED2 = P 3八2;/数码管位驱动sbit LED3 = P 3八3;/ 数码管位驱动sbit k1仁kJO;sbit k12=ke1;sbit k22=ke2;sbit k21=ke3;sbit b=ke4;sbit c=ke5;sbit d=ke6;sbit e=ke7;sbit w=k

15、w0;sbit zj仁kwM;sbit zj2=kw2;void delay(i);/ 延时函数void scanLED();/ 显示函数void timeToBuffer();/显示转换函数void time();void jpcl();void wdzh();void jpzcx();void csbfs();void csbsc();void offmsd();void main()EA=1;/开中断TMOD=0x11;/设定时器0为计数,设定时器 1定时ET0=1;/定时器0中断允许TH0=0xD8; TL0=0xF0;/ 设定时值为 20000us(20ms)TR0=1;csbout

16、=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(); /调用按键处理程序void delay(i)/延时子程序 buffer2=0xFF; while(-i);void scanLED()/显示功能模块 P2=buffer2;LED1=0; delay(1);LED

17、1=1; delay(50);P2=buffer1;LED2=0; delay(1);LED2=1; delay(50);P2=buffer0;LED3=0; delay(1);LED3=1; delay(50); void timeToBuffer()/ 转换段码功能模块 if (jszzzz) buffer0=0x93;buffer1=0x93;buffer2=0x93; else xm0=jsz/100;xm1=(jsz-xm0*100)/10;xm2=jsz-xm0*100-xm1*10;buffer0=convertxm2;buffer1=convertxm1;buffer2=con

18、vertxm0;定时器0中断外理 , 键if (buffer2=0x81)void KeyAndDis_Time0(void) interrupt 1 using 1/扫描和显示 TR0=0; TH0=0xD8; TL0=0xF0; TR0=1; time(); void time ()/计时处理模块buffer2=0x84; sec20+;if (sec20=cs)/ 50 * 10 ms = 0.5 s sec20=0; ec+; e=e;if (ec3) ec=0; sec1+;/ 秒计时if (sec1100) sec1=0; sec+;if (sec=3) sec=0; void j

19、pcl()/按键处理程序k11=k1;if (!k12&k11) b=1; k12=k11; k11=k1; k21=k2;if (b=1)while(b) buffer0=0x84;buffer1=0x84;sec=0; c=0;while(!c) if (sec=2)c=1; scanLED();c=0; zzbl=jsz; jsz=dz;timeToBuffer();jpzcx(); dz=kk;if (dz699) dz=200;if (dz6)xm0=0; if (e=1)scanLED();if (!k12&k11) c=1; k22=k21; k12=k11; buffer2=c

20、onvertxm0; c=0;while(!c) k11=k1; k21=k2;if (!k22&k21) xm1+;if (xm19) xm1=0;if (e=1) buffer1=0xFF;else buffer1=convertxm1;scanLED();if (!k12&k11) c=1; k22=k21; k12=k11;buffer1=convertxm1; c=0;while(!c) k11=k1; k21=k2;if (!k22&k21) xm2+;if (xm29) xm2=0;if (e=1)if (!k12&k11) c=1; b=0; kk=xm0*100+xm1*10

21、+xm2; k22=k21; k12=k11; void wdzh() TR0=0; TH1=0x00; TL1=0x00;csbint=1; delay(1700); csbfs();csbout=1; TR1=1;i=yzsj;while(i-)i=0;while(csbint)/判断接收回路是否收到超声波的回波 i+;if(i=3300) csbint=0;TR1=0; s=TH1; s=s*256+TL1;TR0=1; csbint=1; jsz=s*csbc;/计算测量结果jsz=jsz/2;void offmsd()/百位为数 0判断模块 if (buffer2=0x81)/如果值为零时百位不显示buffer2 = 0xff;:n:K:BBS:9aS:BB:3:ittItH 出廿廿廿 ThTITtItH t q H i H Ittititi 廿时:U:R83:8B3C:fi:3:SS:aB3:3B:乏pSusa,M 藍 SaiXUSI8K9nK2SISSSSSSWI!2r8gtSSIBZSRBCnra;:;:2SS& S8BBUBZUS&aB:BUPI9;B8S:?n:!JII!J!Sll2SS8:EE:B8BaHIZ8a8S:UU3BS2N?!B8SB

温馨提示

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

评论

0/150

提交评论