热度 5
2023-6-9 15:45
935 次阅读|
0 个评论
常用的测距原理大致有以下两种: 对波到对象物的往返时间进行测量 用三角测量法进行测量 往返时间测量法的原理 超声波作为往返时间测量的一种方法,直到近年来才普及起来。超声波是频率高于可听声范围的声波(通常为40kHz左右),其速度V就是所谓的“声速”(约340m/s)。假设从传感器到对象物之间的距离为L,则往返时间T为T=2L/V,所以通过测量T即可求出L。 例如,设L=3m,则T=2・3/340 = 18ms左右。对人类的感官来说,18ms(约1/60秒)只是是一瞬间,但使用微控制器的计时器,就可以很轻松地测量出来。例如,对于1MHz的时钟而言,18ms是18000个周期。 三角测量法的原理 另一种方法——三角测量法是利用了传感器与对象物之间的位置关系的方法。如图所示,从受光部可以看到对象物的方向会根据到对象物之间的距离而变化,所以只要测量这个方向就可以了。 PSD传感器示例:摘自GP2Y0A21YK的技术规格书 这种方法常用的距离传感器有“PSD传感器”。“PSD”是“Position Sensitive Detector”的首字母缩写,这种传感器会根据距离输出电压(用过的人可能知道,其电压和距离基本成反比,不过需要稍微校准一下,可能很多人都被困扰过)。 PSD是一种电压随入射光的位置发生变化的器件,可以根据三角测量法的原理测量到对象物之间的距离。另外,还有一种利用立体视觉原理,用两个相机来获取距离的立体相机方法,不过这种方法操作起来并没那么容易。 ToF传感器及其使用方法 最近,一些越来越易用的距离传感器中,有一种称为“ToF传感器”的产品。“ToF”是“Time of Flight”的首字母。 比如在Switch Science网站,将这种产品作为一种间距转换模块在出售,可以通过I2C总线将其与微控制器连接使用。 https://www.switch-science.com/catalog/2894/ 还有使用同一种传感器芯片的Grove标准的产品,与Arduino、Raspberry Pi等配合使用起来很方便。 https://www.switch-science.com/catalog/3988/ 此外,还有用于M5Stack的产品。 https://www.switch-science.com/catalog/5219/ 与微控制器配合使用时的使用方法与其他传感器大致相同,例如,与Arduino配合使用时,流程通常是先安装库,然后打开示例草图并运行。 Arduino的ToF传感器示例草图例 ToF距离传感器的原理 下面让我们来了解一下这种ToF传感器的原理吧。ToF是“Time of Flight”的缩写,直译为“飞行时间”。也就是说,它是波等传播所需的时间。前面提到过的超声波距离传感器可以测量超声波从对象物反射回来所需的时间,这也是ToF方式,利用了超声波的“Time of Flight(飞行时间)”。不过,最近被称为“ToF”的距离传感器大多使用光。换句话说,是一种向对象物发射光并测量光被对象物反射回来所需时间的产品类型。 虽然“光的往返时间”写起来容易,但其实测量它是一种非常了不起的技术。光速为3×108m/s(毎秒30万km)。常用的一种比方是“相当于在一秒钟内绕地球赤道七圈半”。小时候以为光速似乎无限快,不过实际上计算它时,还是需要一些时间的。 比如光传播100m所需要的时间是100/(3×108) = 3.3×10-7s,也就是330ns。Arduino UNO微控制器ATmega328P的工作时钟是20MHz,所以其周期是50ns,也就是说光传播100m所需的时间是6个时钟周期多一点。对于微控制器而言,即使不是“停下来才能看得见”的程度,貌似也不能称之为“一瞬间”。 不管怎样,要想根据光的往返时间来测量距离,就需要精准地测量其往返时间,而用微控制器的计时器来测量似乎是不太可能的。 VL53L0X的内部框图 来源: VL53L0X的技术规格书 P.6 无论电子电路技术多么进步,都很难以很高的精度和分辨率测量出光的往返时间,不过最近有两项重大的技术突破使其成为可能(或者更确切地说,是推出了更易用的产品)。 其中一个是称为“SPAD(Single Photon Avalanche Diode=单光子雪崩二极管)”的器件,这个器件在框图中也出现了。它是二极管的一种,但其结构比较特殊。在二极管的PN结附近,有一种称为“耗尽层”的状态,当光进入那里时,就会产生电子-空穴对,并变成电流,可以用来测量光的强度等,或用作相机的像素电路。 这种SPAD会对二极管施加非常高的反向偏压(从阴极侧观察,是在阳极侧施加负电压)。因此,即使只进入1个光子(photon,光的最小单位),形成1个电子-空穴对,该电子-空穴对也会由于该反向偏压而被加速,进而滚雪球式地接连不断地生成下一个电子-空穴对,从而产生“雪崩击穿”现象。根据这个原理,实现了可以检测单个光子的超高灵敏度的光传感器。 雪崩击穿 另一个则是高精度地检测光的到达时间等极短时间的电路的实际应用。这种实际应用大致有两种方式,一种是基于时钟信号检测的时间测量电路,被称为“TDC(时间数字转换器)”。就像“摩尔定律”所预测的那样,这种应用技术迅速演进,加上各种电路结构的改进,实现了对光到达时间的测量。 另一种则是称为“电荷调制器件”的器件(电路),它可以将光的到达时间等极短的时间当作电荷量(即模拟电压)来进行测量。因此,比起通过计时器数算时钟信号来测量的数字型测量方式,该方式能够以更高的分辨率来测量时间。如果用前文介绍的超高灵敏度光学传感器SPAD来控制该电荷调制器件的电荷的话,则可以实现更高的精度。 电荷调制器件的原理 另外,通过这种ToF传感器照射对象物的光是红外线激光,这种结构的激光器被称为VCSEL(Vertical Cavity Surface Emitting LASER,垂直腔表面发射激光器),它是一种小型的激光发射器件,能很便宜地实现量产,这也是这种传感器能够在最近几年迅速在我们身边得到普及的原因之一。 顺便提一下,这中ToF传感器体积小,可以高精度地测量距离,但由于其原理方面的原因,而无法测量光线可以穿透的透明对象物。当您想测量到这种对象物之间的距离时,需要使用超声波类传感器。 相机和ToF距离传感器 最近,市场上出现了一种名为“ToF相机”的产品,这种相机的每个像素都具有基于ToF原理的电路。也就是说,相机的每个像素都可以测量到对象物之间的距离,也被称为“深度相机”。例如最近微软的Kinect v2就使用了ToF相机技术。 来源:techclass.rohm