用单片机控制红外编码探测障碍物
扫描二维码
随时随地手机看文章
谢洪 摘要 介绍使用基于单片机控制红外编码探测障碍的方案及实现的方法,以解决使用红外线自动感知障碍设备时出现的接收设备本身主动发送信号的干扰问题。该方案已应用于一种单片机控制的自动给液器中,能有效抵抗干扰信号,并稳定地运行于各种不同的场合;该方案也可应用在以无线电波和超声波为介质的障碍物测量中。 关键词 单片机 红外 编码 探测 抗干扰1 探测障碍的原理 在室内自动感知障碍的设备中,常使用红外线探测障碍物的存在与否。探测的基本原理是:在测量的范围内,主动向探测方向发射红外信号,如果存在障碍物,就会把发射的信号反射回发送端。在发送端,如果收到反射的信号,就确认障碍物的存在。 但是在实际应用中,红外干扰源较多;而且在有反射光的情况下,由于光线的干扰,很容易判断失误,出现虚警。因此,有些设备在发射信号时,改进为发送一串连续的红外脉冲,然后接收反射的信号。如果接收到的红外脉冲数量超过某一门限值时,就判断障碍存在。这种方法尽管在一定程度上可以降低虚警率,但实验表明,在较强的反射光和使用电子镇流器方式的日光灯起辉时,仍很容易出现干扰现象。 本文提出解决干扰的方案是:由单片机控制发射有一定意义的红外编码脉冲串,同时,单片机接收该脉冲串。如果接收到的信号和发射的信号基本一致,才判断为有障碍物的存在。 探测障碍的原理框图如图1所示。
图1 探测障碍原理框图2 电路设计 在实测电路中,使用台湾义隆公司的em78p156e单片机,红外发射管为mie552a2,红外接收头为宁波甬晶微电子有限公司的nb0038,电路如图2所示。
图2 红外编码探测障碍电路 当需要探测障碍物时,单片机u1首先让u2红外接收头 nb0038接通电源。在发射电路中,d2为红外发射管,u1的p51引脚输出编码脉冲,通过q2控制d2发射红外信号。当有红外信号进入接收头时,u2的输出端出现高电位,并送到u1的p67引脚。 nb0038是用于红外接收的一体化接收头,采用环氧树脂封装,把独立的pin二极管同前置放大器集成在同一封装上。其内部结构框图如图3所示。接收的载波中心频率为38.0 khz。
图3 nb0038内部结构框图3 编码脉冲的产生和接收 在实际使用中,由于em78p156e单片机的工作频率是4 mhz,载波脉冲采用26 μs,其中高电位是10 μs,低电位是16 μs,占空比是38.5%。在产生载波时,要检测是否有反射信号。反射信号的检测是单片机利用低电位的16 μs时间内判断接收引脚是否存在相应的发射信号。 为了确定需要编码的调制信号脉冲宽度,在1 000个nb0038的接收头中,随意选择 30个作实验。在约20 cm的距离内出现表面不光滑的障碍物,从单片机通过红外发射管发射信号到nb0038接收信号,检测出现在接收引脚为高电平时的载波脉冲量如表1所列。表1 载波脉冲数统计
因此,选择调制信号脉冲为24个载波脉冲宽度为: 发射信号的格式如图4所示。
图4 发射信号的格式3.1 编码“1”脉冲产生和接收 (1) 产生一个占空比为38.5%的载波脉冲
首先,使红外发射控制p51=1,发射红外信号,保持时间是10 μs。然后,重新使p51=0,停止发射红外信号,保持时间是16 μs。 (2) 判断是否存在反射信号“1”
在发射到第17、19、21和23个载波脉冲时,在停止发射红外信号的16 μs内,检测接收引脚p52。如果p52=1,则表明存在反射信号;如果p52=0,则认为无反射信号。 在这4次判断过程中,如果有3次以上判断为存在反射信号,则确认接收到反射的“1”。 实现的软件流程如图5所示。