▌01 是否LED可以作为光敏感器? 我们知道,一个动圈式的电磁扬声器,既可以播放声音,也可以作为麦克风来检测声音。同样,一个直流电机可以将电能转换成动能,也可以将动能转换成电能。那么一个LED是否也可以将光转化成电信号,进而可以当做光电传感器呢? 为什么提出这个问题? 之所以提到这个问题,还是希望能够将 全国大学生智能车竞赛 [1] 的裁判系统中 电磁感应检测车模 [2] 的方案替换成光电检测。1.电磁检测方案 最早用于智能车竞赛车模计时使用的是红外(激光)对射式光电开关,由于这种方法需要在赛道两边安装发射与接收光电管,设计到对准等操作比较麻烦,也容易因为受到车模冲撞导致计时失误。 在后来更换成 电磁感应原理的车模检测方案 [3] ,只需要在检测地点的赛道下铺设线圈,利用车模上安装的永磁铁来产生触发信号。检测线圈比较隐蔽,不容易被冲撞损坏,但存在一定的确定:比如当车模运行比较缓慢,或者车模上安装的永磁铁比较小可能会引起无法计时的情况。同时也会因为周围安装无线充电设备引起误触发。2.光电检测方案 利用半导体光敏管来检测车模压过的方式则在一定程度上克服电磁方案。在2018年10月份,由原北京科技大学智能车队佟超同学给出了 基于光敏三极管的车模检测方案 [4] 。 ▲ 测量光带检测的灵敏度 并且测试了该方案,无论是在室内环境,光线比较弱的情况下,或是在室外阳光下都可以自动识别车模检测的性能。 为了避免测量光带对于赛道表面颜色的影响,在部署的时候,踹死白色胶带将检测板固定在赛道上。虽然隔有白色胶带,但是对于检测性能没有任何影响。 下图显示了检测光电板对于压过的胶带轮能够检测到的脉冲情况。 ▲ 覆盖有白色胶带之后的检测性能 在四川省智能车比赛中也是用了光电检测板 [5] 作为车模检测的方式,提高了竞赛时间测量的稳定性和精度。特别是将光电板表面设置声黑白相间,恰好与赛道终点的斑马线融合在一起,减少了对赛道高度和视觉的影响。 ▲ 将感光带铺设在斑马带中间 3.如何降低成本 前面所使用的光电检测板基本上使用了光敏三极管或者同样性质的半导体器件,将车模轮胎压过时对于光敏器件入射光强影响转换成的电流、电压的变化,进而使用单片机进行检测。 为了使用不同车模车轮宽度,需要将光电管的间距控制在1厘米到3厘米之间。所以在整个45厘米有限检测范围内,单个光电检测板可能需要20 50个光敏管。在今年比赛中,由于加入的三岔路口,AI智能视觉组对于区间停留时间测量等要求,赛道所需要的检测板可能会增加到5 10条。因此降低检测板的成本具有一定意义。 相比于光电管的成本,普通的LED价格要低廉的许多。比如对于0603封装的红色LED,100支价格只有人民币几元钱,远低于普通的光敏三极管的价格,所以提出了 是否可以使用LED来制作光电检测板 。 ▌02 LED用于检测光线 在 Light Sensors [6] 中给出了检测光线传感器综述。下面检测到的相关文章是使用"LED as light sensor " 在 bing上搜索得到的。1.LED产生的光伏电压 在 LEDs As Light Sensors [7] 作者 Zorink 演示了红色LED在不同的光强下两端所产生的电压不同。光越强,LED产生的电压越大。 ▲ 红色LED在不同的光强下两端所产生的电压不同 通过引用的WiKiPedia的内容,LED所响应的光谱的波长等于或者小于LED所发送的光谱波长。比如对于绿色的LED,它对于绿色或者蓝色能够产生对应的电压,对于红色则无法产生响应。 但是, Zorink 也通过实验显示,虽然LED可以产生相应的直流电压,但无法使用普通的万用表的电流档测试LED所能够输出的电流。因此LED将光转换成电能的效率非常低。 在 LED AS a LIGHT SENSOR [8] 中演示了利用LED作为光线传感器的实验,并在Arduino UNO上通过ADC读取LED上的电压来控制另外一个LED的点亮与关灭。 ▲ 利用Ardiuno来检测LED上的光敏电压来控制另外一个LED的状态 相类似的实验也在文章 USING LED AS A LIGHT SENSOR? SEE HOW IS IT POSSIBLE [9] 给出。2.应用LED矩阵制作触摸屏 在 Multi-Touch Sensing through LED Matrix Displays [10] 中作者上载一款基于LED阵列制作的触摸屏。显示了通过测量LED对于光线检测信号来获取手指在触摸屏上的位置以及触碰的力度。 ▲ 使用LED矩阵实现触摸感知 很可惜,这个网页中并没有透露出更多的技术细节。 同样,该博文也提到实际上早在1977年, Forrest M. Mins 就在它的" Engineer"s Notebooks "提到,LED可以被用于光电二极管。 来自于 Altera公司 的一篇白皮书, Using LEDs as Light-Level Sensors and Emitters [11] 给出了利用LED在关断期间来感知环境光强,以此作为反馈来控制发光PWM的占空比进而使得输出光信号的对比度保持一致。 ▲ 利用LED感知环境光线作为反馈来控制LED发光强度 3.使用三极管放大LED反向光敏电流 Activity: LED as light sensor [12] 是来自AD公司 网站WiKi一篇文章,介绍了使用三极管,达林顿管将红色LED的反向光敏电流进行放大之后,获取周围环境光变化的实验。 ▲ 使用红色LED检测光强度的实验电路 ▲ 使用达林顿管来放大LED光敏反向电流 ◎ 实验元器件: NPN三极管:2N3904,或者SSM2212 电阻:100kΩ,2.2kΩ LED:红色,黄色,绿色 红外LED:QED-123 在 LED As Light Sensor [13] 则使用运放来放大LED的反向光敏电流(在1MΩ电阻上)将产生光强信号。 ▲ Circuit Diagram of an LED as light sensor 5.LED 作为光敏二极管的动态特性 Jon Clift 的博文 Experimenting With Using an LED as a Light Sensor [14] 中演示了利用OP177来放大红色LED反向光敏电流的方案。并测量了LED作为光敏二极管的动态响应特性。 下图给出了放大电路图。 ▲ 检测LED反相电流电路图(左) 测量LED反相电流响应(右) 使用另外一个发光二极管发送红光,可以检测LED作为光电9二极管的动态响应特性。 下图显示了LED检测管线动态特性。可以看到该电路信号上升和下降的时间大约为40微妙左右。 ▲ LED作为光敏二极管的动态特性 有趣的事, Jon Clift 还对绿色LED发送的光,使用红色LED进行检测,发现仍然能够引起相应,只是灵敏度下降了许多。 ▌03 综述结论 通过上面综述可以看出,利用LED作为光线传感器是可以的。但相比于光敏电阻、光敏二极管、光敏三极管、光电池等专门用于检测光线的传感器,LED所产生电信号比较微弱,需要进行有效的电流、电压放大在能够使用。 如果利用LED的光伏特性,也就是LED在光线下产生的电压信号,直接进行放大,由于整个电路处在高阻状态,所以电压信号响应速度较慢。 利用LED的反向光敏电流信号,通过I-V转换电路,也就是像前面【2-5】节所使用的电路,此时LED光电信号的响应速度可以很快。能够满足检测智能车运行的需要。 对于科学问题,也许真理只存在一个。但对于工程问题,则需要在功能、性能、成本、体积、功耗等与实际应用相关的各种因素之间做权衡,找到一个最佳的平衡点。这其中的乐趣也许是留给那些喜欢技术并具有强迫症的人。 参考资料 [1] 全国大学生智能车竞赛 : https://zhuoqing.blog.csdn.net/article/details/110253008 [2] 电磁感应检测车模 : https://zhuoqing.blog.csdn.net/article/details/104120744 [3] 电磁感应原理的车模检测方案 : https://zhuoqing.blog.csdn.net/article/details/104120728 [4] 基于光敏三极管的车模检测方案 : https://mp.weixin.qq.com/s?__biz=MzA5NjQyNjc2NQ &mid=2452218082&idx=1&sn=7ee33c03cc675f82d736fec468cf1c31&chksm=876d0e80b01a8796a33a3361f7d80116a52ab901017ca970325af23f6109903972e12ff43b7f&token=1807600395&lang=zh_CN#rd* [5] 在四川省智能车比赛中也是用了光电检测板 : https://zhuoqing.blog.csdn.net/article/details/115751063 [6] Light Sensors : https://www.electronicshub.org/light-sensors/ [7] LEDs As Light Sensors : https://www.instructables.com/LEDs-as-light-sensors/ [8] LED AS a LIGHT SENSOR : https://www.instructables.com/LED-AS-A-LIGHT-SENSOR/ [9] USING LED AS A LIGHT SENSOR? SEE HOW IS IT POSSIBLE : https://www.circuitmix.com/using-led-as-a-light-sensor-see-how-is-it-possible/ [10] Multi-Touch Sensing through LED Matrix Displays : https://cs.nyu.edu/~jhan/ledtouch/index.html [11] Using LEDs as Light-Level Sensors and Emitters : https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/wp/wp-01076-led-driver-reduces-power-adjusting-intensity-ambient-light.pdf [12] Activity: LED as light sensor : https://wiki.analog.com/university/courses/electronics/electronics-lab-led-sensor [13] LED As Light Sensor : https://www.electronicsforu.com/electronics-projects/led-light-sensor [14] Experimenting With Using an LED as a Light Sensor : https://www.element14.com/community/people/jc2048/blog/2020/04/02/experimenting-with-using-an-led-as-a-light-sensor