超声波测距器的设计说明书模板

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

超声波测距器的设计
摘要
用单片机控制超声波的发射,通过单片机记录和读取发射超声波和接收到的回波的时间差,进而计算出测量的距离。

文中详细论述了超声波测距的原理、测量电路和程序设计的方案。

关键词:超声波测距仪单片机
目录
摘要................................................Ⅰ1前言.................................................1 1.1 设计任务.............................................1 1.2本设计的应用意义.....................................1 2总体设计方案.............................................2 2.1设计原理...................................................3 2.2总体设计框图...............................................4 3电路原理的设计...............................................5 3.1超声波传感器....................................5 3.2超声波发射电路设计........................................7 3.3超声波回波接收处理电路设计.................................8 3.4LED显示电路设计...................................9 3.5键盘电路设计.............................................10 4软件设计.............................................12 4.1超声波测距原理........................................12
4.1.1超声波脉冲法测距原理...................................20
4.1.2超声波信号测量..................................21 4.2程序框架.......................................17
4.3测距控制程序...............................18 4.416Hz时基中断处理程序.............................19
4.6EXT1外部中断程序......................................22 4.7显示刷新程序.........................................23 4.8主程序.........................................23 5系统调试...........................................24
5.1硬件电路调
试.........................................24
5.2软件程序调
试.........................................25
5.2.1调试的主要方法.................................26
5.2.2调试中遇到的问
题.................................27
5.3综合调
试.............................................28 6 设计总结.......................................................29 致...........................................................30 参考文献.......................................................31 附录A:超声波测距器电路原理图....................................32 附录B:程序清单...................................................32
1 前言
1.1 设计任务
本设计实现超声波测距,要求测距围为100cm~500cm,用LED 数码管显示测量结果,以厘米为单位,精度为1 厘米;测量用按键触发:
(1)开机时数码管显示000;
(2)按下键盘则进行一次测量,并把测量结果显示在LED 数码管上。

1.2 本设计的应用意义
超声波进行小距离测距已经广泛应用于小距离测距、机器人检测、车辆倒车雷达以与家居安防系统等领域;还可以用于建筑施工工地以与一些工业现场的位置监控,也可用于如液位、井升、管道长度的测量等场合。

2 总体设计方案设计
2.1 设计原理
超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常被用于距离的测量。

超声波发生器可以分为两大类:一类是用电气方式产生超声波;另一类是用机械方式产生超声波。

电气方式包括电压型、电动型等;机械方面有加尔统笛、液哨和气流旋笛等。

它们所产生的超声波的频率、功率和声波特性各不一样,因而用途也各不一样。

目前在近距离测量方面较为常用的是压电式超声波换能器。

根据设计要求并综合各方面因素,本设计决定采用89c52单片机作为主控制器,用扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成。

超声波测距原理: 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。

超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:
s=340t/2
2.2总体设计框图
超声波测距器设计框图如图2.1所示:
超声波发射、接收器负责超声波发射、接收;LED用于距离的显示;单片机负责系统的控制,数据的计算。

3 电路原理的设计
3.1 超声波传感器
为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。

总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。

电气方式包括压电型、磁致伸缩型和电动型等;目前较为常用的是压电式超声波发生器;通常用于小距离检测、障碍物检测等。

本设计中应用的为压电式的超声波传感器,一般又分为收发一体型传感器,和收发分体型传感器;本设计采用接收、发送分体的传感器组,通常称为一对传感器。

超声波传感器最主要的参数之一就是该传感器的超声波谐振频率,一般采用40KHz、25KHz 或80KHz,而这里介绍40KHz 的超声波传感器;接收、发送分体的的超声波传感器组分为发射探头、接收探头两个器件,一般都为两个引脚的圆柱型封装,如下图所示:
3.2 超声波发射电路设计
超声波谐振频率发生电路、调理电路如下:
图5.4 超声波谐振频率发生电路、调理电路
NE555和电容电阻组成的电路产生40KHz的方波,以使超声波传感器产生谐振;而后面的CD4049则对40KHz频率信号进行调理。

PLUS_EN1是超声波信号发射的使能控制端口,当该端口接低电平时,模组将不能发射超声波信号,即40KHz的方波。

3.3 超声波回波接收处理电路设计
超声波接收处理部分电路前级采用NE5532 构成10000 倍放大器,对接收信号进行放大;后级采用LM311 比较器对接收信号进行调整,比较电压为LM311 的3 管脚处,可由J1 跳线选择不同的比较电压以选择不同的测距模式。

图5.5 超声波回波接收处理电路
3.4 LED显示电路设计
(略)
3.5 键盘电路设计
3.6 详细电路原理图
见附件2。

4 系统软件设计
4.1 超声波测距原理
4.1.1 超声波脉冲法测距原理
声波在其传播介质中被定义为纵波。

当声波受到尺寸大于其波长的目标物体阻挡时就会发生反射;反射波称为回声。

假如声波在介质中传播的速度是已知的,而且声波从声源到达目标然后返回声源的时间可以测量得到,那么就可以计算出从声波到目标的距离。

这就是本系统的测量原理。

这里声波传播的介质为空气,采用不可见的超声波。

假设室温下声波在空气中的传播速度是335.5m/s,测量得到的声波从声源到达目标然后返回声源的时间是t秒,距离d可以由下列公式计算:
d=33550(cm/s)×t(s)
因为声波经过的距离是声源与目标之间距离的两倍,声源与目标之间的距离应该是d/2。

4.1.2 超声波信号测量
超声波测距信号:
图 6.1为超声波模组上三极管Q1的集电极处测量的波形图,此时J2跳线短接,使Q1始终导通;而传感器距目标面的距离为2米。

图中的波形为示波器抓拍图,1通道为Q1集电极测得波形,即上方的波形;通道2为发射端测得波形。

图中可见,接收回路中测得的超声波信号共有两个波束,第一个波束为余波信号,即超声波接收头在发射头发射信号(一组40KHz的脉冲)后,马上就接收到了超声波信号,并持续一段时间。

另一个波束为有效信号,即经过被测物表面反射的回波信号。

超声波测距时,需要测的是开始发射到接收到信号的时间差,在上图中就可看出,需要检测的有效信号为反射物反射的回波信号,故要尽量避免检测到余波信号,这也是超声波检测中存在最小测量盲区的主要原因。

图6.1超声波信号测量图
软件控制脉冲发射、检测回波信号:
程序设计时需要采用脉冲测量法,由SPCE061A控制模组发生40KHz的脉冲信号,每次测量发射的脉冲数至少要12个完整的40KHz脉冲(程序中为20个左右)。

同时发射信号前要打开计数器,进行计时;等计时到达一定值后再开启检测回波信号,以避免余波信号的干扰。

采用外部中断对回波信号进行检测(回波信号送到单片机的为一序列方波脉冲)。

接收到回波信号后,马上读取计数器中的数值,此数据即为需要测量的时间差数据。

为避免测量数据的误差,程序中对测距数据的处理方法是:每进行一次测距,利用时基中断测量4次,即取得4组数据,经过处理后得到这一次测距值。

4.2程序框架
本方案的软件系统主要包含下列模块:
超声波测距程序:负责超声波测距的控制、结果计算等,另外有部分代码在中断服务程序中,主要代码在UserFunction.c以与IntDocument.c文件。

语音播放程序:语音播放控制,主要代码在Speech.h,而语音中断服务程序在isr.asm 文件中,但为了使语音播放程序在初始化时不影响用户的其它中断,在isr.asm中还有一个中断初始化程序。

中断程序:主要指IntDocument.c文件,包括超声波测距的中断服务代码,以与用于显
示刷新的IRQ4中断服务程序。

系统程序:主要指system.c文件,包含系统端口初始化、测量结果处理、以与显示刷新程序。

主程序:主控程序负责控制整个系统的工作流程。

4.3测距控制程序
超声波测距的功能函数流程图见图 6.2。

用户需要先调用测距初始化函数InitMeasure(),再调用该函数BeginMeasure()即可进行一次测距操作,函数返回值为测量结果。

每一次测距要进行四次测量,这四次的测量结果需要经过处理后才可得到最终的测距返回值,而四次测量的控制以与测量结果的处理都是在这个函数中完成的,具体的处理方法:每一次测距中的四次测量的间隔时间用16Hz的时基中断来控制;每一次测量,先发射20个40KHz脉冲(参见16Hz中断),然后使能测量时间基准计数器(本方案当中使用 TimerB),当计数到预设延时后,打开EXT1外部中断,等待回波反射到接收头。

四次测量全部完成后,再对测量的结果进行处理、换算,。

其中等待预设延时的原因:压电式的电声传感器存在余波干扰,而有部份声波会沿电路板直接传到接收头,经接收电路的放大后,系统就有可能把它误认为是反射回来的回波信号。

图6.2 超声波测距子函数流程图
4.416Hz时基中断处理程序
16Hz的时基中断处理程序里,主要进
行检查上次测量是否超时,若超时便会转
到超时处理程序;然后进行下一次的测量
启动,即再次发送20个40KHz方波脉冲。

16Hz中断流程图见:图6.3 16Hz中断流程
图。

图6.3 16Hz中断流程图
4.4EXT1外部中断程序
当回波触发控制器的外部中断后,程序会转到EXT1外部中断服务子程序中,读取测量结果,并作数据的初步处理。

流程图见:图6.4 EXT1外部中断流程图。

4.5显示刷新程序
本方案使用IOA8、IOA9、IOA10三个端口控制三个发光二极管(LED)作为显示,每一个LED 对应一个超声波测距模组,当探测到0.35m~1.5m的围没有障碍物时,对应的LED是常灭的;当探测到0.35m~1.5m的围有障碍物时,对应的LED则以一定频率闪烁,而且距离越近则闪烁的频率越高。

系统以IRQ4的1KHz中断对显示进行扫描,并设置有三个变量保存对应传感器模组的频率设置数据,即Show_Freq_Set[0]、Show_Freq_Set[1]、Show_Freq_Set[2]。

当频率设置数据的值为0时,系统则不对对应的LED
进行显示翻转,则对应的LED不会闪烁;此外,系统还定义有三个变量(Show_Counter_1KHz[x], x=0~2)作为1KHz 的计数器,对应用个LED,而当频率设置数据不为0时,计数器会不断地计数(以1KHz),当计数器的计数值累加到与频率设置数据一样时,则会使对应的LED显示状态进行输出翻转,并对计数器进行清零,周而复始。

由此可知,当频率设置数据非零时,该数据越小,则对应LED的闪烁频率越高。

图6.7为在IRQ4的1KHz中断程序当中调用的显示刷新程序流程图。

注:图6.7当中仅给出了针对一路传感器模组状态显示的流程图,即Show_Freq_Set[0]的,其它两个LED的显示刷新程序流程图也一样类似,这里就不再给出。

4.5主程序
由于很多处理操作在中断当中完成了,所以本方案的主程序并不复杂,图6.8为本方案的主程序流程图。

图中,系统使用的中断主要指IRQ4的1KHz 中断,而测量通道选择即通过I/O端口选通CD4052的通道,以决定当前的测量是对哪一个超声波测距模组。

通过主程序流程图可看出,系统是在不断的对三组超声波测距模组进行测距操作,并将
每次测距的结果进行处理,以更新对应的LED显示频率设置,以与在符合要求的条件下进行语音提示播放。

在测距结果处理程序当中,系统会针对每一个通道的测距结果进行判断、处理;当某一通道的测距结果大于1.5m时,则让对应的LED保持灭的状态,并将该通道的显示频率设置数据设为0;当测距结果小于1.5m时,则设置对应的显示频率设置数据,数据的大小与测量的结果按一定比例成正比即可。

当测距结果处理程序会对当前的三组超声波测距模组所探测到的障碍物的距离进行判断,当有某一组或者一组以上的模组探测到障碍物在0.35m~1.5m的围时,会进行语音提示的播放。

图6.9为测距结果处理程序。

图中,后方、左后方以与右后方,表示的是三个不同的通道的超声波测距模组所测量的区域。

5 系统调试5.1 硬件电路调试(略)
5.2 软件程序调试(略)
5.2.1 调试的主要方法(略)
5.2.2 调试中遇到的问题(略)
5.3 综合调试(略)
6 设计总结
(略)

首先我要感我的指导老师xxx教授,他为我们创造了良好舒适的实验室环境,形成了良好的学习氛围,指导我正确的学习方法,在此谨xxx表达深深的意!
在设计的进行过程中,还得到了机械工程与自动化学院xxx教授、xxx老师、的热心指导和帮助,帮我排除了很多困难,在此表示衷心的感!
还要非常感我的同学,我们同宿舍的xxx、xxx、xxx、xxx等许多好朋友,他们给了我很多帮助!
参考文献
[1] 丽霞,单片机在测距系统中的应用,计算机应用,2005.9
[2] 凤然,基于单片机的超声波测距系统,信号与处理,2004.7
[3] 谭浩强,C程序设计,:清华大学,1999年12月第2版
[4] 凌阳大学计划
附件A:超声波测距器电路原理图
附件B:程序清单
;---------------------------
;公司名称: 西华大学机械工程与自动化系
;程序名称:串口AD转换
;创建人:西华日期:2004-04-09
;功能描述:超声波测距;版本:V1.0;---------------------------
; 89C51与TLC0831管脚的连接:
;CS(P1.2) TLC0831的 /CS
;CK(P1.0) TLC0831的CLK
;D(P1.1) TLC0831的数据输出
;定义:
CK EQU P1.0
D EQU P1.1
CS EQU P1.2
ORG 0000H
AJMP MAIN
ORG 000BH ;T0中断服务程序入口
AJMP DISPLAY
ORG 0030H
MAIN: MOV TMD,#01H ;T0定时,工作方式1
MOV TH0,#0DEH ;T0计数初值
MOV TL0,#0E0H
SETB EA ;CPU,T0开中断
SETB ET0
SETB TR0
AJMP $ ;等中断
;---------------------------
;程序名称:DISPLAY (中断服务程序)
;功能:LED的显示、将采集的二进制数据转换为便于显示的十进制码
;原理:通过使用F0判定点亮哪个LED,实现数值的显示
;入口:21H――存放LED0显示的数据
; 22H――存放LED1显示的数据
;占用的寄存器:A, DPTR
;---------------------------
DISPLAY: MOV TH0,#0DEH ;重新装载计数器初值
MOV TL0,#0E0H
ACALL TLC0831 ;调用TLC0831数据采集程序
ACALL BINBCD ;调用二进制数据转换为十进制码程序
. . . .
CPL F0
F0,LED1 ;根据F0的状态决定显示哪个LED LED0: MOV A,22H ;LED0的显示程序
MOV DPTR,#TAB
MOVC A,A+DPTR ;查表显示
MOV P0,A
SETB P2.7
CLR P2.6
RETI
LED1: MOV A,21H ;LED1的显示程序
MOV DPTR,#TAB
MOVC A,A+DPTR
MOV P0,A
SETB P2.6
CLR P0.6
CLR P2.7
RETI ;中断返回
以下(略)
21 / 21。

相关文档
最新文档