《红外感应开关.ppt》由会员分享,可在线阅读,更多相关《红外感应开关.ppt(14页珍藏版)》请在三一办公上搜索。
1、传感器的应用 红外感应开关的制作,实验步骤,1:电路原理图与分析2:注意事项3:实验材料4:安装与调试,接收方式红外线发射与接收的方式有两种,其一是直射式,其二是反射式。直射式指发光管和接收管相对安放在发射与受控物的两端,中间相距一定距离;反射式指发光管与接收管并列一起,平时接收管始终无光照,只在发光管发出的红外光线遇到反射物时,接收管收到反射回来的红外光线才工作。,注意事项1.为STC12C4052AD下载HEX文件时应在STC-ISP软件中选择“内部RC振荡器”。2.避免在强光下使用,过强的光线会降低感应距离。3.单片机的P1.7接口输出无锁存低电平,可连接继电器制作感应水龙头。4.单片机
2、的P1.6接口输出锁存开关电平,可制作感应电灯开关,上电初始时为高电平。5.可通过增加红外发射二极管的亮度(功率)来提高感应区距离。6.必须使用STC12C4052AD或STC12C2052AD(有ADC功能),而不可使用STC12C2052代替。,实验材料:,单片机采用STC12C4052AD或STC12C2052AD,-LTH1550-01型红外反射模块或其它模块,LED用于输出指示 引脚可扩展继电器或其他输出,-面包板,-3节7号电池盒,输出电压4.5V 红线为正极 黑线为负极 可用其他电源代替,-感应处理采用单片机ADC采集和数学算法 稳定性好,-将编号源程序的单片机插入面包板,-将红
3、外反射模块按电路原理图插入面包板,-插入面包板用导线 使P1.3和P1.4短接,-插入LED指示灯 LED负极接P1.7为无锁存开关 接P1.6为锁存开关,-将电源接在单片机的20脚(正极)和10脚(负极)上,-制作完成后打开电源开关,-用手或其他物体遮挡反射区,-感应处理采用单片机ADC采集和数学算法 稳定性好,安装与调试,关键问题与解决之道,如何去除环境光的干扰?使用双重检测的方法,前提条件是单片机可以控制红外发光二极管的开关。首先大家要制作ADC 功能可以读出接在ADC 接口上电压的模拟量,数值从0 到255(十进制)。红外光敏二极管接收的红外光线强时,ADC读出的数值就大,反之就小。我
4、们要做的就是控制红外发光二极管在发光时读一次ADC的数值,然后再让红外发光二极管熄灭,再读一次ADC 的数值。我们先假设没有其他红外光源的干扰,当红外发光二极管熄灭时,红外光敏二极管应该检测不到光源,ADC读出的数值也应该为0;当红外发光二极管点亮,且没有反射物理时,ADC读出的值也应该很小,接近于为0;当有反射物理时,红外光敏二极管检测到光源,ADC 读出的数值会变大。如果存在其他光源的干扰,那么当红外发光二极管熄灭时也会读到较大的数值,双重检测读出的数值的差距越大,表示干扰光源越弱,反之则越强。我们通过这种双重检测就可以判断接收到的红外光是不是发射端发出来的了,两次检测的数值之差就是我们需
5、要的最终数值。最终数值将参与下面的算法处理,也是我们判断、处理的关键数据。单片机需要控制红外发光二极管高速开关,以便更快的采集数据。,最终数值=红外发光二极管点亮时ADC读出的数值-红外发光二极管熄灭时ADC读出的数值,2.如何解决临界点的感应波动问题?微微向前一点就触发,微微向后一点就关断,这是临界点问题的困扰。问题的根源在于触发的临界点和关断的临界点是同一个距离。只要在基于单片机系统中把这两个临界点分开,就可以解决这个问题了。我们知道了,单片机需要处理的数据是“最终数值”,它是红外发光二极管开、关状态时ADC读出的数值之差。最终数值也是一个从0 到255 之间不断变化的变量,反射物理离传感
6、器越近,“最终数值”就越大。如果我们在程序里设置当“最终数值”大于某一值时(例如200)就触发开关,小于这一值时就关断开关。这样编程的效果就是单一临界点的不稳定开关,单片机既然都可以模仿不稳定的开关,自然也很容易创造稳定的开关了!只要写一下程序的设置就可以很轻松的让它变得稳定。双临界点的设计只需要两个数值的条件判断:当“最终数值”大于某一值时(例如200)就触发开关,当“最终数值”小于另一个数值时(例如150)就关断开关。这样一来,在150 和200 之间就会创建一块中间区域。当反射物理在这个区域前后移动时,开关仍保持其原来的状态,或判断、或触发。这种双临界点的设计,其实是给反射物体一个活动空
7、间,对反射物体的稳定性要求降低了,系统状态就自然稳定了下来。在实际调试过程中可以根据应用的需要修改双临界点的两个数值。比如做自动手龙头,手的移动范围较大,所以应该留出较大的活动区域。如果是做自动寻迹小车的传感器,则可以用较小的活动区域,甚至改用单临界点来实现。双临界点的设计是有启发性的,你可以利用此设计来做更多的事情,或者用在其他传感器的稳定性设计之中。,3.如何增加感应的成功率和可靠性?“最终数值”处理和双临界点设计都可以增加系统的稳定性,可以如果检测出错、或者出现误差,在多次数据采集中出现几次失败和误差是很正常的事情,但如果这些误差左右了开关的状态,那么这种失败又由谁来负责呢?大家要需要我
8、写的文章错别字很多,杂志社的编辑老师都说我无药可救了。当你看到本文的时候你要知道一件事,那就是已经有好几位编辑老师瞪大的眼睛帮我改掉文中的错别字。最后大家看到的才是精美而通顺的文章。在感觉编辑老师的同时我们也要帮我们的红外感应开关配备几位“编辑老师”,给采集到的数据把关。一旦出现错误就放弃当前的数据,重新采集,这种设计就是一种冗余。我在程序中设计了一段循环检测语句,连续20 次检测和判断采集到的数据,如果20 次中有1次误差就马上放弃当前的所有数据,重新检测。连续20 次检测已经算是很稳定的了,当然你也可以为了更稳定而改用连续50 次、100 次的检测,但是系统的反应速度会慢,灵敏度下降。灵敏度和稳定度之间的矛盾是纲性的,在实际测试中找到适合目标系统的检测次数就可以了。“最终数值”、双临界点和20 次连续检测听上去好像是很复杂的事情,可是在程序里面却是很简单的几条语句。设计的重点不在于程序的复杂性,而是整个系统的设计思路。下面列出一段关键程序部分与大家分享,这个简单的程序包含了以上讲到的3种抗干扰设计。,成品展览,-IR_NEAR V2 红外感应开关,