打印

关于一个光电开关的问题,请教大侠

[复制链接]
5155|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
perfectbee|  楼主 | 2010-11-25 00:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 perfectbee 于 2010-11-25 00:34 编辑

我用的亿光IR21000的反射式红外光电开关,想请教大家,怎么样才能不受太阳光里的红外的干扰?
我开始用软件模拟频率为100Hz的方波发射,然后用IC检测接收反射回来的方波频率。但这个方法的话,外界的某些电器对其又有干扰。哪位高手建议一个好的方法!

我是菜鸟 ,可能说的不是很清楚,请各位谅解,总之请给我一些建议,或者一些启示

相关帖子

沙发
KFYSX| | 2010-11-25 06:52 | 只看该作者
1.  如何去除环境光的干扰?
与之前的调制解调的方式不同,在使用ADC功能之后,
另一种解决方案会让测试更有效率。那就是使用双重检测方
法。前提条件是,单片机可以控制红外发光二极管的开关。
首先,要使用ADC功能读出接在ADC接口上电压的模拟量,
数值从0到255(十进制)。红外光敏二极管接收的红外光线
强时,ADC读出的数值就大,反之就小。我们要做的就是,
控制红外发光二极管在发光时读一次ADC的数值,然后再让
红外发光二极管熄灭,再读一次ADC的数值。我们先假设没
有其他红外光源的干扰,当红外发光二极管熄灭时,红外光
敏二极管应该检测不到光源,ADC读出的数值也应该为0;
当红外发光二极管点亮,且没有反射物体时,ADC读出的值
也应该很小,接近于为0;当有反射物体时,红外光敏二极
管检测到光源,ADC读出的数值会变大。如果存在其他光源
的干扰,那么当红外发光二极管熄灭时,也会读到较大的数
值。双重检测读出的数值的差距越大,表示干扰光源越弱,
反之则越强。我们通过这种双重检测,就可以判断接收到的
红外光是不是发射端发出来的了,两次检测的数值之差就是
我们需要的最终数值。最终数值将参与下面的算法处理,也
是我们判断和处理的关键数据。单片机需要控制红外发光二
极管高速开关,以便更快地采集数据。
最终数值  =  红外发光二极管点亮时ADC读出的数值  - 红外发光二极管熄灭时ADC读出的数值
2.  如何解决临界点的感应波动问题?
微微向前一点就触发,微微向后一点就关断,这是临
界点问题的困扰。问题的根源在于,触发的临界点和关断的
临界点是同一个距离。只要在基于单片机系统中把这两个临
界点分开,这个问题就可迎刃而解。我们知道,单片机需要
处理的数据是“最终数值”,它是红外发光二极管开、关状
态时ADC读出的数值之差。最终数值也是一个从0到255之
间不断变化的变量。反射物理离传感器越近,“最终数值” 就越大。如果我们在程序里设置,当“最终数值”大于某一
值时(例如200)就触发开关,小于这一值时就关断开关,
那么这样编程的效果就是单一临界点的不稳定开关。单片机
既然都可以模仿不稳定的开关,自然也很容易创造稳定的开
关了!只要写一下程序的设置就可以很轻松地让它变得稳
定。双临界点的设计只需要两个数值的条件判断:当“最
终数值”大于某一值时(例如200)就触发开关,当“最终
数值”小于另一个数值时(例如150)就关断开关。这样一
来,在150和200之间就会创建一块中间区域。当反射物理在
这个区域前后移动时,开关仍保持其原来的状态,或判断、
或触发。这种双临界点的设计,其实是给反射物体一个活动
空间,对反射物体的稳定性要求降低了,系统状态就自然稳
定了下来。在实际调试过程中,可以根据应用的需要修改双
临界点的两个数值。比如做自动水龙头时,手的移动范围较
大,所以应该留出较大的活动区域。如果是做自动寻迹小车
的传感器,则可以用较小的活动区域,甚至改用单临界点来
实现。双临界点的设计是有启发性的,你可以利用此设计来
做更多的事情,或者用在其他传感器的稳定性设计之中。  
  
3.  如何增加感应的成功率和可靠性?  

“最终数值”处理和双临界点设计都可以增加系统的稳
定性。在多次数据采集中,出现几次失败和误差是很正常的
事情。但如果这些误差左右了开关的状态,那么这种失败又
由谁来负责呢?我写的**错别字很多,杂志社的编辑老师
都说我无药可救了。当你看到本文时,你要知道一件事,那
就是已经有好几位编辑老师瞪大眼睛帮我改掉了文中的错别
字。最后大家看到的才是精美而通顺的**。在感谢编辑老
师的同时,我也要为我们的红外感应开关配备几位“编辑老
师”,给采集到的数据把关。一旦出现错误,就放弃当前的
数据,重新采集,这种设计其实就是一种冗余。我在程序中
设计了一段循环检测语句,连续20次检测和判断采集到的数
据,如果20次中有1次误差就马上放弃当前的所有数据,重
新检测。连续20次检测已经算是很稳定的了,当然你也可以
为了更稳定而改用连续50次、100次的检测,但是系统的反
应速度会变慢,灵敏度也会下降。灵敏度和稳定度之间的矛
盾是刚性的,在实际测试中找到适合目标系统的检测次数就
可以了。“最终数值”、双临界点和20次连续检测听上去好
像是很复杂的事情,可是在程序里只是很简单的几条语句。
设计的重点不在于程序的复杂性,而是整个系统的设计思
路。下面列出一段关键程序部分与大家分享,这个简单的程
序包含了上述的3种抗干扰设计。  

4.  如何增大感应距离?
经过实验证明,基于单片机的红外传感器的感应距离
和单片机的ADC精度、双临界点数值、红外发光二极管的功
率、红外光敏二极管的灵敏度,均和反射物理的反光效果有
关,一般的感应距离不会超过20cm。不过,对于开关感应开
关的设计已经足够了。要想增加感应距离,可以对以下几方
面进行改进。只是,更远的感应距离反而会让系统产生许多  
RAM_H = Read_ADC; //读出LED亮时ADC端口的值  
RAM_L = Read_ADC; //读出LED灭时ADC端口的值  
RAM_H = RAM_H - RAM_L; //取2次检测值之差,避开环境光干扰 if(RAM_H > 0x06){ //开启时的距离(应该小于关闭时的距离) CON++;  //计数加1  
CON2 = 0;  
if(CON > 20){ //连续20次检测,以避开干扰  
CON = 0;  
LED_Y = 0; //LED指示灯点亮  
}  
}  
if(RAM_H < 0x03){ //关闭时的距离  
CON2++; CON = 0; if(CON2 > 20){ CON2 = 0;  
LED_Y = 1; //LED指示灯熄灭  
}  
}  
“最终数值”、双临界点和20次连续检测的程序部分
不确定因素,效果反而不佳。如果在某些特殊情况还需要更
远的传送距离,我们就要用新的软硬件方案来应对了。  
☆ 提
高 A D C 精




将 8 位 A D C 换
成 1 0 位
或 1 2 位ADC。  
☆将双临界点的数值设置得更小。  
☆用 LED 驱动电路提高红外发光二极管的功率(即提高
亮度)。  
☆为红外光敏二极管一端加装信号放大电路。  
☆尽量使用反光效果好的反射物体(如白纸、镜面)。  

5.  如何进一步提升抗干扰能力?
最后一个问题,是同频环境光的干扰。在我的实验中,
还没有出现过这样的问题,它只存在于理论推理中。但这种
干扰的可能性并不为0,所以有必须说明一下。所谓的同频
干扰,就是假设红外感应开关的周围正好存在这么一个红外
光源,它也按一定的频率点亮和熄灭,而这一频率正好和红
外感应开关中红外发光二极管的亮、灭频率一致,且周期相
同。这种巧合并不只是彩票头奖的幸运观众才能遇见的,当
多个红外感应开关在较近的距离内同时使用时,问题就自然
会出现。如果它们之间的距离不能改变,那就只有用跳频的
方法来解决了。跳频技术在移动电话和无绳电话机上已经成
为必备的功能,为了防止窃听或当某一频道被占用时,电话
机会自动切换到别的频道,让通信更稳定、可靠。对于红外
感应开关来说,跳频并没有那么复杂,只要在程序中不断改变红外发光二极管的亮、灭时间,用不同的频率去检测,其他干扰光源也以相同频率跳变的机会就少之又少了,再加上
前面介绍的20次连续检测功能,再遇见干扰的可能性就几乎
为0了。
增加以上5项功能,系统的稳定性达到了巅峰,而如此
稳定的设计却丝毫没有改变硬件制作。仍然是那几种元器件,稳定与否全看程序的设计。单片机就是这么神奇,创造
优良性能于无形之中,带你体验精简设计的内在之力。
更远距离的对射传感器方案
还有一种情况,是应用上的需要。如果使用红外感应
开关来制作赛跑的电子终点线,将红外发射管和接收管分别
安装在跑道的两端会是更好的解决方案。平时终点线上没有
障碍物,发射的红外信号轻松地被接收。当有人通过终点线
时,人的身体挡住了红外光的路线,接收端收不到信号而
触发开关,完成比赛的计时。同样的设计还可以用作防盗报
警器。这种对射式的传感器需要很远的传送距离,一般需要2~5m。如果是这种应用,就需要改变软硬件方案,38kHz调
制红外线不是很好的解决方案。利用单片机产生38kHz的调制红外线信号,接收端使用具有集信号解调、放大和输出于
一体的红外传感器TSOP1838。电路设计同样精简,而对射
有效距离可以达到7~10m。相关的技术正在被我研究着,这
里算是抛砖引玉,希望给正在研究此技术的朋友一点帮助。
发挥你的才能,把这项技术运用到生活之中。制作自动
干手机、感应水龙头、感应电灯开关、智能寻迹小车、防盗
报警器、感应桌面、比赛计时器等。基于单片机的红外感应
开关将成为你电子竞赛、产品设计、趣味DIY的必备佳品。这就是红外感应开关的创新制作,可以简单稳定地感应你。

使用特权

评论回复
板凳
perfectbee|  楼主 | 2010-11-25 19:12 | 只看该作者
感谢2楼的回答,很详细,这样应该可以解决了,我去试试。非常感谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

16

帖子

1

粉丝