微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于单接收头的超声波多目标测距机实现方案

基于单接收头的超声波多目标测距机实现方案

时间:11-18 来源:互联网 点击:

即使接收信号过强或过弱,测距误差始终在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 面墙壁定位。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top