超声波测距系统设计+郭辉_第1页
超声波测距系统设计+郭辉_第2页
超声波测距系统设计+郭辉_第3页
超声波测距系统设计+郭辉_第4页
超声波测距系统设计+郭辉_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、 课 程 设 计系部名称: 机电工程系 课程名称: 传感器与检测技术 项目名称:超声波测距系统设计 姓 名: 郭 辉 学 号: 141101011 班 级: 2014级机电一体化1班 时 间: 20152016学年第二学期 指导教师: 朱 良 学 目 录1.绪论41.1课题背景及重要意义41.2 研究内容41.3主要任务及目标:42.整体设计思路42.1硬件整体设计43.2器材的选择73.3.单片机最小系统83.4超声波发射电路93.5超声波接收电路设计93.6显示电路设计114.软件设计124.1主程序设计124.2中断处理程序144.3计算及显示模块设计165.设计总结23参 考 文 献1

2、8摘 要本次系统的设计主要包括两部分,即硬件电路和软件程序。硬件电路主要包括单片机电路、发射电路、接收电路、显示电路和电源电路等。本次设计采用以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路。整个电路采用模块化设计,由信号发射和接收、供电、显示等模块组成。发射探头的信号经放大和检波后发射出去,单片机的计时器开始计时,超声波被发射后按原路返回,信号被接受电路接受,然后被单片机接收,计数器停止工作并得到时间。软件程序主要由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。它控制单片机进行数据发送与接收,实现数据正确显示在数码管上。另外程序控制单片机

3、消除各探头对发射和接收超声波的影响。相关部分附有硬件电路图、程序流程图。实际的环境对超声波有很大的影响,如外部电磁干扰电源干扰信道干扰等等,空气的温度对超声波的速度影响也很大,此外供电电源也会使测量差生很大的误差。由于知识面有限,作品还有许多可以改进的地方,希望在日后的学习中能将作品完善的更好。关键词:AT89C51;超声波;测距1.绪论1.1课题背景及重要意义近年来,随着电子测量技术的发展,运用超声波作出精确测量已成可能。超声波拥有许多优点:超声波测量精确高,成本低,性能稳定则备受青睐。超声波是指频率在20kHz以上的声波,它属于机械波的范畴。超声波也遵循一般机械波在弹性介质中的传播规律,如

4、在介质的分界面处发生反射和折射现象,在进入介质后被介质吸收而发生衰减等。正是因为具有这些性质,使得超声波可以用于距离的测量中。随着科技水平的不断提高,超声波测距技术被广泛应用于人们日常工作和生活之中。一般的超声波测距仪可用于固定物位或液位的测量,适用于建筑物内部、液位高度的测量等。由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,较其它仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣环境,具有少维护、不污染、高可靠、长寿命等特点。因此可广泛应用于纸业、矿业、电厂、化工业、水处理厂、污水处理厂、农业用水、环保检测、食品(酒业、饮料业、添加剂、食用油、奶制品)、防汛、水文、明渠、空

5、间定位、公路限高等行业中。可在不同环境中进行距离准确度在线标定,可直接用于水、酒、糖、饮料等液位控制,可进行差值设定,直接显示各种液位罐的液位、料位高度。因此,超声在空气中测距在特殊环境下有较广泛的应用。利用超声波检测往往比较迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到工业实用的指标要求,因此为了使移动机器人能够自动躲避障碍物行走,就必须装备测距系统,以使其及时获取距障碍物的位置信息(距离和方向)。因此超声波测距在移动机器人的研究上得到了广泛的应用。同时由于超声波测距系统具有以上的这些优点,因此在汽车倒车雷达的研制方面也得到了广泛的应用。1.2 研究内容1.设计一个超声波测

6、距系统,以单片机为控制核心,实现测距功能。(1)根据设计任务和指标,初选电路; (2)通过调查研究、设计计算,确定电路方案; 2. 培养一定自学能力和独立分析问题、解决问题能力。包括:(1)学会自己分析、找出解决问题的方法; (2)对设计中遇到的问题,能独立思考,查阅资料,寻找答案。1.3主要任务及目标:1.初步掌握模拟、数字电路分析和设计的基本方法。包括: 1.设计一个单片机最小系统,有lcd显示和按键;2.设计一个超声波测距模块;3.系统要求具有一定的可扩展性;4.毕业论文严格按学校的要求撰写;2.整体设计思路2.1硬件整体设计在开始做毕业设计之前,我需要对要所要完成的作品有一个大概的掌控

7、,特别是对超声波测距的原理和超声波测距系统的组成部分能有一个清晰的认识。超声波测距的原理:超生波测距的原理其实很简单,也就是大自然中蝙蝠捕食的原理,首先需要超生波发射装置,发出超声波,此时时间记作T1,当超声波收到障碍物的阻挡时,就会被反弹回来,然后就被超声波接受装置所捕捉到,这时时间记作T2,假设此时的声速为V,则超声波测距装置与障碍物之间的距离为:()/2。 (式2.1)超声波的原理图如图2.1所示: t 障碍物 s 超声波发射 超声波接收 图2.1 超声波的测距原理在我动手之前不是说能够一气呵成的完成作品,如果那样做的话,万一哪一部分出了问题,那么我将很难检查的出来,所以效率很低。因此决

8、定分模块来完成我的作品,首先用仿真软件进行仿真,确定好布线器材等,就可以先从硬件开始着手了,超声波测距系统的组成部分:1.单片机最小系统 2.超声波发射部分 3.超声波接受部分 4.显示部分;我只要一个一个模块的实现,这样效率就能提高很多。完成好硬件的功能,接下来就需要实现软件的功能了,本次设计的程序需要完成的功能有:(1)超声波的发射和接收控制(2)对回波信号的检测(3)测距时间到距离的换算(4)距离的显示从整体看超声波测距的原理很简单,但是我们要想获得一个高精度的测距结果,还需要考虑和多方面的东西,比如说:测距的温度会对结果有很大的影响。而且在器材选用方面,对测距结果也会带来很大的误差。因

9、此,在完成作品的过程中,还需要对硬件和软件有一个更加细致的考虑。整体电路的控制核心为单片机AT89C51。超声波发射和接收电路中都对相应信号进行整形及放大,以保证测量结果尽可能精确。超声波探头接OUT口实现超声波的发射和接收。整体结构图包括超声波发射电路,超声波接收电路,单片机电路,显示电路等几部分模块组成。由于超声波在发射和接收的过程中会有能量的损失,因此在超声波发射与接收电路还要加入放大电路。在发射后把信号放大,接收前也要把还再次放大,进行多级放大才能达到发射和接收的效果。整体电路结构图如图2.1.1所示:超声波接收电路超声波发射电路电源电路显示电路AT89C51电路 图2.1.1 超声波

10、测距原理图数字显示仿真如图2.1.2所示:图2.1.2 数字显示仿真2.2软件整体设计思路参照硬件的设计思路,软件我也将采取模块化的设计思路来进行,这样对提高效率有很大的帮助。本设计采用的是模块化的思路来进行设计和编写程序,程序主要由系统主程序和中断程序构成。主程序完成单片机的初始化,超声波的发射和接收、计算超声波发射点与障碍物之间的距离、数码管显示等。3.硬件设计3.1对超声波的认识超声波简介:超声波技术是一门以物理、电子、机械、以及材料科学为基础的、各行各业都可使用的通用技术之一。超声波技术是通过超声波的产生、传播以及接收的物理过程完成的。该技术在国民经济中,对提高产品质量,保障生产安全和

11、设备安全运作,降低生产成本,提高生产效率特别具有潜在能力。因此,我国对超声波的研究特别活跃。超声波的三种形式:超声波在介质中可以产生三种形式的振荡波:横波,质点振动方向垂直于传播方向的波;纵波,质点振动方向与传播方向一致的波;表面波,质点振动介于纵波和横波之间,沿表面传播的波。横波只能在固体中传播,纵波能在固体液体中和气体中传播,表面波随深度的增加其衰减很快。为了测量各种状态下的物理量多采用纵波形式的超声波。超声波的物理性质:(1) 超声波的反射和折射当超声波传播到两种特性阻抗不同介质的平面分界面上时,一部分超声波被反射;另一部分透射过界面,在相邻介质内部继续传播。这样的两种情况称之为超声波的

12、反射和折射。(2)超声波的衰减超声波在一种介质中传播,其声压和声强按指数函数规律衰减。(3)超声波的干涉如果在一种介质中传播几个声波,于是产生波的干涉现象。由于超声波的干涉,在辐射器的周围形成一个包括最大最小的扬声场。3.2器材的选择超声波传感器介绍:据我查阅资料了解到超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。他们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。压电式超声波发生器实际上是利用压电晶体的谐振来工作的。它有两

13、个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。超声波传感器结构如下:.图3.2 超声波传感器外部结构 图3.2.1超声波传感器内部结构由于市场上的超声波种类很多,通过我查阅资料,分析了超声波传感器的升压能级和灵敏度的关系后,发现在超声波测量系统中,当频率取得太低,则外界的杂音干扰较多,超声波接收的杂波就多,灵敏度就不高;当频率取得太高,在传播的过程中能量损失比较大,虽然分辨力比较高

14、,但是测量距离变短。通过我的综合分析,找到了比较好的频率段40KHz。如下图3.2.2超声波传感器的升压能级图和图3.2.3超声波传感器的灵敏度图。图 图3.2.2 超声波传感器的升压能级 图3.2.3 超声波传感器的灵敏度 因此本次设计选用的探头是4OKHz的收发分体式超声传感器,由一支发射传感器UCM-T40KI和一支接收传感器UCM-R4OKI组成,其特性参数如表3.2.2所示。传感器特性参数表表3.2.2传感器特性参数表型号UCM-T40K1UCM-R40KQ结构开放式开放式使用方式发射接收中心频率频带宽灵敏度声压指向角容量通过自己查阅相关资料,了解到要想提高结果的精度就要考虑的更加全

15、面,因此,我又详细的分析了一下超声波测距的原理。超声波测距的方法有多种:如往返时间检测法、相位检测法、声波幅值检测法。本设计采用往返时间检测法测距。其原理是超声波传感器发射一定频率的超声波,在空气中传播,到达测量目标或障碍物后反射回来,并在超声波接收器中进行频率的比较和筛选,并放大有效信号记录发射和接收的时间差,并通过()/2的计算公式测试传输出距离。当进行距离的测量时,由安装在同一水平线上的超声波发射器和接收器完成超声波的发射与接收,并且同时启动定时器进行计数。首先由超声波发射探头向前方发射一定频率的超声波并同时启动定时器计时,超声波在空气中传播的途中一旦遇到障碍物后就会被反射回来,当然超声

16、波在传播的过程中会有能量的损失,因此在超声波的接收部位就会有超声波放大装置,将有效的超声波信号进行放大,当接收探头收到反射波后就会给负脉冲到单片机使其立刻停止计时。这样,定时器就能够准确的记录下了超声波发射点至障碍物之间往返传播所用的时间t(s)。考虑到测量的距离在误差允许的范围内,我们将超声波在常温下空气中的传播速度大约为340 m/s,所以障碍物到发射探头之间的距离为:S=340×t/2=170×t (式3.2)因为单片机内部定时器的计时实际上就是对机器周期T的计数,而本设计中时钟频率fosc取12 MHz,设计数值N,则: T12/fosc=1s (式3.2.1)t=

17、N×TN×0.000001(s) (式3.2.2)S170×N×T170×N/1000000(m) (式3.2.3)在程序中按式S170×N×T170×N/1000000计算距离。3.3.单片机最小系统单片机最小系统是其他拓展系统的最基本的基础,单片机最小系统是指一个真正可用的单片机最小配置系统即单片机能工作的系统。对于AT89C51单片机,由于片内已经自带有了程序存储器,所以只要单片机外接时钟电路和复位电路就可以组成了单片机的最小系统了。单片机的最小系统如图3.3所示。图3.3 单片机最小系统原理图3.4超声波发

18、射电路通过我的综合分析,用单片机P0.1发射一组方波脉冲信号,其输出波形稳定可靠,但输出电流和输出功率很低,不能够推动发射传感器发出足够强度的超声信号,所以超声波发射电路是由超声波探头和超声波放大器组成。超声波探头将电信号转换为机械波发射出去,而单片机所产生的40 kHz的方波脉冲需要进行放大才能将超声波探头驱动将超声波发射出去,所以发射驱动实际上就是一个信号的放大电路,本设计选用74LS04芯片进行信号放大,超声波发射电路如图3.4所示图3.4 超声波发射电路工作时,由单片机产生40 kHz的脉冲从P0.1口向超声波的发射电路部分发出信号,再经74LS04放大电路放大后,驱动超声波探头将超声

19、波发射出去。3.5超声波接收电路设计我们都知道,超声波在传播过程中,能量会衰减的很厉害,此时,超声波接受装置就会受到很大的阻碍。因此,我们还需设计一个超声波放大电路,让超声波接收装置在接受微弱的超声波信号时,能将其放大,让超声波接受装置能够识别。超声波接收电路主要是由集成电路CX20106A芯片电路构成的,CX20106A芯片电路可以对超声波信号进行放大、限幅、带通滤波、峰值检波、整形、比较等功能,比较完之后超声波接收电路会输出一个低电平到单片机去请求中断,当即单片机停止计时,并开始去进行数据的处理。CX20106A是一块功能很强大的芯片,该芯片的前置放大器具有自动增益控制的功能,当测量的距离

20、比较近时,放大器不会过载;而当测量距离比较远时,超声波信号微弱,前置放大器就有较大的放大增益效果。CX20106A芯片的5脚在外接电阻对它的带通滤波器的频率进行调节,而且不用再外接其他的电感,能够很好地避免外加磁场对芯片电路的干扰,而且它的可靠性也是比较高的。CX20106A芯片电路本身就具有很高的抗干扰的能力,而且灵敏度也比较高,所以,能满足本设计的要求。超声波接收电路如图3.5所示 图3.5 超声波接收电路由于在制作过程中,知识面过于狭窄,因此,选择了集成模块的超声波发射和接受装置:HR-SR04超声波集成模块1、产品特点:HC-SR04 超声波测距模块可提供 2cm-400cm 的非接触

21、式距离感测功能, 测距精度可达高到 3mm;模块包括超声波发射器、接收器与控制电路。 基本工作原理:(1)采用 IO 口 TRIG 触发测距,给至少 10us 的高电平信号; (2)模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回; (3)有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S)/2;2、实物图:图3.5.1 超声波测距模块如上图3.5.1所示接线VCC 供5V电源,GND为地线,TRIG 触发控制信号输入,ECHO回响信号输出等四支线。3、电气参数:表 3.5.2 HC-S

22、R04电器参数电气参数HC-SR04 超声波模块工作电压DC 5 V工作电流15mA工作频率40Hz最远射程4m最近射程2cm测量角度15 度输入触发信号10uS 的 TTL 脉冲输出回响信号输出 TTL 电平信号,与射程成比例规格尺寸45*20*15mm3.6显示电路设计由于我设计的超声波测距系统,最远只能测量4m的距离,因此选用4位LED显示。根据数码管的一些选择,最终筛选出了最优的设计方案:在显示电路的设计上,利用单片机的P0P2口来控制数码管显示,这种接法虽然比较浪费管脚资源,但是对单片机的理论知识要求相对比较低,而且超声波发射和接收电路并不需要很多的管脚来支持,所以我选择这种方案。数

23、码管的选择上,为了使数码管亮度大,我选择了共阳极的数码管,数码管管脚接到低电平发亮。显示及其驱动电路的原理图如图3.6所示。图3.6 显示电路原理图4.软件设计4.1主程序设计主程序对整个单片机系统进行初始化后,先将超声波的回波接收标志位置位并且使单片机P1.0端口输出一个低电平用来启动超声波发射电路,同时将定时器T0启动,然后调用距离计算的子程序,再根据定时器T0记录的时间计算出所需要测量的距离,然后再调用显示子程序,再将测出的距离以十进制的形式送到数码管显示。最后主程序通过对回波信号的接收,完成后续的工作,假如标志位清零则说明接收到了回波信号,那么主程序就返回到初始端重新将回波接收标志位置

24、位并且在单片机的P0.1端口上发送低电平到超声波发射电路,就这样,连续不断地运行,循环不断地工作用来实现测距。 超声波接收电路在接收到超声波回波后,通过CX20106A电路进行检波整形比较,并向单片机发出有效信号,单片机通过外部中断的改变记录回波信号的到达时间,中断发生之后就是表示已经接收到了回波信号,这个时候停止计时,并且读取计数器中的数值,这个数值就是需要进行测量的时间差的数据。程序中对测距距离的计算方法是按S=17×N/100000=0.00017×N(m)进行计算的,其中,N为计数器的值,声速的值取为340 m/s。系统主程序流程图如图4.1所示:开始单片机初始化超

25、声波模块复位发射超声波并启动T0开中断接收到回波的同时中断停止计算测量距离显示距离延时 图4.1 系统主程序流程图系统主程序如下:void main(void)uchar i,j;for(i=0;i<255;i+)for(j=0;j<255;j+); /延时,等待系统外围复位完成 sys_init(); /初始化display(); /显示sta_flag=0; /标准复位 waitforstarting: while(START);for(i=0;i<20;i+)delay1ms();if(START)goto waitforstarting;BUZZER=0; i=100

26、000;while(i-);BUZZER=1;i=100000;while(i-);TR0=1; /启动定时器0ET0=1;testtemp(); while(1) if(sta_flag) /60MS到了,超声波已经发送 while(0=CSBIN); /等待超声波返回TR1=0;jsh=TH1; /停止计数jsl=TL1;if(15=count) temp=wd(); count=0;testtemp(); /重新启动转换display(); /刷新显示computer(); /计算距离hextobcd(); /转化成BCD码sta_flag=0; /标志清零 void sys_init(

27、void) uchar i;for(i=0;i<29;i+) /显示清零 numi=0;TMOD=0x11;TH0=0x15;TL0=0xA0;P0=0;CNT=0; /超声波发送关闭CSBIN=1;EA=1; /开放总中断Init_LCD();4.2中断处理程序负责计算距离是INT0的中断程序。根据前面的对超声接收电路的分析,在超声波集成模块接收到超声波回波信号后,超声波接收电路就会产生一个低电平送至单片机的P0.0引脚,使系统中断,则系统转入中断处理程序。进入中断处理后,定时器T0和外部中断0就立即被关闭,同时读取时间值,调用计算距离函数,并给回波接收标志位清零即成功接收到回波信号。

28、中断程序如下:void zd0() interrupt 1 /T0中断用来计数器溢出,超过测距范围 flag=1; /中断溢出标志 void zd3() interrupt 3 /T1中断用来扫描数码管和计800 ms启动模块 TH1=0xf8; TL1=0x30; Display(); DIDI(); timer+; if(timer>=400) timer=0; TX=1; /800 ms启动一次模块 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _n

29、op_(); _nop_(); _nop_(); _nop_();TX=0; void main(void) TMOD=0x11;/设T0为方式1,GATE=1; TH0=0; TL0=0; TH1=0xf8; /2 ms定时 TL1=0x30; ET0=1; /允许T0中断 ET1=1; /允许T1中断 TR1=1; /开启定时器 EA=1; /开启总中断 while(1) while(!RX); /当RX为零时等待 TR0=1; /开启计数 while(RX); /当RX为1计数并等待 TR0=0; /关闭计数 Count(); /计算 4.3计算及显示模块设计由于计算公式为S=17

30、15;N/100000=0.00017×N(m),可以从中看出如果想要得到具体的距离的值,就只需要得到从超声波发送开始到接收到超声波这个过程中定时器0的计数的次数。本设计中,采用了4位共阳极连接的数码管显示来显示与障碍物之间的距离,同时数码管与P1口连接进行动态的段扫描。由于这个距离值是不断变化的,所以,这个数码管的显示的过程是在外部中断0发生后才进行的。 所以当主程序给超声波发生器发送了信号后,此时中断和定时器0就已经被打开,并开始计时了。当超声波接收电路接收了到回波信号的同时时,电路便会产生一个低电平到单片机的P0.0端口,在单片机检测到该信号后,定时器计时就将停止,同时定时器的

31、计数的次数将被提取出来,这样就可以得到以m为单位的测量的距离值。C程序如下:Void Count (void) time=TH0*256+TL0; TH0=0; TL0=0; /time=23529; S=(time*0.0017); /算出来是m if(S>=7000)|flag=1) /超出测量范围显示“-” flag=0; flag_beep=0; disbuff0=10; /“-” disbuff1=10; /“-” disbuff2=10; /“-” disbuff3=10; /“-”BEEP=1; else disbuff0=S/1000; disbuff1=S/100%10

32、; disbuff2=S/10%10; disbuff3=S%10;5.设计总结通过这次毕业设计对我来说收获甚多。刚开始的时候毫无头绪,在反复的查阅相关资料的情况下,慢慢的终于有了大概的思路,但是由于超声波测距的课题涉及知识面很广,对于设计菜鸟来说的我,实在是力不从心。但是在三个月的刻苦学习和与老师的帮助下,很快设计有了眉目,我的作品也慢慢步入正轨。三个月的辛苦是值得的,一个毕业设计把我整个大学期间的知识都用上了,还让我学到了很多我没接触过的内容,让我受益匪浅,同时也锻炼了我的动手能力,让我对超声波有了更进一步的认识。本次毕业设计,虽然已经完成了作品的制作,但是还有很多不完美的地方。经过反复试验,

温馨提示

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

评论

0/150

提交评论