基于FPGA控制的超声波测距系统设计
2012-11-27陈云超程晓锋
陈云超 ,程晓锋 ,郭 锋
(1.西南科技大学 信息工程学院,四川 绵阳 621010;2.中国工程物理研究院激光聚变研究中心,四川 绵阳621900)
超声波是频率大于20 kHz的机械波,在不同介质中以不同的速度传播,具有定向性好、能量集中、衰减较小、反射能力较强等优点。因而超声波传感器可广泛应用于非接触式检测方法,对恶劣的工作环境具有一定的适应能力,在液位测量、汽车倒车雷达、清洗技术等领域有着广泛的应用,已越来越引起人们的重视。本文着重介绍脉冲回波法的超声波测距原理[1-2]及系统构成。
1 超声波测距原理
目前,超声波测距一般利用压电方式产生超声波,去激励超声探头向外发射超声波,同时接收从被测物体反射回来的超声波(简称回波),通过计数器计算从发射超声波至接收回波所经历的传输时间t,根据其传播速度v和传播时间t的关系,计算出其传播距离,得到超声波传感器和被测物体之间的距离。超声波测距原理如图1所示。
图中被测距离为S,两探头中心距离的一半用L表示,由图中关系可得:S=vtcos[arctan(L/S)],当被测距离 S 远远大于 L 时,cos[arctan(L/S)]≈1,即 S=vt。
图1 超声波测距的基本原理图
2 系统组成
本系统采用Altera公司的Cyclone系列的FPGA芯片EP1C60240C8,FPGA通过内部锁相环(PLL)精确控制时钟产生超声波驱动信号,同时定时器开始计数,驱动信号经超声波发射电路放大后驱动超声波换能器发射出测距声波,测距声波经障碍物反射后的回波信号由超声波接收电路放大、滤波后,由FPGA检测回波信号,进行数据处理后显示输出。系统FPGA控制模块框图如图2所示。
图2 系统控制模块框图
3 系统设计
3.1 超声波发射电路
FPGA输出的电流比较小,不能够驱动超声波换能器,必须采用功放电路,因此将两只9013三极管接成复合管,放大输出电流,驱动超声波换能器向外发射超声波。超声波发射电路如图3所示。
图3 超声波发射电路
3.2 超声波接收电路
由于超声波接收探头接收的信号很微弱,通常只有几百毫伏,对于FPGA对回波信号的处理方式,需要将回波信号放大到3.3 V左右,并且是方波信号,因此必须对回波信号进行放大、滤波处理。
本设计采用器件AD620[3]作为放大元件,AD620是一款低成本、高精度仪表放大器,仅需要一个外部电阻来设置增益,增益范围为1~1 000,尺寸小于分立电路设计,功耗很低(最大工作电流仅为1.3 mA),具有高精度(最大非线性度 40 ppm)、低失调电压(最大 50 μV)和低失调漂移(最大0.6 μV/℃)等特性,是传感器接口的理想之选。
接收电路采用两级放大,前级为固定放大100倍,设定AD620器件1脚和8脚之间的电阻Rg=0.5 kΩ,后级为可变放大,根据测距远近、信号的强度,确定二级放大的倍数,便于调试。
中间采用带通滤波,中心频率为40 kHz,考虑到超声波换能器的性能指标引起中心频率的偏差,设计带宽BW=2 kHz,可以有效去除噪声干扰。
放大、滤波后的交流信号输入到电压比较器LM311,将交流信号整形输出一个方波信号,送给FPGA处理。超声波接收电路如图4所示。
3.3 测温电路
超声波的声速随温度、压力、介质密度、风向等外界条件的变化而变化,而其中温度最为密切,声速与温度的关系式可用公式表示如下:
由此关系可以得出声速和温度的关系,如表1所示。
表1 声速和温度的关系表
系统软件校正[4]时,可采用公式进行修正,修正后的结果如表2所示。
表2 修正的声速和温度关系表
由表2结果可知,修正后的声速值的最大误差不超过1%,完全可以运用于工程领域。
测温电路采用的元器件是美国Dallas半导体公司生产的单总线数字温度传感器DS18B20,温度测量范围从-55℃~125℃, 在-10℃~85℃检测误差不超过0.5℃。其具有精度高、智能化、体积小、线路简单等特点。采用外部供电方式单点测温电路,如图5所示。
图4 超声波接收电路
图5 测温电路
3.4 电源电路
供电部分采用两片单片集成LM2576-5V稳压芯片,其具有优异的线性度和负载调整能力,POWER端的输入电压约为12 V~24 V,实验测试时采用电源适配器获得12 V~24 V的电压,可以得到稳定的、电路所需的正负5 V电压,实现双电源供电。电源电路如图6所示。
图6 电源电路
3.5 系统软件设计
软件控制部分设计总体思想:系统内部产生40 kHz的方波信号给外围超声波发射电路,在发出第一个脉冲的同时给计时标志位一个触发电平,开始计时。在接收端接收到反射回来的有效信号后,停止计数,由S=vt就可以计算出所测距离。由于超声波的绕射作用,超声波发射电路发射出来的超声波会直接干扰接收电路,造成数据误差,采用延时接收[5]的办法来解决这一问题。由于实际测量中,数据受温度的影响及系统误差,因而需要通过软件修正误差。系统软件部分有以下功能:声速校正、平滑处理等。软件流程图如图7所示。
图7 软件流程图
借助FPGA设计了一款精度较高超声波测距系统,实验表明,此种方式搭建的超声波测距电路结构简单、稳定可靠,可有效地抑制噪声干扰,实现了目标距离在可调节范围内的非接触式测量。
[1]李茂山.超声波测距原理及实践技术[M].北京:机械工业出版社,1994.
[2]丁鹭飞,耿富录.雷达原理(第三版)[M].西安:西安电子科技大学出版社,2002.
[3]KITCHIN C,COUNTS L.仪表放大器应用工程师指南[M].冯新强,刘福强,蒋晓颖,等译.美国模拟器件公司,2005.
[4]王红云,姚志敏,王竹林,等.超声波测距系统设计[J].仪表技术,2010(10):47-49.
[5]张波,王朋亮.基于STC89C51单片机超声波测距系统的设计[J].机床与液压,2010(9):56-58.