Phoebe 发表于 2013-11-15 14:03:14

SHARP 红外传感器测距原理

本帖最后由 Phoebe 于 2013-11-15 14:05 编辑

用了这么久SHARP的红外测距传感器,一直没关心过它的测距原理,惭愧。。{:3_49:}。今天终于了解了一下它是如何工作的,这里跟大家分享一下。看完以后瞬间豁然开朗,原来是这样。。。。{:3_41:}
工作原理
Sharp的红外传感器都是基于一个原理,三角测量原理。红外发射器按照一定的角度发射红外光束,当遇到物体以后,光束 会反射回来,如图1所示。反射回来的红外光线被CCD检测器检测到以后,会获得一个偏移值L,利用三角关系,在知道了发射角度a,偏移距L,中心矩X,以 及滤镜的焦距f以后,传感器到物体的距离D就可以通过几何关系计算出来了。




可以看到,当D的距离足够近的时候,L值会相当大,超过CCD的探测范围,这时,虽然物体很近,但是传感器反而看不到了。当物体距离D很大时,L值就会很小。这时CCD检测器能否分辨得出这个很小的L值成为关键,也就是说CCD的分辨率决定能不能获得足够精确的L值。要 检测越是远的物体,CCD的分辨率要求就越高。
非线性输出Sharp GS2XX系列的传感器的输出是非线性的。没个型号的输出曲线都不同。所以,在实际使用前,最好能对所使用的传感器进行一下校正。对每个型号的传感器创建一张曲线图,以便在实际使用中获得真实有效的测量数据。下图是典型的Sharp GP2D12的输出曲线图。

从上图中,可以看到,当被探测物体的距离小于10cm的时候,输出电压急剧下降,也就是说从电压读数来看,物体的距离应该是越来越远了。但是实际上并不是这样的,想象一下,你的机器人本来正在慢慢的靠近障碍物,突然发现障碍物消失了,一般来说,你的控制程序会让你的机器人 以全速移动,结果就是,"砰"的一声。当然了,解决这个方法也不是没有,这里有个小技巧。只需要改变一下传感器的安装位置,使它到机器人的外围的距离大于最小探测距离就可以了。如图所示:


可以避免探测误差的安装图示
型号对比:目前Sharp的红外线传感器有如下几种类型:GP2D02 (串口输出)探测范围 10cm-80cmGP2D05 (数字输出)探测范围 固定的24cmGP2D12 (模拟输出)探测范围 10cm-80cmGP2D15 (数字输出)探测范围 24cmGP2D120 (模拟输出)探测范围 4cm-30cmGP2YOAO2YK (模拟输出)探测范围 20cm-150cmGP2Y0D02YK (数字输出)探测范围 80cm所有的模拟输出,其输出电压和距离成反比,数字输出只能检测在范围内物体是存在还是不存在,而不能提供距离的检测。
希望对大家有帮助啊{:2_31:}





Jane 发表于 2013-11-15 14:36:37

很有帮助噢~ :lol

Holiday 发表于 2013-11-15 14:47:45

还是很有用的,么么哒{:3_48:}

合乎 发表于 2013-11-15 17:02:01

楼上卖萌

何处不江南 发表于 2013-11-15 17:33:31

盲区问题可以通过程序解决吗?

Phoebe 发表于 2013-11-15 18:38:04

有待研究。。。。

Embedream 发表于 2014-2-20 10:20:14

形象生动,不错!
如果再能补充一些技术细节就好了,比如说:测量数据刷新率,数据偏差等。
很早在老外的网站(www.acroname.com) 上看到一篇类似题材的文章,下载保存了,在此与大家分享(见附件)
亏得保存了,现在找不到原文的链接了。

Phoebe 发表于 2014-2-21 10:36:46

Embedream 发表于 2014-2-20 10:20
形象生动,不错!
如果再能补充一些技术细节就好了,比如说:测量数据刷新率,数据偏差等。
很早在老外的网 ...

好东西{:3_48:}

qq小黑1 发表于 2015-8-14 15:43:44

太帅了,帮大忙了!!:loveliness:
页: [1]
查看完整版本: SHARP 红外传感器测距原理