超声波测距传感器以其丈量精度高、呼应快和价格低廉而广泛应用在工业现场测距、移动机器人导航和定位等场合。超声波测距传感器常用的办法是1 个发射头对应1 个接纳头,也有多个发射头对应1 个接纳头。 它们共同之处是:每个接纳头只丈量一个方位,这个方位便是除盲区内因发射的超声波旁瓣引起的接纳信号超声波包络峰值外,第1个接纳信号超声波包络峰值对应的间隔。 在机器人自主导航避障时,机器人只关怀最近障碍物的间隔,是可以完结自主避障的。 可是在机器人定位时,尤其在动态环境下,1 个接纳头一起丈量多个间隔,可以更多地描绘环境信息,这对机器人用超声波定位具有重要意义。
1 超声波
1. 1 超声波测距原理
超声波测距原理比较简单,一般是选用时差法。即:通过检测发射的超声波与其遇到障碍物后产生回波之间的时间差Δt ,求出障碍物的间隔d ,计算公式为: d = cΔt/ 2 ,其间:
c 为超声波波速, T1 为环境摄氏温度。
1. 2 发射信号超声波包络
在发射头两头加40 kHZ 的矩形脉冲电压, 压电晶体把电能转变成机械能,带动其上振荡板运动,见图1. 振荡板的固有频率是40 kHZ,因为共振,振荡板很快起振,然后安稳, 脉冲电压吊销, 振荡板作阻尼振荡衰减。 若振荡板长期作业在最大振幅状况,即振荡板新增能量与其损耗能量持平,这样产生的超声波能量大,有利于进步信噪比,可是接纳信号超声波包络从起振到峰值的时间将变长(扩大器增益小,不呈现削顶的情况下) ,不利于阈值挑选,差错变大,也不利于第二个方位的丈量,别的盲区也会增大。 振荡板振荡时,空气、压电晶体(起振时是鼓励)等耗费振荡板能量, 其间受空气阻力耗费的能量转变成发射超声波。 压电晶体鼓励吊销,则振荡板振荡作阻尼呈指数联系衰减。 把振荡板简化成是一个绷簧振子,设振荡板在一个正弦周期( T = 25μs) 内是规范正弦波,则在发射头振荡板运动周期数n ≤发射头鼓励脉冲数N 时,发射头振荡板运动满意:
x = A ( n) sinωt (1)
式中t ∈[ ( n – 1) T , nT ] , A ( n)是第n 个周期内的振幅。
k 是常数, E( n) 是第n 个周期内振荡板的机械能。
a 是一个与衰减有关的常系数, Ef ( n) 第n 个周期内振荡板损耗的机械能。
ΔE 是压电晶片每次施加的能量。
在n > N 时, 发射头振荡板运动能量满意:
1. 3 接纳信号超声波包络
发射头产生的超声波遇到不同介质就会产生回波,接纳头把回波转变成电能,产生接纳信号。 现剖析超声波笔直入射到墙面面时的接纳信号,接纳信号超声波包络由起振阶段和衰减阶段两部分组成,如图1。
接纳信号与回波超声包络的各正弦波幅值联系是:
式中W R 是接纳信号包络峰值,W Echo 是回波包络峰值, H 是回波的单位冲击呼应。
图1 实践接纳信号( N = 5)
从图1 中可看出, 承受信号包络从起振到峰值的时间要小于从峰值衰减至噪声幅值的时间。 实践总长度挨近1. 5 ~ 2 ms ,而从起振到包络峰值只需250μs 左右,即9 ~ 12 个T , T = 25μs.
依据发射的超声波能量特色, 得出接纳信号每个周期能量的表达式, 设每个周期内的正弦波是规范正弦波且发射头振荡板尚未达安稳振荡状况。
N 是发射头鼓励脉冲数。
由(6) 、(7) 式知:在N , a 必定的情况下,每个反射面产生的回波效果接纳头得到的接纳信号经归一化后是相同的。 为了便于取阈值,剖析接纳信号包络的特性与n、N 的联系是必要的。 首要找出定值a ,办法是取N = 5 , a值在必定范围内改变得到多幅仿真图,经比较a = 5 000/ s 时得到的图2 与图1 挨近。 依据得到的a值可仿真N = 12 时的接纳信号,见图3.
图2 接纳信号仿真( N = 5 , a = 5 000/ s)
图3 接纳信号仿真( N = 12 , a = 5 000/ s)
2 阈值和分辩率
阈值的选取,决议本测距体系的丈量精度。 因为回波的能量巨细受入射角、反射面巨细、形状和原料、空气的湿度和温度等要素决议,为了较准确地丈量文献中机器人与墙面之间的间隔,下面只针对超声波笔直入射墙面,承受信号的巨细进行剖析。
在丈量时,一旦有搅扰物挡住超声波到墙面的跋涉途径,则墙面回来的信号将削弱,过高的阈值或许测不到墙面回波信号,动态阈值因无规律可循而无法运用,故此阈值选用小固定值,因接纳信号中的噪声峰值较安稳,固定阈值取3~5 倍噪声峰值。 因为墙面回波信号不确定地凹凸改变,在标定丈量参数时,用示波器收集信号,以接纳信号包络峰值的0. 5 倍处(即图2 中n = 4 或5 处的时间) 作为间隔信息。 这样处理的意图是: 即便接纳信号过强或过弱,测距差错一直在3~5 cm 以内。 当N 过大时,盲区会增大一起丈量精度也会下降,见图3.
多方针丈量要能区分出两个不同方针。 因为阈值取得小,则体系的分辩才干很差,从图2 上可看出接纳信号经1. 5 ms 后正弦幅值是包络峰值的0. 015倍。 图2 的波形只需在超声波笔直入射墙面时才干得到,在大多数情况下接纳信号从起振到包络峰值根本固定,可是接纳信号从包络峰值今后各不相同,一般从起振经1. 5 ms~2 ms 后都会降到阈值以下。
在丈量墙面间隔时,只需搅扰物与墙面坚持30 cm以上间隔则墙面间隔能较准确取得。
3 体系硬件
C8051 系列单片机具有丰厚的模仿、数字外设和多种总线接口,支撑在线编程,是许多测控体系的首选。体系硬件框图如图4 ,C8051F021 有5 个定时器,5 个PCA 通道,测4 个方向的超声波传感器发射头可共用1 个40 kHz 方波信号,实施同步发射;4 个接纳头可接入PCA 的4 个通道。 信号扩大电路的扩大倍数在800 左右,即便接纳信号通过带通滤波器,噪声峰值也达30 mv.
图4 单接纳头多方针丈量电路框图
图5 用示波器标定体系(只需一个发射头和一个接纳头)
4 体系软件
体系软件根本构架如下:
void main ()
{ cONfig () ; EA = 1 ; While (1) {} ; }
void time0_inter () interrupt 1 {}
void time1_inter () interrupt 3 {}
void time2_inter () interrupt 5 {}
void time3_inter () interrupt 14 {}
void time4_inter () interrupt 16 {}
void PCA_inter () interrupt 9 {}
初始化程序config () : I/ O 交叉开关装备;运用外部时钟,指定体系时钟;time 0~4 中止使能,其间time 0 溢出中止产生,产生40 kHz 方波信号输出;PLA 中止敞开。
中止函数time0_inter ( ) :产生5 个40 kHz 方波信号输出后封闭time0 中止, TF0 = 0 ; PLA 溢出、边际捕捉中止敞开。
中止函数PCA_inter () :若是溢出中止产生(30ms) ,则封闭PCA_inter ( ) 中止,CF = 0 ,敞开time0中止;若是CCFn = 1 ,则记下定时器时间(与初值相减后代入标定式得间隔) ,给定time n 计时初值并发动time n 溢出中止( 2 ms) , 封闭CCFn 中止,CCFn = 0.
中止函数time1 _inter ( ) ~ time4 _inter ( ) : 当time n 中止产生则敞开CCFn 中止,封闭time n 中止, TFn = 0.
5 结语
本文对单个接纳头在一次采样时间(30 ms) 内丈量多个方针进行了测验,仿真并剖析了接纳信号波形,用0. 5 倍包络峰值标定而用小阈值丈量,在2个方针与接纳头间隔之差大于30 cm 以上时能较准确丈量出2 个方针,差错不超越2 cm.
因为一次能在同一时间测多个间隔,增大了超声波传感器捕获的信息量,移动机器人装配了该传感器能在人员不是密布的动态环境下依据4 面墙面定位。