Hanker

超声波测距传感器升级了!——第三代超声波测距传感器介绍

0
阅读(3074)

[提要] 能瞄准的超声波测距传感器问世后,满足了一部分同学的需要,但也导致一些想使用标准测距传感器的客户无法使用,为此,在第二代的基础上,改进设计出了第三代超声波测距传感器,其核心在于将发射、接收、控制独立构成模块,不只是满足了原来一代、二代客户的需求,还派生出一些新的应用。

       第二代超声波测距传感器(详见“蝙蝠的启示”一文)问世一年来,收到大量的客户反馈,在肯定其性能之余,也有些许遗憾,主要意见是“其结构限制了其用途”,客户有许多需求与“瞄准”无关,给使用带来了困扰。

       为此,在第二代基础上,结合客户所提出的建议,设计了第三代超声波测距传感器。

       第三代设计的主要改进是:

       将超声波发射、超声波接收、单片机控制三个部分分离,分别构成独立模块,如下图:


   
       发射、接收模块所选用的控制信号插座均为标准的2.54mm间距,可以方便的连接到万能试验PCB板上,为同学们自己尝试提供了方便。
 

        这样,客户可以根据需要组合成:

        1)标准的测距传感器,一发一收模式,相当于第一代,如下图所示:

 

        2)能瞄准的测距传感器,一发二收模式(相当于第二代),如下图所示:

 

       上图所示安装关系只是一个示意,使用时不一定受此限制。因为模块之间的连接设计为软线,这样用户可以根据安装需要布置接收和发射模块,以达到最佳的测距效果:

 

        所提供的软线长度为15cm,一般小车上应用绰绰有余,如不够可以自己酌情加长。

这是一个朋友基于“一发二收”模式所做的应用(用“轮式驱动单元”做的三轮小车):

A)保持距离(和我以前所做的 GP2D12 应用一样)

 

B)跟踪:(注意:没有靠传感器来回扫描,直接利用“双耳效应”判断)

 

C)避障(注意:没有靠传感器来回扫描,直接利用“双耳效应”判断)

 

       3)多个同步测距传感器,即用一个控制器实现多个标准的测距传感器。

       首先,请仔细看前面的控制模块图,设计上,控制模块可以同时处理4个接收模块的信号,即可以同时接 4 个接收模块。

       再仔细看发射模块图,发射模块设计了级联插座位置,可以通过级联方式,接多个发射模块,如下图所示:

 

       这样,用户可以用4个发射和 4个接收构建4组超声波测距,布置在小车四周,实现同步测距,等于装了4个超声波测距传感器。

       用4个独立的测距传感器如果不同步发射,将产生相互干扰;为了可靠,必须轮流工作,会大大降低采样速率。

       4)三维瞄准

       第二代测距传感器因为只有 2路接收,所以只能判断二维的目标位置。

       此次设计的控制器可以最多接4个接收模块,因此,可以用一个发射和3个或4个接收组合,构成三维瞄准,实现对空间目标定位。

       这应该是不错的编程素材,通过控制 2个舵机还可以实现对一个空中目标的跟踪。

       除了组合方式灵活外,将控制器分离,用户就有了使用其它MCU控制的可能。

       因为本超声波测距传感器设计目的是为了学习单片机的同学提供素材,所以不应限制MCU的使用。我设计的控制器可以作为同学们的参考,而同学们可以选用自己熟悉的、想要学习的MCU来控制接收和发射模块,实现测距功能。

       很多同学偏爱AVR、PIC等MCU,或者有些同学想尝试ARM,这些在此次的改进设计上都很容易实现。

       如果自己选择MCU构成控制部分,所需要的资源如下:

       控制发射模块,只需要占用MCU的一个定时器和2个输出口,注意:一个最好是推挽输出(即高、低电平均有驱动能力,而不是标准51口那种只有低电平驱动能力的);另一个输出最好是开漏模式。对于新型的MCU,这些均不成问题,通常其I/O口都有4种模式。

       控制接收模块,需要占用MCU的一个定时器和6个I/O口,其中4个输出用于控制TL852的增益;一个输入用于接收超声波信号,必须支持负跳中断;还有一个输出用于控制TL852的信号检测电容,以实现无效信号的屏蔽和多重距离检测,此口最好是开漏输出模式。

       如果要接多个接收模块,4个增益控制用输出端可以并联,但另外2个输入、输出端必须独立,也就是说,如果接4个接收模块,共需要12个I/O口,其中4个支持输入负跳中断。

       为了便于计时,最好选择带PCA(可编程计数器阵列)的MCU,计时比较准确,控制也比经典的定时器灵活。现在新的MCU上多配备有PCA,ARM系列更是如此。

        关于电路和软件,基本没有变化,只是围绕多路接收做了一些调整,基本原理未变,所以在此不再赘述。


        为了调试、测试方便,PC上的测试程序也作了相应的修改,支持4路信号采集,如下图所示:

 

      拓展内容:

      1)控制器硬件上设计了18B20温度测量部分,因为声波速度受温度影响,应该根据温度修正。

      2)控制器硬件上设计了RFM12B无线模块,可以实现无线通讯,目的有二:

       其一:作为传感器数据远程采集的通道。因为一般安装传感器的位置均为人不易到达的地方,至少人待着比较别扭,直接在传感器上显示数据似乎有些不妥。通过无线通讯将传感器的数据传至PC上,人可以方便观察,也便于存贮。

       其二:作为收、发分离的同步通道。有一些应用需要将收、发分离,当距离较远,或者有一方需要移动时,电缆连接就不太方便了,此时需要通过无线通讯实现同步,才能达到测量的目的。


       希望这些改进设计能帮助同学们更好的学习单片机应用。
                                                        ————————————

南京嵌入之梦工作室
2010年2月8日星期一

本文PDF格式下载

附:模块外形尺寸


 
 (20100208)