原创 基于反射式红外线的测距传感器

2008-11-15 21:25 10388 7 25 分类: MCU/ 嵌入式

      icon如果我写得好,请顶我一下,我将再接再厉!icon


        前阵子做个小车玩,是走迷宫的那种.苦于没有所谓的距离传感器,就自己做个吧.结果也犯了不少错误.现和大家分享.


    买了几个两毛钱一个的发射管(注意,不是发光二极管,虽然长得一样,但是这个是发射红外线,你可能肉眼看不出它再发光,但是你若是用手机或数码相机的摄像头看,你就会看到它的光).


8453b5cc-6f1f-43ed-a43e-8db9be03e255.JPG       07a7ad9f-bcf9-4452-94b5-8eaed8e1b1c8.JPG


(发射管)                                       (接收管)


      看来比较简单,一个发射,一个接受.发射管发射红外线,遇到遮挡就会反射回来(遮挡是黑色的除外,因为黑色吸收了红外线),接收管接收到红外线以后阻值发生了变化,因此可以利用电阻分压改变输出电压.看看电路:


e7350066-ee39-4d03-91b5-9ad58a198bbe.JPG


发射电路,一开始我就是这样,一个限流电阻直接发射管(红外线发光管).后来发现一个随之而来的问题,就是多个传感器工作时电流比较的大,达到0.5A左右.而且传感器发热严重.要知道,发热严重,性能就会严重的降低.于是想到,是不是可以在需要的时候开通,不需要的时候关闭.形成这种扫描式的.结果衍生出了以下的电路:


5b23f2f9-b262-4c89-a231-e75b76da1784.JPG


这个电路的原理也是一目了然的:当单片机的IO口输出高电平时,R1所在的支路有电流I1,因此R2所在的支路就有I1*E(E为三极管的放大倍数,比如我用的是30).这样,三极管就相当于一个电子开关.单片机输出1的时候,发光管接通,单片机输出0的时候,发光管截止.这样就起到了用单片机来控制发光管关闭的效果.


        经过实验,发现该电路效果非常的明显.在大多数情况下,电流表几乎检测不到电流的所在.用精密的电流表,发现电流在5MA左右.而且整个电路的检测距离更远,更准确.具体分析其原因是:长时间处于发光状态,发热严重,发光管效率降低,电阻增大,发射功率降低.而间歇发射,发光管发光效率更高,更省电.


        至于接受电路,我使用的就比较的简单.


           a0bafe7c-85b6-40e1-ae09-921a68e68c6f.JPG


其中,Sout为信号的输出.其实这个电路就太简单了,你看.红外线使着接收管的电阻发生了很大的变化,所以两个电阻的比值就发生了变化,根据分压原理,输出的电压值也就改变了.


             接下来的问题就是对现在的这个高电压和低电压进行处理.有人说,直接接到单片机上进行编程不就可以了?不是的!注意,这里的输出电压虽然也有高和低,但是这里的电压是个"模拟量",不是标准的TTL电平.举个例子,我测得有反射(前方有障碍物)的时候,电压是4V,没有发射(前方没有障碍物)的时候,电压是2.1V.显然,你如果直接接到单片机上,单片机收到的都是高电平.


           处理的办法有两个:使用AD转换或是使用电压比较器.


           这两个方法各有各自的优缺点,我们来分析一下:


          一.AD转换


                     大家都知道,就是将输出的电压值,用AD芯片进行数字化,比如5V转换成了1200.等等...这样做的好处是显而易见的,我们能够方便的对数据进行处理.比如,我们令数值小于300的表示没有检测到障碍物或是障碍物比较的远.数值大于300的表示检测到障碍物.而且硬件上也比较的简单,直接将输出接到AD的输入引脚即可(现在的许多MCU内部都自带ADC,所以根本就不需要外围电路,直接接上即可).这样做的不足也有,就是你需要编写AD检测的程序,而且占用CPU时间.


           二.比较器


                    所谓的比较器,就是电压比较器,看电路:


                   082757c6-e5f1-4988-8183-fe5071c81cc0.JPG


                       看,就是这么个简单的电路,当Ui>U时,Uo一直是低电平;当Ui<U时,Uo就是高电平.因此,我们只要调节一下参考电压,就可以使着输出符合我们的要求--低于这个阀值的时候是高电平,高于这个阀值的时候是低电平.这就实现了模拟量转换为数字量.看看电路图:


c3dbd3da-7125-4bcd-8ae1-e2b25aab4b57.JPG


                  这个电路就很简单了,可以看出多了下面的那块电路,是用来调节基准电压的嘛.也是一个电阻分压的原理,这样你设置不同的阀值,就可以控制输出了.比如:我们刚才说的低电压是2.1V,高电压是4V,我们要把这个电平转变成TTL,因此我们可以把基准电压设置成3V,因此经过电压比较器,2.1V就输出高--5V,4V就输出低--<1V.这不就是TTL嘛.


                 电路中的比较器可以使用便宜的LM324来搭建.LM324是四运放集成块.

PARTNER CONTENT

文章评论18条评论)

登录后参与讨论

用户377235 2014-5-7 10:25

额合计为加快

用户377235 2013-9-23 15:15

不错呀

用户387625 2011-9-21 10:50

这个类似于接近开关吧,更多距离传感器,精确快速检测还得靠专门的激光测距传感器。 这里有不少激光传感器www.jslaser.com

用户330746 2011-8-3 22:39

你写这个是红外避障,好像没什么测距内容,我也期待下文哦。

用户1610497 2010-8-7 20:45

楼主啊~~图看不到啊~~我最近也在关注该方面的资料?很纳闷究竟红外怎么测距?那么两对的话,是否可以定位了呢?

用户779582 2009-10-31 19:57

学习了

用户191877 2009-7-21 15:39

貌似不能测距

用户1478309 2009-5-30 21:16

非常受用

fulingda_311004677 2009-5-23 14:53

接收管接反了,红外接收二极管要反偏

用户194267 2009-5-13 18:20

写得不错
相关推荐阅读
用户767405 2014-06-17 08:42
自制喷漆机器人【涂覆机】【图】
  市场上的涂覆机设备 因为最近有涂覆三防漆的需求,而市场上现成的涂覆设备比较昂贵,可能需要十几万到几十万。我初步想,应该...
用户767405 2012-05-05 15:03
多功能触摸屏红外线遥控器
    图1 ...
用户767405 2011-08-06 19:28
温度PID系统整定过程
   在两年多以前,我写了一篇关于如何整定PID的小文章,收到不少的朋友给我发E-mail,讨论关于PID参数整定的问题。今天刚好有一个小小的项目,需要整定PID参数,我们再用原来的方法,来做一遍,看...
用户767405 2011-06-20 08:44
光伏供电系统配置软件
光伏系统计算软件,适合太阳能路灯等系统: 点击这里去下载...
用户767405 2010-11-09 09:32
【原创软件】16进制-10进制批量转换工具
张彦欣单片1.电子工程师经常需要使用串口获得现场的一些数据用于分析.而一般的串口助手软件获得的数据都是16进制的,这不利于直观的分析或是绘制图形.张彦欣单片机在这种情况下写了这个进制转换工具.2.数据...
用户767405 2010-11-09 09:19
【原创软件】描点绘图软件
    在工程应用中,我们经常需要将上位机采集到的结果绘制出图形来,这就需要一个数据绘图软件。而当前工程师手中很少有这样的合适软件。为此,张彦欣单片机写了一个较简单实用的描点绘图软件。而且,这个软件是...
EE直播间
更多
我要评论
18
7
关闭 站长推荐上一条 /3 下一条