卢 贶
(武汉软件工程职业学院,湖北武汉 430205)
在日常生产生活中,很多场合如:汽车倒车、机器人避障、工业测井、水库液位测量等需要自动进行非接触测距,DSP技术课程教学平台设计课题中也包含了用途广泛的超声波测距功能。超声波是指频率大于20kHz的在弹性介质中产生的机械震荡波,其具有指向性强、能量消耗缓慢、传播距离相对较远等特点,因此常被用于非接触测距。由于超声波对光线、色彩和电磁场不敏感,因此超声波测距对环境有较好的适应能力,此外超声波测量在实时、精度、价格方面也有很好的折衷[1]。
超声波发生器内部结构有两个压电晶片和一个共振板。当其两极外加脉冲信号,其频率等于压电晶片的固有振荡频时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波信号时,将压迫压电晶片作振动,将机械能转换为电信号,就成为超声波接收器。
超声波测距的方法有多种:如往返时间检测法、相位检测法、声波幅值检测法。本设计采用往返时间检测法测距。其原理是超声波传感器发射一定频率的超声波,借助空气媒质传播,到达测量目标或障碍物后反射回来,经反射后由超声波接收器接收脉冲,其经历的时间即往返时间,往返时间与超声波传播的路程的远近有关。测试传输时间可以得出距离[2]。
超声波测距的算法设计:超声波在空气中传播速度为每秒钟340米(15℃时)。设S2是声波返回的时刻,S1是声波发声的时刻,S2-S1为一个时间差的绝对值,假定S2-S1=0.03秒,则有340米/秒×0.03秒=10.2米。该10.2米距离的时间里,是超声波发出后遇到障碍物返回的距离,超声波传感器与障碍物为该距离的一半,有关系式如式1所示:
式中,L为超声波传感器与障碍物的距离;V为超声波在空气中的传播速度;S1为声波发声的时刻;S2为声波返回的时刻。参见图1的超声波传送示意图。
图1 超声波传送示意图
在精度要求较高的情况下,需要考虑温度对超声波传播速度的影响,按式2对式1中的超声波传播速度V加以修正,以减小误差。
式中,T为实际温度,单位为℃;V为超声波在介质中的传播速度,单位为m/s(米/秒)。
表1 一些温度下的声速
DSP系统采用型号为TMS320F2812微处理器。TMS320C2000系列是美国TI公司推出的数字控制DSP芯片,TMS320F2812为更高性能的改进型芯片,进一步增强了芯片的接口能力和嵌入式功能,从而拓宽了数字信号处理器的应用领域,是目前市场上最先进、功能最强大的32位定点DSP芯片。它既具有数字信号处理能力,又具有强大的事件管理能力和嵌入式控制功能,特别适用于有大批量数据处理的测控场合,如工业自动化控制、电力电子技术应用、智能化仪器仪表及电机、马达伺服控制系统等。该系列DSP处理器具有高速信号处理和数字控制功能所必需的体系结构,其指令执行速度高达40MIPS,且大部分的指令都可以在一个25ns的单周期内执行完毕。另外,它还具有非常强大的片内GPIO端口和其它外围设置,可以简化外围电路设计,降低系统成本。在DSP技术课程教学平台设计中,超声波测距为其中的一个子模块,其设计框图如图2所示[3]。
图2 超声波测距系统设计框图
超声波发射部分是为了让超声波发射换能器向外发出40kHz左右方波脉冲信号。40kHz左右方波脉冲信号来自DSP系统GPIO编程输出,由于GPIO端口输出功率不够,40kHz方波脉冲信号分成两路,输出到由74ALS04组成的推挽式电路进行功率放大,再送给超声波发射换能器以声波形式发射到空气中。发射部分电路如图3所示。图中输出端上拉电阻R8,R9,一方面可以提高反向器74ALS04输出高电平的驱动能力,另一方面可以增加超声换能器的阻尼效果,缩短其自由振荡的时间。
图3 超声波发送电路
超声波在空气中传播遇到障碍物返回后,由超声波接收电路进行处理,将反射波转换变成电信号,并进行放大、滤波、整形等处理,本设计采用索尼公司集成芯片CX20106A,总放大增益为80db,该芯片检测到超声波信号后,会传送一负脉冲给DSP系统中断输入GPIO。CX20106A内部电路及引脚功能如图4所示,接收部分电路如图5所示[4]。
图4 CX20106A内部电路及引脚功能
为了提高系统的测量精度,本文设计了温度补偿电路,如图6、图7所示。系统采用National Semiconductor所生产的温度感测器LM35,其输出电压与摄氏温标呈线性关系,0℃时输出为0V,每升高1℃,输出电压增加10mV。
在常温下,LM35不需要额外的校准处理即可达到±1/4℃的准确率。与控制器连接方便,在单电源工作模式下,测量范围为0~+175℃。根据实际温度的值,利用式2计算补偿声速。
图5 超声波接收电路
图6 LM35测温电路
图7 测温信号放大电路
TMS320F2812处理器向GPIO端口发出控制信号,启动内部定时器进行计时。此控制信号经功率放大后作为超声传感驱动电路启动信号,超声传感器产生的、遇到障碍物时返回的高频振荡信号经放大(为弥补传播过程中信号的衰减)使超声传感驱动电路产生高电平脉冲,此电平变化会引起TMS320F2812外部中断,在中断程序内获取定时器的计数值,同时提取此时的温度数值,根据式1、式2计算距离;否则,认为传感器前方探测范围内无障碍物。温度检测程序在系统上电后执行一次[5]。
超声传感器处理程序软件设计上采用定时器工作,对传感器进行计时。选择定时器的周期比超声传感器探测最大距离所需的时间稍长。在定时器周期开始时,超声波发射换能器开始工作。在定时器周期内,每个回波返回,都会触发一次外部中断(XINT1中断),在外部中断处理程序内,将超声波返回时间进行记录,并将相应的超声传感器关闭。外部中断处理程序非常简短,本设计只用不到20条指令,并且TMS320F2812指令执行速度很快,因而即使因进入外部中断处理程序而延误了对后续回波的处理,但这种延误的时间根据计算不大于0.5μs,由此引入的距离误差根据式一计算小于83.5×10-6m,误差非常小,可忽略不计。当定时器中断时,对于距离大于最大超声探测范围的,没有相应的时间记录,给它们加上超出测距范围的标志。本设计中超声波传感器的最大探测距离为3.5m,因而超声波探测的最长时间为20.58ms。所以每个定时器的周期选为20.6ms。软件设计中涉及到的外部中断处理程序和定时器中断处理程序框图如图8和图9所示[6]。
图8 外部中断处理程序
图9 定时器中断处理程序
为了验证系统的测量精度,在实验室进行了实地测量。利用本系统对0.10~3.50m米范围进行了多次测试,经补偿后最大误差为1cm,线性度、稳定性和重复性都比较好。做为DSP技术课程教学平台设计中的主要部件,本系统具有结构简单、体积小、实时LCD显示、带温度补偿、抗干扰性能好等优点。系统的误差主要来自于发射探头发出的超声波是呈喇叭状扩散传播、被测物的表面不光滑且不一定垂直于两探头的轴线而导致所反射回来的超声波是从不同点获得,此外电子元器件自身的时延、干扰等也造成一定影响。可以根据具体场合,选择合适功率的探头,以及调整程序中脉冲的频率、宽度和个数等提高精度或测量距离,扩大系统的应用范围。
1 刘升平.超声波测距系统的开发与研究[J].计算机工程与应用,2009,45(25)
2 高飞燕.基于单片机的超声波测距系统的设计[J].信息技术,2005,29(7)
3 韩丰田.TMS320F281xDSP原理及应用技术[M].北京:清华大学出版社,2011.
4 吴银风.红外线接收电路CX20106A及其应用[J].无线电,2004,23(4)
5 王忠勇.DSP原理与应用技术[M].北京:电子工业出版社,2009.
6 何莉.基于PIC单片机的超声波测距系统[J].压电与声光,2004,26(2)