超越LED闪烁!更多了解电子制作“N讲”【第1篇】

ToF距离传感器的原理

 

本系列连载旨在从基础开始扎扎实实地学习正确的知识,以便能够长期享受电子制作。为我们分享的嘉宾是日本金泽大学电子信息通信学教授秋田纯一先生,他的讲解非常通俗易懂。在值得纪念的第1波连载中,将为大家介绍传感器的原理。
本文是第1篇,我们从众多传感器中选取了ToF距离传感器,快来了解吧。

learning-electronics-01-09

 

目录

  1. 各种测距方法
  2. ToF传感器及其使用方法
  3. ToF距离传感器的原理
  4. 相机和ToF距离传感器
  5. 总结

 

1. 各种测距方法

大家好!我是金泽大学的秋田纯一,很高兴和大家一起学习!

我们直接进入主题,在您用微控制器制作作品时,是不是经常遇到希望测量距离的情况?

例如,能避开障碍物继续前进的机器人,或者当将手靠近时会滴下酒精消毒液。在这些情况下,就需要用到所谓的“距离传感器”了。

距离传感器可以测量到对象物之间的距离,这种传感器有多种类型。比如您在Switch Science网站上搜索“距离传感器”,就会出来近100种产品。

learning-electronics-01-01

Switch Science的产品页面

 

常用的测距原理大致有以下两种:

  1. 对波到对象物的往返时间进行测量
  2. 用三角测量法进行测量

learning-electronics-01-02

往返时间测量法的原理

 

超声波作为往返时间测量的一种方法,直到近年来才普及起来。超声波是频率高于可听声范围的声波(通常为40kHz左右),其速度V就是所谓的“声速”(约340m/s)。假设从传感器到对象物之间的距离为L,则往返时间T为T=2L/V,所以通过测量T即可求出L。

例如,设L=3m,则T=2・3/340 = 18ms左右。对人类的感官来说,18ms(约1/60秒)只是是一瞬间,但使用微控制器的计时器,就可以很轻松地测量出来。例如,对于1MHz的时钟而言,18ms是18000个周期。

learning-electronics-01-03

三角测量法的原理

 

另一种方法——三角测量法是利用了传感器与对象物之间的位置关系的方法。如图所示,从受光部可以看到对象物的方向会根据到对象物之间的距离而变化,所以只要测量这个方向就可以了。

learning-electronics-01-04

PSD传感器示例:摘自GP2Y0A21YK的技术规格书

 

这种方法常用的距离传感器有“PSD传感器”。“PSD”是“Position Sensitive Detector”的首字母缩写,这种传感器会根据距离输出电压(用过的人可能知道,其电压和距离基本成反比,不过需要稍微校准一下,可能很多人都被困扰过)。

PSD是一种电压随入射光的位置发生变化的器件,可以根据三角测量法的原理测量到对象物之间的距离。另外,还有一种利用立体视觉原理,用两个相机来获取距离的立体相机方法,不过这种方法操作起来并没那么容易。

 

2. 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传感器示例草图例

 

3. 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个时钟周期多一点。对于微控制器而言,即使不是“停下来才能看得见”的程度,貌似也不能称之为“一瞬间”。

不管怎样,要想根据光的往返时间来测量距离,就需要精准地测量其往返时间,而用微控制器的计时器来测量似乎是不太可能的。

learning-electronics-01-06

VL53L0X的内部框图
来源:VL53L0X的技术规格书 P.6

 

无论电子电路技术多么进步,都很难以很高的精度和分辨率测量出光的往返时间,不过最近有两项重大的技术突破使其成为可能(或者更确切地说,是推出了更易用的产品)。

其中一个是称为“SPAD(Single Photon Avalanche Diode=单光子雪崩二极管)”的器件,这个器件在框图中也出现了。它是二极管的一种,但其结构比较特殊。在二极管的PN结附近,有一种称为“耗尽层”的状态,当光进入那里时,就会产生电子-空穴对,并变成电流,可以用来测量光的强度等,或用作相机的像素电路。

这种SPAD会对二极管施加非常高的反向偏压(从阴极侧观察,是在阳极侧施加负电压)。因此,即使只进入1个光子(photon,光的最小单位),形成1个电子-空穴对,该电子-空穴对也会由于该反向偏压而被加速,进而滚雪球式地接连不断地生成下一个电子-空穴对,从而产生“雪崩击穿”现象。根据这个原理,实现了可以检测单个光子的超高灵敏度的光传感器。

learning-electronics-01-07

雪崩击穿

 

另一个则是高精度地检测光的到达时间等极短时间的电路的实际应用。这种实际应用大致有两种方式,一种是基于时钟信号检测的时间测量电路,被称为“TDC(时间数字转换器)”。就像“摩尔定律”所预测的那样,这种应用技术迅速演进,加上各种电路结构的改进,实现了对光到达时间的测量。

另一种则是称为“电荷调制器件”的器件(电路),它可以将光的到达时间等极短的时间当作电荷量(即模拟电压)来进行测量。因此,比起通过计时器数算时钟信号来测量的数字型测量方式,该方式能够以更高的分辨率来测量时间。如果用前文介绍的超高灵敏度光学传感器SPAD来控制该电荷调制器件的电荷的话,则可以实现更高的精度。

电荷调制器件的原理

 

另外,通过这种ToF传感器照射对象物的光是红外线激光,这种结构的激光器被称为VCSEL(Vertical Cavity Surface Emitting LASER,垂直腔表面发射激光器),它是一种小型的激光发射器件,能很便宜地实现量产,这也是这种传感器能够在最近几年迅速在我们身边得到普及的原因之一。

顺便提一下,这中ToF传感器体积小,可以高精度地测量距离,但由于其原理方面的原因,而无法测量光线可以穿透的透明对象物。当您想测量到这种对象物之间的距离时,需要使用超声波类传感器。

 

4. 相机和ToF距离传感器

最近,市场上出现了一种名为“ToF相机”的产品,这种相机的每个像素都具有基于ToF原理的电路。也就是说,相机的每个像素都可以测量到对象物之间的距离,也被称为“深度相机”。例如最近微软的Kinect v2就使用了ToF相机技术。
 

5. 总结

本系列连载将为大家介绍传感器的工作原理。在第1篇中,介绍了ToF距离传感器,怎么样?对这种传感器了解了吗?从下一篇开始,我将为大家介绍加速度传感器和温度传感器,敬请期待。

 

 

本系列连载的内容

第1篇:ToF距离传感器的原理(本文)
第2篇:加速度传感器的原理
第3篇:温度传感器的原理
第4篇:认识光电鼠标芯片
第5篇:认识芯片〜兼容芯片的世界〜
第6篇:了解源代码〜GPIO篇〜
第7篇:了解源代码〜analogWrite篇〜
第8篇:了解源代码〜出了点问题篇〜

秋田纯一
秋田纯一

日本金泽大学电子信息通信学教授。从小在焊料的烟雾中长大,长大后走上了集成电路研究的道路。爱好电子制作,为了使集成电路成为创客们的工具,正在研究制作LED闪烁用LSI视频等。另外,作为创客,还热衷于“徒劳的抵抗”(無駄な抵抗)系列杯垫等的创作。喜欢的焊料是Pb:Sn=37:63,喜欢的工艺是CMOS0.35um。

相关文章

  1. arduino-h02_14

    用Arduino制作的太阳能电池板供电数字养殖箱【后篇】

  2. 用Spresense扩大电子制作的广度!【第5篇】

  3. 用Spresense扩大电子制作的广度!【第4篇】

  4. 用Spresense扩大电子制作的广度!【第3篇】

  5. spresense_2

    用Spresense扩大电子制作的广度!【第2篇】

  6. title_image

    用Spresense扩大电子制作的广度!【第1篇】

  7. learning-electronics-03-00

    超越LED闪烁!更多了解电子制作“N讲”【第3篇】

  8. learning-electronics-02-08

    超越LED闪烁!更多了解电子制作“N讲”【第2篇】

  9. 电机的种类有哪些?电子制作中使用的电机种类介绍

TECH INFO

  • Sugiken老师的电机驱动器课堂
  • 重点必看
  • 技术分享
  • Arduino入门指南

基础知识

  • Si功率元器件
  • IGBT功率元器件
  • 热设计
  • 电路仿真
  • 开关噪声-EMC
  • AC/DC
  • DC/DC
  • 电机
  • 传递函数

工程技巧


Sugiken老师的电机驱动器课堂

PICK UP

PAGE TOP