加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSSRSS-巴斯仪表网
您当前的位置:首页 > 电子发烧 > 单片机学习

单片机控制红外编码探测障碍物

时间:2013-09-02  来源:123485.com  作者:9stone

1 探测障碍的原理
    在室内自动感知障碍的设备中,常使用红外线探测障碍物的存在与否。探测的基本原理是:在测量的范围内,主动向探测方向发射红外信号,如果存在障碍物,就会把发射的信号反射回发送端。在发送端,如果收到反射的信号,就确认障碍物的存在。
    但是在实际应用中,红外干扰源较多;而且在有反射光的情况下,由于光线的干扰,很容易判断失误,出现虚警。因此,有些设备在发射信号时,改进为发送一串连续的红外脉冲,然后接收反射的信号。如果接收到的红外脉冲数量超过某一门限值时,就判断障碍存在。这种方法尽管在一定程度上可以降低虚警率,但实验表明,在较强的反射光和使用电子镇流器方式的日光灯起辉时,仍很容易出现干扰现象。
    本文提 出 解决干扰的方案是:由单片机控制发射有一定意义的红外编码脉冲串,同时,单片机接收该脉冲串。如果接收到的信号和发射的信号基本一致,才判断为有障碍物的存在。
    探测障碍的原理框图如图1所示。
 
图1 探测障碍原理框图

2 电路设计
    在实测电路中,使用台湾义隆公司的EM78P156E单片机,红外发射管为MIE552A2,红外接收头为宁波雨晶微电子有限公司的NB0038,电路如图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 us,其中高电位是10 us,低电位是16 us,占空比是38.5%。在产生载波时,要检测是否有反射信号。反射信号的检测是单片机利用低电位的16 us时间内判断接收引脚是否存在相应的发射信号。
    为了确定需要编码的调制信号脉冲宽度,在1000个NB0038的接收头中,随意选择30个作实验。在约20 cm的距离内出现表面不光滑的障碍物,从单片机通过红外发射管发射信号到NB0038接收信号,检测出现在接收引脚为高电平时的载波脉冲量如表1所列。

表1 载波脉冲数统计
  典型值 最小值 最大值
脉冲数/个 9 13 16

    因此,选择调制信号脉冲为24个载波脉冲宽度为:24×26 us= 624 us
    发射信号的格式如图4所示。
 
图4 发射信号的格式
3.1 编码"1"脉冲产生和接收
(1)产生一个占空比为38.5%的载波脉冲
    首先,使红外发射控制P51=1,发射红外信号,保持时间是10 us。然后,重新使P51=0,停止发射红外信号,保持时间是16 us,
(2)判断是否存在反射信号"1"
    在发射到第17,19,21和23个载波脉冲时,在停止发射红外信号的16 us内,检测接收引脚P52。如果P52=1,则表明存在反射信号;如果P52=0,则认为无反射信号。在这4次判断过程中,如果有3次以上判断为存在反射信号,则确认接收到反射的"1"。
    实现的软件流程如图5所示。
 
图5 发送编码"1"流程
3.2 编码"0"脉冲产生和接收
    当发射"0"脉冲时,停止发送任何红外信号。
    在相当于第17,19,21和23个载波脉冲时间的时候,检测接收引脚P52。如果P52=1,则表明存在干扰的红外信号;如果P52=0,则表明没有其他红外信号的干扰。在这4次判断过程中,如果有3次以上判断为没有其他红外信号的干扰,则确认正确地接收到"0"。
    实现的软件流程如图6所示。
 
图6 发送编码"0"流程

4 抗干扰能力分析
    在应用中,发现发送和接收低于6位的编码脉冲,仍然有一定的受干扰现象发生;但发送和接收高于10位的编码脉冲,已经具有较强的抗干扰能力。
    实际上,在发送编码为"0"时,是没有红外信号存在的。对于随机而频繁的干扰信号,这时很容易检测到干扰的存在。
    发送编码的实质是:
① 当编码位为"1"时,检测是否存在障碍物。这时如果有信号的反射,则表明在测量的范围内有障碍物。如果接收不到反射的信号,说明没有障碍物,或者是障碍物超出测量的范围。
② 当编码位为"0"时,检测是否存在干扰。这时如果有干扰信号,则表明发射"1"测到的障碍物,有可能是由于有干扰信号而导致的错误判断。

5 编码的方案
    应用中 ,发送编码的方案有3种:

  1.  发送较短的编码串(10-16位),判断时间约6-10 ms。在接收过程中,不能有一位的误码,否则认为是干扰,要等待下一次的障碍检测。这种方案在检测过程中,不能存在干扰。
  2.  发送大于16位的编码串(16-32位),判断时间约10-20 ms。对接收"0"和"1"的编码误码统计,其中可以根据应用场合的需要,存在1-2位"0"的误码和1-3位"1"的误码,这样能有效提高抗干扰能力。
  3.  发送大于32位编码串,判断时间>20ms。根据实际情况来分析接收的编码,以判断障碍的存在。

    实际应用中,采用24位编码,分3次发出。3次发射的编码如表2所列。

表2 发射的脉冲编码表
发送顺序 编码 作用 发送间隔/ms
第一次,8位 10100101 防止1位的间隔干扰 -
第二次,10位 1100100011 防止2位的间隔干扰 2
第三次,6位 111000 防止3位的间隔干扰 1

    当不多于2位"0"的误码和2位"1"的误码时,确认障碍物的存在。


分享到:
来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
栏目导航->单片机学习
  • 电子应用基础
  • 电源技术
  • 无线传输技术
  • 信号处理
  • PCB设计
  • EDA技术
  • 单片机学习
  • 电子工具设备
  • 技术文章
  • 精彩拆解欣赏
  • 推荐资讯
    使用普通运放的仪表放大器
    使用普通运放的仪表放
    3V与5V混合系统中逻辑器接口问题
    3V与5V混合系统中逻辑
    数字PID控制及其改进算法的应用
    数字PID控制及其改进
    恶劣环境下的高性价比AD信号处理数据采集系统
    恶劣环境下的高性价比
    栏目更新
    栏目热门