基于单片机的红外编码探测障碍物设计

发布者:祝福的4号最新更新时间:2014-11-20 来源: 21ic关键字:单片机  红外编码  探测障碍物 手机看文章 扫描二维码
随时随地手机看文章

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 编码脉冲的产生和接收

在实际使用中,由于EM78P156E单片机的工作频率是4 MHz,载波脉冲采用26μs,其中高电位是10 μs,低电位是16μs,占空比是38.5%。在产生载波时,要检测是否有反射信号。反射信号的检测是单片机利用低电位的16μs时间内判断接收引脚是否存在相应的发射信号。

为了确定需要编码的调制信号脉冲宽度,在1 000个NB0038的接收头中,随意选择30个作实验。在约20 cm的距离内出现表面不光滑的障碍物,从单片机通过红外发射管发射信号到NB0038接收信号,检测出现在接收引脚为高电平时的载波脉冲量如表1所列。
 

因此,选择调制信号脉冲为24个载波脉冲宽度为:

发射信号的格式如图4所示。
 

3.1 编码“1”脉冲产生和接收

(1) 产生一个占空比为38.5%的载波脉冲

首先,使红外发射控制P51=1,发射红外信号,保持时间是10 μs。然后,重新使P51=0,停止发射红外信号,保持时间是16μs。[page]

(2) 判断是否存在反射信号“1”

在发射到第17、19、21和23个载波脉冲时,在停止发射红外信号的16μs内,检测接收引脚P52。如果P52=1,则表明存在反射信号;如果P52=0,则认为无反射信号。

在这4次判断过程中,如果有3次以上判断为存在反射信号,则确认接收到反射的“1”。

实现的软件流程如图5所示。
 

3.2 编码“0”脉冲产生和接收

当发射“0”脉冲时,停止发送任何红外信号。

在相当于第17、19、21和23个载波脉冲时间的时候,检测接收引脚P52。如果P52=1,则表明存在干扰的红外信号;如果:P52=0,则表明没有其他红外信号的干扰。

在这4次判断过程中,如果有3次以上判断为没有其他红外信号的干扰,则确认正确地接收到“0”。

实现的软件流程如图6所示。
 

4 抗干扰能力分析

在应用中,发现发送和接收低于6位的编码脉冲,仍然有一定的受干扰现象发生;但发送和接收高于10位的编码脉冲,已经具有较强的抗干扰能力。

实际上,在发送编码为“0”时,是没有红外信号存在的。对于随机而频繁的干扰信号,这时很容易检测到干扰的存在。

发送编码的实质是:

① 当编码位为“1”时,检测是否存在障碍物。这时如果有信号的反射,则表明在测量的范围内有障碍物。如果接收不到反射的信号,说明没有障碍物,或者是障碍物超出测量的范围。

② 当编码位为“0”时,检测是否存在干扰。这时如果有干扰信号,则表明发射“1”测到的障碍物,有可能是由于有干扰信号而导致的错误判断。

5 编码的方案

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

① 发送较短的编码串(10~16位),判断时间约6~10 ms。在接收过程中,不能有一位的误码,否则认为是干扰,要等待下一次的障碍检测。这种方案在检测过程中,不能存在干扰。

② 发送大于16位的编码串(16~32位),判断时间约10~20 ms。对接收“0”和“1”的编码误码统计,其中可以根据应用场合的需要,存在1~2位“0”的误码和1~3位“1”的误码,这样能有效提高抗干扰能力。

③ 发送大于32位编码串,判断时间>20 ms。根据实际情况来分析接收的编码,以判断障碍的存在。

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

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

关键字:单片机  红外编码  探测障碍物 引用地址:基于单片机的红外编码探测障碍物设计

上一篇:基于DSl210的微处理器存储系统电源监控
下一篇:基于红外超声光电编码器的室内移动小车定位系统

推荐阅读最新更新时间:2024-03-16 13:46

基于可编程数字电位器在AVR单片机中的应用
1 引言 AVR嵌入式单片机具有丰富的硬件、软件资源,其中的串行I2C接口能满足很多应用场合的要求,两个AVR单片机通过I2C总线直接连接就可实现单片机相互通信;AVR单片机还可以和任何具有I2C总线接口的外设直接连接而无须其它硬件电路支持。而X9221系列可编程数字电位器在智能测试设备上应用非常广泛,通过I2C总线可以简单地构成单片机与各种外设之间乃至与计算机之间的通信,建立友好的人机界面联系。硬件设计简单、灵活,只需要将所有设备的SDA和SCL信号线分别并联在一起并加上拉电阻即可,有助于提高设备的自动化水平、可靠性、稳定性及电气装配的工艺性。AVR单片机和X9221系列可编程数字电位器都有内置的E2ROM单元,可以非
[单片机]
AVR单片机的特点优势及功能解析
高可靠性、功能强、高速度、低功耗和低价位 , 一直是衡量单片机性能的重要指标,也是单片机占领市场、赖以生存的必要条件。 早期 单片机 主要由于工艺及设计水平不高、功耗高和抗干扰性能差等原因,所以采取稳妥方案:即采用较高的分频系数对时钟分频,使得指令周期长,执行速度慢。以后的CMOS单片机虽然采用提高时钟频率和缩小分频系数等措施,但这种状态并未被彻底改观(51以及51兼容)。此间虽有某些精简指令集单片机(RISC)问世,但依然沿袭对时钟分频的作法。 AVR 单片机 的推出,彻底打破这种旧设计格局,废除了机器周期,抛弃复杂指令计算机(CISC)追求指令完备的做法;采用精简指令集,以字作为指令长度单位,将内容丰富的操作数与操
[单片机]
AVR<font color='red'>单片机</font>的特点优势及功能解析
51单片机驱动继电器可以使用这样的几种芯片
继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。在大多数的情况下,继电器就是一个电磁铁,这个电磁铁的衔铁可以闭合或断开一个或数个接触点。当电磁铁的绕组中有电流通过时,衔铁被电磁铁吸引,因而就改变了触点的状态。继电器一般可以分为电磁式继电器、热敏干簧继电器、固态继电器等。增强型PIC实验板上配置的继电器如图1所示。 电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的
[单片机]
51<font color='red'>单片机</font>驱动继电器可以使用这样的几种芯片
AVR单片机外部RAM访问
最近的一个项目中,体会了一下AVR单片机的外部RAM扩展,发文记录于此。 本文以ATMEGA64单片机为测试平台,外扩74HC573(资料上讲用AHC系列,但是我用HC系列在16M晶振下配置成最快速度访问并没有发现什么不妥,当然这是个不严谨的设计)以及62256芯片。 我采用的是GCC编译器,并且在项目中采用C++来编写程序,根据理论上来讲,只要外部存储器使能了并且配置完成,那么变量的地址分配完全可以交给编译器来做,但是前提是存储器使能及配置代码要在上电复位后最先得到执行,而采用C或者C++来编写程序,上电复位之后最先得到执行的代码是由编译器自动增加的启动代码以及构造函数代码。我不清楚如何让存储器使能及配置代码在上电复位后最先得到
[单片机]
TI推出业界射频集成度最高的RF430安全MCU
全新评估模块可实现跨越式设计。 RF430F5978 MCU集成了德州仪器频率低于1GHz的射频收发器、3D LF唤醒触发器和应答器,并具备标准的MSP430 MCU特性和先进的AES安全保障功能。 2014年7月17日,北京讯---日前,德州仪器(TI)宣布推出RF 430F5978微控制器(MCU)和配套的评估模块(EVM),进一步壮大其丰富多样的低功耗射频(RF)解决方案组合阵营。RF430F5978 MCU基于TI的CC430产品系列,是一种高度集成的RF解决方案,提升了读取区和电池的性能,适合超低功耗应用。RF430F5978 MCU包括一个3D低频(LF)唤醒及应答器接口、一个集成式1GHz RF收发器
[单片机]
基于MSP430单片机的便携式气象仪设计
  设计了一种低功耗便携式气象仪,该气象检测系统以低功耗MSP430单片机为主控,利用温度传感器、湿度传感器、气压传感器、风速和风向测量模块,进行温度、湿度、气压、风速、风向的测量;通过时钟芯片和12864液晶实现数据的实时显示;通过E2PROM进行数据的实时存储和查询。该气象仪具有小型化、实时化、低功耗和便携式等特点,测试结果表明该气象仪的测量精度可达普通气象测量要求,稳定性好,特别适用于小区域的气候监测。   0引言   温度、湿度、气压、风速、风向等气象参数的测量在日常生活、农业、渔业、工业、林业、航海等领域中起着十分重要的作用,很多地区气象参数的测量大多依靠当地天气预报,可是,天气预报地域范围较广,无法精确到小区域的气
[单片机]
基于MSP430<font color='red'>单片机</font>的便携式气象仪设计
STM8单片机GPIO操作
设置GPIO的寄存器包括:输出寄存器(ODR),输入寄存器(IDR),方向寄存器(DDR),控制寄存器1(CR1)和控制寄存器2(CR2),可以利用后面三个寄存器组配置GPIO的8种模式。 固件库函数给出了GPIO 8种模式的定义,在上面的基础上加入了输出高/输出低电平的状态。 GPIO_Mode_In_FL_No_IT 浮空输入,无外部中断 GPIO_Mode_In_PU_No_IT 上拉输入,无外部中断 GPIO_Mode_In_FL_IT 浮空输入,有外部中断 GPIO_Mode_Out_OD_Low_Fast 开漏输出低电平 10MHZ GPIO_Mode_Out_PP_Low_Fast 推挽输出低电平
[单片机]
如何创建51单片机KEIL工程步骤
1. 什么是Keil软件 Keil软件是一款专为嵌入式系统开发而设计的集成开发环境(IDE),常用于51、STM32单片机软件开发的编程软件。Keil编程软件不仅支持多种工具和扩展程序,还能够处理多种文件格式和数据交换方式;可支持单片机程序的在线仿真,或通过仿真器进行实物仿真,大大方便开发人员的工作。 其中,我们常用的Keil软件有两种,分别为Keil C51以及Keil MDK,前者主要用于51单片机等8051内核单片机的开发工具(不支持32位单片机),Keil MDK主要用于ARM架构单片机的开发工具,主要用于STM32单片机等32单片机。所以在使用Keil软件时需要主要这一点。 2.如何创建51单片机KEIL工程步骤
[单片机]
如何创建51<font color='red'>单片机</font>KEIL工程步骤
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved