基于超声波的车辆空间定位系统设计
2014-11-28刘熙民王鹏陈恢妹张凯
刘熙民,王鹏,陈恢妹,张凯
(湖北汽车工业学院 电 气与信息工程学院,湖北十堰442002)
TOA(Time of Arrive)型定位、AP(Access Point)讯号定位以及GPS(Global Position System)定位是三大主流定位技术。但系统易受环境影响,定位不稳定且有较大误差。因此研究利用超声波进行局部精确定位很有必要。香港的F Tong[1]等把超声波精确定位系统应用在自制导航车上,进行导航研究。陈永光[2]等研究了无源时差定位原理与定位精度的关系,还有熊春山[3]等利用波峰计数与零交叉点检测的方法来提高超声测距的精度以实现精确定位等。
本系统主要利用超声波测距实现局部空间精确定位、定位信息的显示等。相比传统的利用超声波单向测距或障碍物判断,本系统采用一发多收模式将超声波由“点线运用”向“平面化运用”扩展,增加其应用范围。多点接收定位可避免因障碍物阻挡导致某一路信号丢失而引起的定位结果错误,保证了系统运行的稳定性。多点测量数据可经相应算法后对定位置进行误差校正,提高了最终定位信息的可靠性。本系统可通过增加接收点扩大定位范围,突破传统寻迹小车的路线限制,将小车活动范围扩展至全空间,提高了小车的利用效率,可运用于许多实际生活中。
1 系统的总体框架
1.1 系统方案设计
构建高1.2 m、长宽1 m的模拟室内测量环境利用超声波进行定位。多点测量定位需要保证接收点不少于4个,由于本模拟环境相比实际运用环境较小,故采用4个接收点进行定位即“一发四收”定位模式。在实际运用中可增加接收点,实现在室内空间通过超声波进行搬运小车定位等。
系统由5个部分组成(图1),分别是主控部分、控制显示部分、供电部分、超声波发射部分以及超声波接收部分。由控制显示中断控制系统运行及设置系统工作模式。主控在接收到开始工作命令后,向发射模块发送超声波脉冲信号,同时开始计时,等待接收模块的接收信号。接收模块接收到超声波信号后经处理后向主控发送中断信号。执行中断,停止计时将时间差保存并进行处理。最后主控将定位信息发送至控制显示终端并显示相应信息。
图1 系统总体方案设计
为保证系统定位精度及定位的实时性,在接收超声波信号时设计进行滤波处理以抑制回波及其它杂波干扰,以保证接收信号的准确性。同时进行多点数据采集,避免在障碍物阻挡后某一组信号丢失而影响定位效果。在一次定位过程中进行多次测量对数据进行软件滤波处理,以保证定位效果的稳定性。
1.2 空间定位原理
空间定位设计利用超声波测距所测数据经几何算法求得被测物在空间中所处位置。在空间位置测量中,在同一个平面内放置4个超声波接收传感器 M0、M1、M2、M3和一个超声波发射探头 T。发射探头发射超声波的同时,计时器1 开始计时,当接收到超声波信号时记下各自接收到信号的时间与初值的差值分别为T0、T1、T2、T3,根据相应的坐标计算出发射点T的坐标。定位原理如图2所示。
图2 空间定位原理图
超声波发射到超声波接收的过程中超声波的传播路径相当于一个等腰三角形。超声波传播的速度为C,4个接收探头从开始发射超声波到接收到超声波的时间间隔分别为T0、T1、T2、T3。由图2可得方程组:
由于只有2个未知数,式(1)~(4)联合求解可得:
求得被测物体在坐标系中的X坐标值与Y坐标值,即被测物体位置信息。
2 系统的硬件设计
2.1 发射模块设计
超声波发射模块主要实现超声波脉冲信号的发送功能。在主控芯片产生40 kHz 超声波信号后,经超声波发射模块驱动电路处理后由发射探头向外发送超声波。如图3所示,Send ctrl输入为28027产生的40 kHz 超声波脉冲信号,Cut off 连接27027 I/O 口用于余波抑制。
发射模块中变压器的次级电感与发射探头(发射探头为容性,一般为2400 p 左右)构成谐振回路,提高了发射效率,但副作用是发射后的余波时间较长,导致近距离的回波被淹没。所以在8个脉冲发射完成后进行余波抑制处理。本系统设计的余波抑制是由R1、R2、P1 构成,发射完脉冲后,Cut off给低电平将P1 导通,强制短路变压器初级,使其快速消耗掉谐振能量,达到抑制余波的目的,电阻R1 越小效果越明显。但如果Cut off 信号控制失灵则易烧毁P1、N1,故设计跳线器便于系统调试。
图3 超声波发射模块原理图
变压器采用倒车雷达专用中周,升压比为10倍,实际输出电压约为50 V 峰值。
2.2 接收模块设计
超声波接收模块主要实现超声波信号的接收处理。在超声波接收探头接收到超声波信号后,利用TL852 声呐测距接收器所构建的超声波信号放大及检出电路对信号进行处理并向主控发送接收中断信号。
为解决空间中其它频率的超声波信号的干扰设计带通滤波器。本系统采用TL852 声纳测距接收器,TL852 拥有数字控制的可变增益,可变带宽放大器,可对被衰减的信号进行放大处理,同时TL852内置有相应的带通滤波器,对接收到的超声波信号进行滤波处理。TL852由TL851 进行控制,相互配合完成声纳信号处理。本系统中未采用TL851,直接利用处理器对TL852 进行直接控制实现TL851的功能,TL852 内部功能模块如图4所示。
图4 TL852 内部功能模块图解
超声波接收模块采用TL852 构成超声波信号检测电路,进行信号的放大及检出。GCA、GCB、GCC、GCD由28027 I/O 口控制,以计时器 1(定时器 0 用于产生40kHz方波,计时器1 用于计时)开始计时为起点,在未完成测量前随着时间的增大而增大其增益倍数(增益倍数参考TL851中不同时间段的增益选择,如图5所示),以弥补超声波在传播过程中能量的损耗。超声波接收模块设计如图6所示。
图5 TL852 增益控制
图6 接收回路和信号放大、检出电路
超声波在传播过程中遇到障碍物便会反射产生回波干扰,本系统中利用发射超声波在上挡板反射后被接收探头接收,接收探头接收第一波超声波信号为有效信号。超声波在第1次接收后仍会在2个挡板之间来回反射,以及发射脉冲的余波影响,TL852 SOUT处产生的信号为一串三角波,需要将第1个有效三角波后面的波进行抑制。利用三极管(9012)仿OC门电路(图6),SO处与I/O 口相连。在接收到第1个三角波前SO给高电平,电路处于高阻态。当接收到第1个三角波后,经处理产生中断信号,将SO处电平拉低,将SOUT处信号与地导通,抑制后续信号。
图7所示电路实现TL851的功能,将TL852的输出转换为单片机需要的中断信号,U3A 构成了一级同相跟随器,是为了隔离后级对C7 积分电路的影响。U3B 构成一个比较器,最终TL852输出信号SOUT(三角波)转化为下降沿脉冲信号。
图7 TL852输出信号处理电路
2.3 中断源检测
本系统采用“一发四收”定位模式,每一次测量都会有四路中断信号,但由于TMS320F27027 外部中断有限,构建与门电路,对每次接收到的中断信号进行判断,以确定该中断信号是哪个接收模块所发出的,进而完成对应测量时间赋值。如图8所示,接收模块的下降沿信号(Singal)在进过逻辑门电路处理前先通过I/O 进行检测判断来源,经处理后将中断信号(INT0)发送至处理器。
图8 中断信号源判断
2.4 温度测量模块
声波在空气中的传播速度受温度影响,为保证系统测量精度,在每次测量前对当前环境温度进行测量并校正超声波传播速度值。在空气中,常温下超声波的传播速度是340 m·s-1,但其传播速度c易受空气中温度的影响,声速与温度关系:
c=0.6T+331(m·s-1)
通过实时对声速的校正就能得到较为精确的距离,减小测量误差。
2.5 电源
串口屏供电需求5 V-800 mA,对电流要求较大,本系统采用50W三路开关(5V3A-12V1A-24V1A)提供稳定5V-3A 电源。在转接板部分,采用TI AMS1117-3.3V 三端稳压电源将开关电源的5 V 电压转换为3.3 V为28027 开发板供电。
2.6 控制显示终端
本系统的屏幕显示部分使用的是迪文串口屏(DMT80480C070_02W):7.0 寸,800×480 图形点阵K600+内核 65K 色 DGUS 屏。串口模式为8n1,即每个数据传送10个位:1个起始位,8个数据位(地位在前传送,LSB),1个停止位。DSP 通过串口 SCI与串口屏进行通信。其中串口屏向DSP 发送数据是通过触控配置设置相应的指令。串口屏主要实现系统功能控制以及定位信息的显示。
3 系统的软件设计
3.1 系统流程图设计
本系统由串口屏通过UART 串行通信接口控制TMS320F28027 实现各项功能。启动测量时,系统首先对当前环境温度进行测量然后等待控制信号,由串口屏向DSP 发出一个开始测量信号,系统开始执行测量。系统提供单次测量和连续测量两种测量模式,为保证系统运行的稳定性及定位精度,在每一次定位中进行多次测量,对多组数据进行软件滤波,以保证系统定位精度。系统默认为单次测量,用户可在开始测量前进行模式选择。软件流程图设计如图9所示。
图9 程序设计流程图
3.2 各程序模块详细设计
3.2.1 超声波脉冲产生
超声波的产生采用定时器方式产生超声波脉冲信号利用定时器0及定时器中断产生方波,在每次中断中对输出电平进行翻转。本设计可通过限制中断次数而控制产生脉冲个数,在每次中断中可对CPU 定时器周期寄存器(PRDH:PRD)进行重新赋值,使得方波占空比可调。发射程序如图10所示。
在发射脉冲产生结束后,系统因谐振电路产生余波干扰,在硬件抑制余波同时利用中断实现延时效果,延时约26 μs 后,将 Cut off 电平拉低,实现硬件设计中强制短路变压器初级,使发射回路快速消耗掉谐振能量,抑制余波。
图10 超声波发射程序流程图
3.2.2 超声波信号接收
由于接收模块有4 路,在每次测量中,处理器会收到多个处理后的中断信号,但由于外部中断有限,使用前文硬件设计的与门电路,将四路Signal(中断信号)接入电路,同时将其与4个对应的I/O口相连,与得的信号接入中断。
每次进入中断后,首先检测4个I/O 口的值,判断中断信号的来源,进而将所得到的时间差值赋值到对应的数组位。同时为了减小回波产生的影响,系统只允许接收4次中断,4次中断后关闭全局中断,避免接收到回波。接收程序如图11所示。
图11 超声波信号接收程序流程图
3.2.3 温度测量
温度测量采用DS18B20 单总线温度传感器。DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯,其测量结果以9~12位数字量方式串行传送。测量的温度精度达到0.1°,测量的温度的范围在-20°~100°之间。部分源代码实例:3.2.4 定位算法
定位算法基于空间定位原理设计(图2)利用TI的IQmath 库函数完成对式(1)~(4)所构成的方程组求解。IQmath 库收集了高度优化和准确的数学函数库并精确地在TMS320C28X 芯片上将浮点型转换成固定点算法的运算代码,使用这些函数能拥有比用同等标准的ANSI C 语言编写的代码更快的运行速度,明显缩短DSP应用开发的时间。
利用IQmath 计算部分示例:
4 系统测试
设计验证无误后进行系统制作,图12为系统统调试示意图。系统采用“一发四收”定位模式,四角为超声波接收模块,中间为超声波发射模块,图12右下角为控制显示部分及系统供电部分。
图12 超声波局部空间定位系统
发射模块在接收到发射指令后,发出40 kHz超声波脉冲信号(8个脉冲信号)。在开始发射同时关闭余波抑制控制,在发射完成后延时26 μs,打开余波抑制控制。超声波脉冲信号及余波抑制控制信号波形如图13所示。
图13 超声波脉冲及余波抑制控制信号
在发射结束后接收模块开始等待接收超声波信号,同时打开 TL852 增益控制(图14中为4 路增益控制信号中的GCA 控制信号)。
系统控制显示部分为触摸屏控制,在默认情况下系统为单次测量模式。显示部分显示环境温度、当前测量模式、定位坐标值、定位信息二维图显示及系统控制部分。图15为某次测量后结果显示。
图14 超声波脉冲及增益控制信号
图15 控制显示界面
5 结束语
本系统采用超声波测距与空间定位算法实现局部空间精确定位,不再局限于利用超声波测距、避障等应用。经实际验证,利用超声波定位精度可达1 cm,定位分辨率达1 cm。定位效果远优于其它定位系统。同时本系统硬件结构简单,算法易于实现,实际生产成本较低,具有很强的推广价值。
小车实际测试中通过超声波定位精确判断出小车当前所处位置,并通过不断地定位对运行轨迹进行校正,最终准确到达指定位置。同时采用智能串口显示终端实现定位信息的显示以及定位系统与小车的功能控制。
[1]Tong F,Tso S K,Xu T Z.A high precision ultrasonic docking system used for automatic guided vehicle[J].Sensors and Actuators A,2005,118:183-189.
[2]陈永光,李昌锦,李修和.三站时差定位的精度分析与推算模型[J].电子学报,2004,32(9):1452-1455.
[3]熊春山,彭刚,黄心汉,等.基于超声测距的三维精确定位系统与设计[J].自动化仪表,2001,22(3):7-10.
[4]刘学飞,胡泽,范维志,郑雪娜,等.一种高精度超声波测距系统研究[D].成都:西南石油大学,2013.
[5]郑静,张劼,华泽钊,华银林,等.基于室内超声波定位系统构建与测试[D].上海:上海理工大学,2007.
[6]李飞,陈喜春.超声波测距模块的设计与实现[D].石家庄:石家庄机械化步兵学院,2011.