超声波测距时教案资料.ppt

上传人:豆**** 文档编号:66722863 上传时间:2022-12-19 格式:PPT 页数:30 大小:805.50KB
返回 下载 相关 举报
超声波测距时教案资料.ppt_第1页
第1页 / 共30页
超声波测距时教案资料.ppt_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《超声波测距时教案资料.ppt》由会员分享,可在线阅读,更多相关《超声波测距时教案资料.ppt(30页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、超声波测距时二、方案论证二、方案论证v 由于超声波指向性强,能量消耗慢,在介质中传播的距离较远,因而超声波经由于超声波指向性强,能量消耗慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离设计比较方便,计算处理也比较简单,并常用于距离的测量。利用超声波检测距离设计比较方便,计算处理也比较简单,并且在测量精度方面也能达到使用的要求。且在测量精度方面也能达到使用的要求。v 超声波发生器可以分为两大类:一类是使用电气方式产生超声波;另一类是用超声波发生器可以分为两大类:一类是使用电气方式产生超声波;另一类是用机械方式产生超声波。电气方式包括电压型、电动型等;机械方式有加尔统笛

2、、液机械方式产生超声波。电气方式包括电压型、电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波各不相同,因而用途也哨和气流旋笛等。它们所产生的超声波的频率、功率和声波各不相同,因而用途也各不相同。目前在近距离测量方面较为常用的是压电式超声波换能器。各不相同。目前在近距离测量方面较为常用的是压电式超声波换能器。v 根据设计要求并综合各方面因素,本例决定采用根据设计要求并综合各方面因素,本例决定采用AT89C52单片机作为主控器,单片机作为主控器,用动态扫描法实现用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成。超声数字显示,超声波驱动信号用单片

3、机的定时器完成。超声波测距器系统设计框图如下:波测距器系统设计框图如下:Company Logo二、方案论证二、方案论证v超声波测距系统框图超声波测距系统框图Company Logo三、系统硬件电路的设计三、系统硬件电路的设计单片机系统及显示电路单片机系统及显示电路1超声波发射电路超声波发射电路2超声波检测接收电路超声波检测接收电路3硬件电路主要分为以下三个部分:硬件电路主要分为以下三个部分:Company Logo三、系统硬件电路的设计三、系统硬件电路的设计1.单片机系统及显示电路单片机系统及显示电路 单片机采用单片机采用89C51或其兼容系列。系统采用或其兼容系列。系统采用12MHZ高精度

4、的晶振,以获得较稳定的时钟频率,高精度的晶振,以获得较稳定的时钟频率,并减小测量误差。单片机用并减小测量误差。单片机用P1.0端口输出超声波换能端口输出超声波换能器所需的器所需的40kHz方波信号,利用外中断方波信号,利用外中断0口监测超声口监测超声波接收电路输出的返回信号。显示电路采用简单实用波接收电路输出的返回信号。显示电路采用简单实用的的4位共阳位共阳LED数码管,段码用数码管,段码用74LS244驱动,位码驱动,位码用用PNP三极管驱动。单片机系统及显示电路如图:三极管驱动。单片机系统及显示电路如图:Company Logo三、系统硬件电路的设计三、系统硬件电路的设计复位电路晶振电路L

5、ED显示电路Company Logo三、系统硬件电路的设计三、系统硬件电路的设计v复位电路的原理:只有在复位电路的原理:只有在RST端给它端给它24个时钟周期,才能让它复位。当按下开关个时钟周期,才能让它复位。当按下开关时,时,VCC接通,由于接通,由于10K电阻的分压作用,电阻的分压作用,RST端的电压为端的电压为5V,而,而5V电压正好电压正好可以满足可以满足RST复位的复位的24个时钟周期要求,于是个时钟周期要求,于是RST复位。此电路同时也是自动上复位。此电路同时也是自动上电复位的,当电容开始充电、放电时,电复位的,当电容开始充电、放电时,RST端的电压便随之变化,电压由低到高,端的电

6、压便随之变化,电压由低到高,再由高到低,时间能够满足再由高到低,时间能够满足24个时钟周期,故而个时钟周期,故而RST能够复位。能够复位。v晶振电路的原理:晶振两端各接一个无极性电容,电容上电,然后再放电,这样便晶振电路的原理:晶振两端各接一个无极性电容,电容上电,然后再放电,这样便可以帮助晶振起振。另:可以帮助晶振起振。另:12MHZ的晶振两端接的晶振两端接30PF的电容,的电容,6MHZ的晶振两端的晶振两端接接20PF的电容。的电容。vLED的工作原理:四位共阳的工作原理:四位共阳LED的一边是段选端,一边是位选端。同名段选端各自的一边是段选端,一边是位选端。同名段选端各自相连,然后相连,

7、然后7位段选端口接到位段选端口接到P0口,位选端接到口,位选端接到P2口。通过位选可以控制每一个口。通过位选可以控制每一个LED亮,通过段选端可以控制亮,通过段选端可以控制LED亮什么,其中段选端还要接上拉电阻,其作用是亮什么,其中段选端还要接上拉电阻,其作用是为了保证为了保证LED能够点亮。在位选端加一个高电压,段选端加一个低电压,那么再加能够点亮。在位选端加一个高电压,段选端加一个低电压,那么再加上上拉电阻的作用,便可以保证上上拉电阻的作用,便可以保证LED的两端形成一个压差,这样的两端形成一个压差,这样LED就点亮了。就点亮了。Company Logo三、系统硬件电路的设计三、系统硬件电

8、路的设计2.超声波发射电路超声波发射电路 超声波发射电路原理图如下图。发射电路主要由反向器74LS04和超声波换能器构成,单片机P1.0端口输出的40kHz方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推挽形式将方波信号加到超声波换能器两端可以提高超声波的发射速度。输出端采用两个反向器并联,用以提高驱动能力。两个上拉电阻一方面可以提高反向器74LS04输出高电平的驱动能力;另一方面可以增加超声波换能器的阻尼效果,以缩短其自由振荡的时间。Company Logo三、系统硬件电路的设计三、系统硬件电路的设计v超声波换能器的工作原理 压

9、电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部结压电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部结构如下图所示,它有两个压电晶片和一个共振板。当它的两极加脉冲信号,其频构如下图所示,它有两个压电晶片和一个共振板。当它的两极加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,这时它是一个超声波发生器;反之,如果两极间未加外电压,当共产生超声波,这时它是一个超声波发生器;反之,如果两极间未加外电压,当共振板接收道超声波时,将压迫压电晶片作振动,将机械能

10、转换为电信号,这时它振板接收道超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器了。超声波发射换能器与接收换能器在结构上稍有不同,就成为超声波接收换能器了。超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。超声波发射换能器上标有字母使用时应分清器件上的标志。超声波发射换能器上标有字母T,而接收换能器上标,而接收换能器上标有字母有字母R。超声波换能器结构图 Company Logo三、系统硬件电路的设计三、系统硬件电路的设计3.超声波检测接收电路超声波检测接收电路 集成电路集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电是一款

11、红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率视机红外遥控接收器。考虑到红外遥控常用的载波频率38kHz与测距的与测距的超声波频率超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路,如较为接近,可以利用它制作超声波检测接收电路,如图所示。实验证明,用图所示。实验证明,用CX20106A接收超声波(无信号的输出高电平)接收超声波(无信号的输出高电平)具有很高的灵敏度和较强的抗干扰能力。适当地更改电容具有很高的灵敏度和较强的抗干扰能力。适当地更改电容C4的大小,可的大小,可以改变接收电路的灵敏度和抗干扰能力。以改变接收电路的灵敏度和抗干扰能力。超声波

12、检测接收电路超声波检测接收电路Company Logo四、四、系统程序的设计系统程序的设计v 超声波测距器的软件设计主要由主程序、超超声波测距器的软件设计主要由主程序、超声波程序发生子程序、超声波接收中断程序声波程序发生子程序、超声波接收中断程序及显示子程序组成。由于及显示子程序组成。由于C语言程序有利于实语言程序有利于实现较复杂的算法,汇编语言程序则具有较高现较复杂的算法,汇编语言程序则具有较高的效率并且容易精确计算程序运行的时间,的效率并且容易精确计算程序运行的时间,而超声波测距器的程序既有较复杂的计算而超声波测距器的程序既有较复杂的计算(计算距离时),又要求精确计算程序运行(计算距离时)

13、,又要求精确计算程序运行时间(超声波测距时),所以控制程序可采时间(超声波测距时),所以控制程序可采用用C语言和汇编语言混合编程。下面对超声波语言和汇编语言混合编程。下面对超声波测距器的算法。测距器的算法。Company Logo四、四、系统程序的设计系统程序的设计v1.超声波测距器的算法设计超声波测距器的算法设计 距离计算公式:距离计算公式:d=s/2=(vt)/2 其中其中d是被测物与测距器的距离;是被测物与测距器的距离;s是超声是超声波的来回路程,波的来回路程,v是超声波在当前温度下的速是超声波在当前温度下的速度,度,t是发送和接收超声波所经历的时间。是发送和接收超声波所经历的时间。Co

14、mpany Logo四、四、系统程序的设计系统程序的设计v超声波测距器原理图超声波测距器原理图TR障碍物Company Logo四、四、系统程序的设计系统程序的设计v2.主程序算法设计主程序算法设计 主程序首先要对系统环境初始化,设置定时器工作模式为主程序首先要对系统环境初始化,设置定时器工作模式为16位定时、位定时、计数器模式,置位总中断允许位计数器模式,置位总中断允许位EA并对显示端口并对显示端口P0和和P2清清0;然后调;然后调用超声波发生子程序送出一个超声波脉冲。为了避免超声波从发射器直用超声波发生子程序送出一个超声波脉冲。为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延

15、迟接传送到接收器引起的直射波触发,需要延迟0.1ms后才打开外中断后才打开外中断0,接收返回的超声波信号。,接收返回的超声波信号。由于采用由于采用12MHZ晶振,计数器每记一个数就是晶振,计数器每记一个数就是1us,取,取20时时的超声波传输速度的超声波传输速度v=344m/s,则则d=(vt)/2=344t/2=(172T0/106)m=(172T0/10000)cm 其中其中T0为中断为中断T0的计数值。的计数值。测出距离后,结果以十进制测出距离后,结果以十进制BCD码方式送往码方式送往LED显示约显示约0.5S,然,然后再发出超声波脉冲重复测量。后再发出超声波脉冲重复测量。主程序流程图如

16、下:主程序流程图如下:Company Logo四、四、系统程序的设计系统程序的设计 开始系统初始化发送超声波脉冲等待反射超声波计算距离显示结果Company Logo四、四、系统程序的设计系统程序的设计3.超声波发生子程序和超声波接收中断程序超声波发生子程序和超声波接收中断程序 超声波发生子程序的作用是通过超声波发生子程序的作用是通过P1.0端口发送两个左右的超声波端口发送两个左右的超声波脉冲信号(频率约脉冲信号(频率约40KHZ的方波),脉冲宽度为的方波),脉冲宽度为12us左右,同时左右,同时把计数器把计数器T0打开进行计时。超声波发生子程序较简单,但要求程序打开进行计时。超声波发生子程序

17、较简单,但要求程序运行时间准确,所以采用汇编语言程序编程。运行时间准确,所以采用汇编语言程序编程。超声波测距主程序利用外中断超声波测距主程序利用外中断0检测返回超声波信号,一旦接收检测返回超声波信号,一旦接收到返回的超声波信号(即到返回的超声波信号(即INT0引脚出现低电平),立即进入超声波引脚出现低电平),立即进入超声波接收中断程序。进入该中断后,就立即关闭计时器接收中断程序。进入该中断后,就立即关闭计时器T0,停止计时,停止计时,并将测距成功标志字赋并将测距成功标志字赋1。如果当计时器溢出时还未检测到超声波返回信号,则定时器如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢溢出中断

18、将外中断出中断将外中断0关闭,并将测距成功标志字赋值关闭,并将测距成功标志字赋值2,表示本次测距,表示本次测距不成功。不成功。Company Logo四、四、系统程序的设计系统程序的设计4.C程序代码程序代码/*-超声测距器单片机程序超声测距器单片机程序MCU AT89C51 XAL 12MHz 2004.2.25-*/#include#define uchar unsigned char#define uint unsigned int#define ulong unsigned longextern void cs_t(void);extern void delay(uint);exter

19、n void display(uchar*);data uchar testok;Company Logo四、四、系统程序的设计系统程序的设计/*主程序主程序*/void main(void)data uchar dispram5;data uint i;data ulong time;P0=0 xff;P2=0 xff;TMOD=0 x11;IE=0 x80;while(1)cs_t();delay(1);testok=0;EX0=1;ET0=1;while(!testok)display(dispram);Company Logo四、四、系统程序的设计系统程序的设计if(1=testok)

20、time=TH0;time=(time8)|TL0;time*=172;time/=10000;dispram0=(uchar)(time%10);time/=10;dispram1=(uchar)(time%10);time/=10;dispram2=(uchar)(time%10);dispram3=(uchar)(time/10);if(0=dispram3)dispram3=17;else dispram0=16;dispram1=16;dispram2=16;dispram3=16;for(i=0;i300;i+)display(dispram);/Company Logo四、四、系

21、统程序的设计系统程序的设计/*超声接收程序(外中断超声接收程序(外中断0)*/void cs_r(void)interrupt 0 TR0=0;ET0=0;EX0=0;testok=1;/*超时清除程序(内中断超时清除程序(内中断T0)*/void overtime(void)interrupt 1 EX0=0;TR0=0;ET0=0;testok=2;Company Logo五、遇到的问题以及解决办法五、遇到的问题以及解决办法1.当把硬件电路连接好后,接到电源,发现当把硬件电路连接好后,接到电源,发现LED灯不亮。灯不亮。LED灯不亮灯不亮的原因有以下几个:的原因有以下几个:单片机不工作单片

22、机不工作 LED显示模块的硬件电路设计有问题显示模块的硬件电路设计有问题 LED显示模块的硬件电路连线有问题显示模块的硬件电路连线有问题 故障排查:故障排查:单片机不工作。先检查单片机不工作。先检查AT89C52单片机的电源线和地线是否接好,单片机的电源线和地线是否接好,发现接线无误。再看晶振电路是否工作,仔细检查发现晶振有一个引发现接线无误。再看晶振电路是否工作,仔细检查发现晶振有一个引脚接错,改正后发现,通电后晶振一端出现脚接错,改正后发现,通电后晶振一端出现50HZ的正弦波,且的正弦波,且ALE端出现方波,表示单片机正常工作。端出现方波,表示单片机正常工作。LED可以显示了,但是显示全部

23、可以显示了,但是显示全部是是8888。Company Logo五、遇到的问题以及解决办法五、遇到的问题以及解决办法LED显示模块的硬件电路设计有问题显示模块的硬件电路设计有问题 解决办法:软件仿真解决办法:软件仿真 在LED显示模块的proteus仿真文件中添加如下程序代码的hex文件,仿真后可以看到LED被点亮。LED模块调试代码 ORG 0000H AJMP 0030H ORG 0030H MOV P2,#00H ;P2端全部送低电平,经过三极管9012后,位选端为高电平 MOV P0,#00H ;P0端全部送低电平,段选全部为低电平,使LED全部点亮 END LED模块调试代码调入后得到

24、仿真效果如下:Company Logo五、遇到的问题以及解决办法五、遇到的问题以及解决办法LED模块调试代码调入后得到仿真效果模块调试代码调入后得到仿真效果Company Logo五、遇到的问题以及解决办法五、遇到的问题以及解决办法LED显示模块的硬件电路连线有问题显示模块的硬件电路连线有问题 由于单片机正常工作后,由于单片机正常工作后,4位共阳位共阳LED能够全部点亮;而且能够全部点亮;而且LED显显示模块的软件仿真成功,说明示模块的软件仿真成功,说明LED显示模块的硬件电路连线没有问题。显示模块的硬件电路连线没有问题。至此,至此,LED显示模块的故障被排除。显示模块的故障被排除。Compa

25、ny Logo五、遇到的问题以及解决办法五、遇到的问题以及解决办法2.LED全部显示全部显示8888的问题的问题 把把HEX程序烧进单片机后,连接电源,发现程序烧进单片机后,连接电源,发现LED全部显示全部显示8888。可能是。可能是P0口没有接上拉电阻口没有接上拉电阻(上拉电阻的阻值一般在上拉电阻的阻值一般在1K-10K之间之间)。因为。因为“从从P0口口输出时,必须外接上拉电阻才能有高电平输出。输出时,必须外接上拉电阻才能有高电平输出。”(见单片机课本(见单片机课本p20)。如)。如果果P0口不接上拉电阻,那么段选一直是低电平,而采用的是数码管的动态扫描,口不接上拉电阻,那么段选一直是低电

26、平,而采用的是数码管的动态扫描,看上去,位选端相当于一直高电平,即:数码管一直点亮。因此,如果看上去,位选端相当于一直高电平,即:数码管一直点亮。因此,如果LED全全部显示部显示8888,那么在,那么在P0口加上上拉电阻或许可以解决问题。口加上上拉电阻或许可以解决问题。前后分别做了两个板子,第一个板子出现前后分别做了两个板子,第一个板子出现LED全部显示全部显示8888的问题,再加的问题,再加上电路布线不够合理,不够美观,于是换了一块板子重新焊接。但是第上电路布线不够合理,不够美观,于是换了一块板子重新焊接。但是第2块板块板子焊好后,又发现单片机不能正常工作了。检查别人正常电路上的单片机的晶子

27、焊好后,又发现单片机不能正常工作了。检查别人正常电路上的单片机的晶体振荡器,观察晶振两个脚上的波形,发现其中一个脚上是体振荡器,观察晶振两个脚上的波形,发现其中一个脚上是50HZ的正弦波,的正弦波,另一个脚上出现类似正弦波的波形,但是有少量谐波成分。但是检查我们自己另一个脚上出现类似正弦波的波形,但是有少量谐波成分。但是检查我们自己的晶振,发现一端是的晶振,发现一端是50HZ的正弦波,但是另一端出现无规律的杂波,另外的正弦波,但是另一端出现无规律的杂波,另外ALE端也没有出现方波。端也没有出现方波。P1.0口(输出到超声波发射电路)也没有输出口(输出到超声波发射电路)也没有输出40KHZ的方波

28、。说明单片机没有正常工作。的方波。说明单片机没有正常工作。Company Logo五、遇到的问题以及解决办法五、遇到的问题以及解决办法3.晶振不能正常工作的问题晶振不能正常工作的问题 接接线线时时,尽尽量量使使晶晶振振电电路路靠靠近近单单片片机机。晶晶振振正正常常工工作作时时,一一端端可可以以检检测测到到50HZ的的正正弦弦波波,另另一一端端类似正弦波,但是有少量的谐波成分。类似正弦波,但是有少量的谐波成分。Company Logo五、遇到的问题以及解决办法五、遇到的问题以及解决办法4.复位电路复位电路 LED不不能能正正常常显显示示,可可能能是是复复位位电电路路出出问问题题。如如果果复复位位

29、开开关关一一直直导导通通,则则LED可可能能不不亮亮。检检查查复复位位开关是否短路即可。开关是否短路即可。Company Logo六、总结六、总结1.遇到不懂的问题,应该虚心向别人请教。遇到不懂的问题,应该虚心向别人请教。2.不要盲目相信课本。例如,书上的原理图上不要盲目相信课本。例如,书上的原理图上P0口没有接上拉电阻,口没有接上拉电阻,而实际上而实际上P0口一般都要接上拉电阻。本实验中,口一般都要接上拉电阻。本实验中,P0口不接上拉电阻口不接上拉电阻的后果是的后果是LED一直显示一直显示8888。另外,书上说可以用。另外,书上说可以用74LS244驱动驱动LED的断码,而的断码,而74LS

30、244芯片在本实验中的作用就是输入等于输出,芯片在本实验中的作用就是输入等于输出,并没有用到锁存功能,所以为了简化电路,可以省掉并没有用到锁存功能,所以为了简化电路,可以省掉74LS244。3.接线应该细心。特别是一些芯片的电源线和地线容易出问题。接线应该细心。特别是一些芯片的电源线和地线容易出问题。4.多调试。包括软件调试和硬件调试。如果一个功能模块电路出现问题,多调试。包括软件调试和硬件调试。如果一个功能模块电路出现问题,先用软件仿真,看看电路设计是否有误;若无误,则检查硬件电路的先用软件仿真,看看电路设计是否有误;若无误,则检查硬件电路的连线是否有问题;如果没有问题,再进行硬件仿真,看看

31、是不是程序连线是否有问题;如果没有问题,再进行硬件仿真,看看是不是程序的问题。一个模块一个模块地排查,就可以发现错误。的问题。一个模块一个模块地排查,就可以发现错误。5.如果多次检查仍不能解决问题,也不要盲目地换电路,重头开始。耐如果多次检查仍不能解决问题,也不要盲目地换电路,重头开始。耐心地调试,一步一步排查错误,总能找到问题的症结;不仅最后能解心地调试,一步一步排查错误,总能找到问题的症结;不仅最后能解决问题,还能学到很多实际操作的方法和经验,这都是在课本上学不决问题,还能学到很多实际操作的方法和经验,这都是在课本上学不到的。到的。Company LogoLOGO此课件下载可自行编辑修改,仅供参考!此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢感谢您的支持,我们努力做得更好!谢谢

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com