文档库 最新最全的文档下载
当前位置:文档库 › 避障机器人红外测距模块设计与调试

避障机器人红外测距模块设计与调试

避障机器人红外测距模块设计与调试
避障机器人红外测距模块设计与调试

避障机器人红外测距模块设计与调试

一、实训目的

1、了解模数转换器的基本功能;

2、了解红外测距模块的基本功能及技术规格;

3、掌握红外传感器工作原理。

二、实训设备

1 硬件:HOST机一台、基于机器人项目驱动的嵌入式教学实训平台一套;

2 软件:Siliconlab IDE开发环境、调试器。

三、实训原理

红外距离感应模块是专为机器人设计的测障传感器,如图所示。它通过发射红外线并测量红外线被反射的强度来输出反映和物体距离的电压信号,有效距离10~80厘米。

红外测距传感器

红外测距功能

红外传感器基于三角测量原理。红外发射器按照一定的角度发射红外光束,当遇到物体以后,光束会反射回来,如图所示。反射回来的红外光线被CCD检测器检测到以后,会获得一个偏移值L,利用三角关系,在知道了发射角度a,偏移距L,中心矩X,以及滤镜的焦距f以后,传感器到物体的距离D就可以通过几何关系计算出来了。

四、实训步骤

1、正确连接PC 机、调试器和嵌入式教学实训平台,连接红外测距模块;

2、打开嵌入式教学实训平台电源;

3、打开工程,编译、链接、进入调试、运行程序,观察lcd屏上显示的测量值,移动机器人,观察lcd屏上测量值的变化(思考测量值的变化的原理)

4、测量传感器的输出特性曲线。

在实验中需要中的函数及功能说明

函数名:unsigned char GetIR_Distance(unsigned char channle)

函数说明:获取红外传感器感测距离

函数名:void ADC_PortInit()

函数说明:ADC引脚初始化

函数名:void ADC_Init()

函数说明:ADC初始化

函数名:unsigned char ADC_DistanceGet(unsigned char AD_port)

函数说明:获取AD_port端口红外传感器的值

函数名:void ADC_ConvertStart()

函数说明:AD转换启动

函数名:void AD_PortSelection(AD_port)

函数说明:AD转换端口配置

函数名:unsigned int ADC_AvrDataGet(unsigned int *AD_data)

函数说明:获取平均值

函数名:double SensorDistanceProcess(double x )

函数说明:ADC值距离转换

#include "Sensor_AD.h"

#define AD_NUM 10

/************************************************************* //! 函数名:unsigned char GetIR_Distance(unsigned char channle)

//! 函数说明:获取红外传感器感测距离

*************************************************************/

unsigned char GetIR_Distance(unsigned char channle)

{

xdata unsigned int ucIRDisV alue = 0;

if(channle<0 || channle>10)

{

return 0;

}

ucIRDisValue = ADC_DistanceGet(channle);

ucIRDisValue = ((int)SensorDistanceProcess(ucIRDisValue));

if(ucIRDisValue>255)

{

ucIRDisValue = 255;

}

return (char)ucIRDisValue;

}

unsigned int GetIRDistance(unsigned char channle)

{

xdata unsigned int ucIRDisV alue = 0;

if(channle<0 || channle>10)

{

return 0;

}

ucIRDisValue = ADC_DistanceGet(channle);

return ucIRDisValue;

}

/************************************************************* //! 函数名:unsigned char GetIRCol(unsigned char AD_Point)

//! 函数说明:获取灰度传感器感测灰度值

*************************************************************/ unsigned int GetIRCol(unsigned char ad_channle)

{

xdata unsigned int ucGreyValue;

if(ad_channle<0 || ad_channle>9)

{

return 0;

}

ucGreyValue = ADC_DistanceGet(ad_channle);

return (ucGreyValue);

}

/************************************************************ //! 函数名:void ADC_PortInit()

//! 函数说明:ADC引脚初始化

//!----------------------------------------------------------

//! 引脚图:

//!----------------------------------------------------------

//! 引脚端口AMX0P

//!

//! AD0--------------P1.7--------------0x07

//! AD1--------------P2.0--------------0x08

//! AD2--------------P2.1--------------0x09

//! AD3--------------P2.2--------------0x0A

//! AD4--------------P2.3--------------0x0B

//! AD5--------------P2.4--------------0x0C

//! AD6--------------P2.5--------------0x0D

//! AD7--------------P2.6--------------0x0E

//! AD8--------------P2.7--------------0x0F

//! AD9--------------P3.0--------------0x10

*************************************************************/ void ADC_PortInit()

{

unsigned char SFRPAGE_save = SFRPAGE;

SFRPAGE = CONFIG_PAGE;

//当有语音的时候,P1口不能AD初始化

P1MDIN &= ~0x80; //P1.7模拟输入

P1SKIP |= 0x80; //交叉开关跳过模拟引脚P2MDIN = 0x00; //P2模拟输入

P2SKIP = 0xFF; //交叉开关跳过模拟引脚

//P3MDIN &= ~0x01; //P3.0模拟输入

//P3SKIP |= 0x01; //交叉开关跳过模拟引脚XBR1 = 0x40; //交叉开关使能

SFRPAGE = SFRPAGE_save;

}

/*************************************************************

//! 函数名:void ADC_Init()

//! 函数说明:ADC初始化

*************************************************************/

void ADC_Init()

{

unsigned char SFRPAGE_save = SFRPAGE;

ADC_PortInit();

SFRPAGE = CONFIG_PAGE;

ADC0CN = 0xC0; //跟踪模式,开启转换

ADC0CF = (SYSCLOCK/3000000 - 1) << 3;

ADC0CF &= ~0x04; //右端对齐

EIE1 &= ~0x08; //禁止ADC中断

//AD0EN = 1;

REF0CN = 0x08;

SFRPAGE = SFRPAGE_save;

}

/*************************************************************

//! 函数名:unsigned char ADC_DistanceGet(unsigned char AD_port)

//! 函数说明:获取AD_port端口红外传感器的值

*************************************************************/

unsigned int ADC_DistanceGet(unsigned char AD_port)

{

xdata unsigned char AD_counter=0;

xdata unsigned char i = 0;

xdata unsigned char adc0_h,adc0_l;

xdata unsigned int ad_test;

xdata unsigned int ADC_DataStore[10] = {0,0,0,0,0,0,0,0,0,0};

if(AD_port>0x0A)

{

return 0xFF;

}

AD_PortSelection(AD_port);

ADC_ConvertStart();

for(AD_counter=0;AD_counter<10;AD_counter++)

{

while(!AD0INT);

adc0_h = ADC0H;

adc0_h &= 0x03;

adc0_l = ADC0L;

ADC_DataStore[AD_counter] = ((unsigned int)(adc0_h)<<8) + (unsigned int)adc0_l;

//ADC_DataStore[AD_counter] = (unsigned int)(adc0_l);

AD0INT = 0;

ADC_ConvertStart();

i++;

}

//ADC_FlagClear();

//ADC_DataStore[0] = ADC_AvrDataGet(ADC_DataStore);

//return SensorData[AD_port][0];

ad_test = ADC_AvrDataGet(ADC_DataStore);

//ad_test++;

//return (ADC_AvrDataGet(ADC_DataStore));

return(ad_test);

}

/************************************************************* //! 函数名:void ADC_ConvertStart()

//! 函数说明:AD转换启动

*************************************************************/ void ADC_ConvertStart()

{

unsigned char SFRPAGE_save = SFRPAGE;

SFRPAGE = CONFIG_PAGE;

AD0EN = 1;

//EA = 0;

AD0INT = 0;

AD0BUSY = 1;

SFRPAGE = SFRPAGE_save;

}

/************************************************************* //! 函数名:void AD_PortSelection(AD_port)

//! 函数说明:AD转换端口配置

*************************************************************/ void AD_PortSelection(unsigned char port_unm)

{

unsigned char SFRPAGE_save = SFRPAGE;

SFRPAGE = CONFIG_PAGE;

switch(port_unm)

{

case 0x01: AMX0P = 0x07; break;

case 0x02: AMX0P = 0x08; break;

case 0x03: AMX0P = 0x09; break;

case 0x04: AMX0P = 0x0A; break;

case 0x05: AMX0P = 0x0B; break;

case 0x06: AMX0P = 0x0C; break;

case 0x07: AMX0P = 0x0D; break;

case 0x08: AMX0P = 0x0E; break;

case 0x09: AMX0P = 0x0F; break;

case 0x0A: AMX0P = 0x10; break;

default: break;

}

AMX0N = 0x1F; //负输入端选择VDD

SFRPAGE = SFRPAGE_save;

}

/************************************************************* //! 函数名:unsigned int ADC_AvrDataGet(unsigned int *AD_data)

//! 函数说明:获取平均值

*************************************************************/ unsigned int ADC_AvrDataGet(unsigned int *AD_data)

{

xdata unsigned int ucAD_avragy,k;

xdata unsigned int *uiAD_data = AD_data;

xdata unsigned char i,j;

xdata unsigned int AD_Array[10];

for(i=0;i<10;i++)

{

AD_Array[i] = AD_data[i];

}

for(i=0;i<10;i++)

for(j=0;j<10-i;j++)

{

if(AD_Array[j]>AD_Array[j+1])

{

k = AD_Array[j];

AD_Array[j] = AD_Array[j+1];

AD_Array[j+1] = k;

}

}

ucAD_avragy = AD_Array[3] + AD_Array[4] + AD_Array[5];

return ucAD_avragy/3;

}

/************************************************************* //! 函数名:void ADC0_ISR (void) interrupt 10

//! 函数说明:ADC中断函数

*************************************************************/ /*void ADC0_ISR (void) interrupt 10

{

}*/

/************************************************************* //! 函数名:double SensorDistanceProcess(double x )

//! 函数说明:ADC值距离转换

*************************************************************/ double SensorDistanceProcess(double x )

{

xdata double result;

static double final_result;

result = pow(x, -1.320888871);

final_result = result * 59599.430602019;

return final_result;

}

/************************************************************* //! 文件结束

红外避障小车设计说明

红外避障小车

前言 --------------------------------------------------- 随着生产自动化的发展需要,机器人已经越来越广泛地应用到生产自动化上,随着科学技术的发展,机器人的传感器种类也越来越多,其中红外传感器已经成为自动行走和驾驶的重要部件。 红外的典型应用领域为自主式智能导航系统,机器人要实现自动避障功能就必须要感知障碍物,感知障碍物相当给机器人一个视觉功能。智能避障是基于红外传感系统,采用红外传感器实现前方障碍物检测,并判断障碍物远近。 由于时间和水平有限,我们暂选最基本的避障功能作为此次设计的目标。 本设计通过小车这个载体再结合由AT89S51为核心的控制板可以达到其基本功能,再辅加由漫反射式光电开关组成的避障电路、555组成的转速控制电路、电源电路、差分驱动电路就可以完善整个设计。

目录 前言------------------------------------------------------------------------------1 目录------------------------------------------------------------------------------2 摘要------------------------------------------------------------------------------3 功能概述------------------------------------------------------------------------3硬件设计------------------------------------------------------------------------3 避障电路------------------------------------------------------------------------4单片机电路---------------------------------------------------------------------7

红外避障小车讲解

目的: 本毕业设计是红外蔽障小车的设计,通过设计使学生系统的熟悉和掌握单片机控制系统设计方面的内容体系、开发流程和程序设计,培养学生具有综合运用所学的理论知识去开拓创新及解决实际问题的能力。培养学生掌握设计题的思想和方法,树立严肃认真的工作作风、培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。同时是为了掌握电路设计的方法和技巧。如何将学习到的理论知识运用到实际当中去,怎样能够活学活用,深入的了解电子元器件的使用方法,了解各种元器件的基本用途和方法,能够灵活敏捷的判断电路中出现的故障,学会独立设计电路,积累更多的设计经验,加强焊接能力和技巧,完成基本的要求。并能完美的完成这次实训。 目录 一、任务书...............................P1 二、引言..............................P2 二、要求与发挥...........................P4 三、设计摘要.............................P6 四、模块方案比较.......................P7 1.避障模块 2.驱动模块

3.控制模块 五、程序设计.........................P9 1.程序流程图 2.程序编写 六、工作原理.........................P13 七、结论............................P13 八、参考文献........................P14 九、毕业设计(论文)成绩评定表.....P15 任务: 利用单片机、红外实现避障,要求具有下述功能: 1.小车前进可以避开(前、左、右)20cm的障碍物; 2.实现下车前进时,不碰障碍物; 3.具有声音播报功能。 引言 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人

避障机器人设计报告

开放性实验报告 ——避障机器人设计 系别:智能科学与技术 姓名:唐继鹏 姚武浩 姜飞鹏 郑光旭 指导老师:袁立行、王曙光、亢红波时间:2011.9.16——2012.4.28

目录 1 系统功能介绍 (1) 2 设计任务与要求 (1) 3 系统硬件设计 (1) 3.1系统总体设计框图 (1) 3.2寻线模块(ST188) (2) 3.3电机控制模块 (3) 3.4单片机最小模块 (4) 3.5数码管显示模块 (6) 4 系统软件实现 (7) 4.1 设计思路 (7) 4.2 软件程序流程图 (8) 4.3程序代码见附录Ⅰ (8) 5 调试结果 (8) 6 实验总结 (9) 附录Ι (10) 附录Ⅱ (18) 附录Ⅲ (19)

1 系统功能介绍 本设计以单片机作为控制核心,电路分为最小系统模块,黑线检测模块,电机驱动模块,数码管显示模块。黑线检测模块采用反射式关电传感器st188,并且接相应的三级管来规划传感器的输出,当输出高电平为正常情况。电机为伺服电机,给定脉宽为1.5ms的信号电机保持不动,给定脉宽为1.7ms的信号电机正向转到给定脉宽为1.3ms的信号电机逆向转到。数码管动态显示机器人行进过程所用的时间。 2 设计任务与要求 ◆熟悉51系列单片机的原理及应用。 ◆掌握ST188设计电路和传感器的使用。 ◆掌握直流电机的驱动方法。 ◆掌握动态数码管显示的方法。 ◆设计机器人的硬件电路及软件程序。 ◆制作机器人的硬件电路,并调试软件,最后实现机器人的自动测量黑线。 3 系统硬件设计 3.1系统总体设计框图 该系统中51单片机作为主微控芯片,其外多个I/O口作为通用I/O口接受传感器的信号并输出相应的控制信号。 系统硬件总体设计框图如下图3.1-1所示。

STEAM课例《避障机器人》教学反思

STEAM课例《避障机器人》教学反思 从兴趣入手,充分调动学生学习的主动性和积极性,在课堂学习中,学生的注意力高度集中,思维异常活跃,求知欲异常强烈,创造思维活动得以启动运行。《避障机器人》是让学生通过学习,能够正确地编写“机器人避障”的程序,能够为机器人设置障碍物环境,让机器人顺利地在此环境自由地行走。为了让学生对机器人编程学习有一个好的开始,花了不少心思对本课内容进行了阅读、理解、推敲,最后从以下几方面着手进行教学设计: 一、趣味导入,动静结合,激发学生的直接学习兴趣。 通过观察体验机器人避障功能,学生开始对“超声波传感器”(在学习之前学生还不知道这个部件就是红外)产生了求知欲,它到底能让机器人干什么?这个时候如果切入到机器人的学习,恐怕学生会大失所望。于是我用心地拍了一段视频,学生在观看视频中进一步明白了机器人也要装眼睛才可以看见物体,从而自然地引出课题,也调动学生的学习情绪。 二、启发思维,张扬个性,提高学生的创新意识和创新能力。 机器人避障的流程图编写是本节课的重点。学生通过自主学习基本上可以完成框架的搭建,甚至有些学生还可以正确地设置条件判断、电机的参数,但是我们要求学生学习程序编写真正目的不仅是会搭框架,还要理解每个模块的作用,整个流程图的设计思路,也就是

常言道“知其然,还知其所以然”,从而让学生的思维在这个过程中得到训练。 三、循循善诱,言简意赅,让学生的兴趣在思考中升华。 机器人从无眼睛到装上了眼睛,从四处撞墙到巧妙地避开自由行走,贯穿整个课堂。本节课的教学引导没有过多的教师语言,只是在环节衍接处适当地以视频方式展示情境,通过设置问题启发学生观察思考体验,每一个问题都与下一个学习紧密相联,学生的兴趣从开始被吸引,到最后升华。 但是在下载到机器人的时候,机器人中的超声波传感器的两个探测头的距离和位置是很难把握的,有时上传程序的时候就会失败,这就需要我们在不断的实验中把握尺度,总结规律,也需要让学生不断的进行调试,让他们能自己总结出规律,加深记忆。

红外避障传感器简介

红外避障传感器介绍(反射型)日期:2006-5-16 14:05:14 来源: 点击: 1572 添加到收藏夹 实图: 技术指标: 主体外形尺寸:23×15.3×15.1mm(长×宽×高) 重量:7g 额定电压:直流电源5.0V 检测范围(反射面为白色木板):1~ 40cm(挡板为白色时检测距离在40cm时达到临界点,超过此数值后检测效果变差) 调节方式:多圈电阻式调节,逆时针方向旋转功率变小,顺时针方向旋转功率变大 返回值:有信号(高电平)返回值为“1”,无信号(低电平)返回值为“0” 状态指示方式:检测到信号指示灯亮红灯,无信号不亮 安装方式:单颗?3螺丝安装

线长:17.4cm±0.2cm(有效距离) 连接方式:单条3芯排线,2510型3脚插头 有效角度:30 左右 原理与功能 红外避障传感器(以下简称红外)。红外具有一对红外信号发射与接收二极管,发射管发射一定频率的红外信号,接收管接收这种频率的红外信号,当红外的检测方向遇到障碍物(反射面)时,红外信号反射回来被接收管接 应用介绍: 红外是通过发射端发射红外信号,接收端接收由障碍物反射回来的红外信号,来判断是否有障碍物。

项目应用 红外避障传感器在很多项目中都有使用。 在初中灭火、高中搜救项目中,机器人可以通过红外避障传感器走迷宫; 在轨迹项目中,机器人可以通过黑、白色对红外线的反射和吸收值不同而用红外避障传感器来识别黑色的轨迹线。 注意事项: 1、红外是数字传感器,红外接收管只有在接收到一定强度的红外信号时才会有数值的变化。障碍物(反射面)太小时,红外会检测不到;障碍物(反射面)颜色为黑色或深色时,会被吸收大部分的红外信号,而只反射回一小部分,导致红外接收管接收到的红外信号强度不够,不足以产生有障碍物(反射面)的信号。 2、红外在暖光源的照射下(如白炽灯、太阳光)检测受到很大影响,它会受到所有相近红外信号的干扰,白炽灯和太阳光中含有红外信号成分较多,对红外的影响也较大。红外相互之间也存在干扰,因而在使用时需要注意。 3、红外采用的是发射、接收原理,不同反射面对红外信号的吸收与散射,将影响其检测范围,根据测试红色的反射面效果最佳,白色其次,黑色最差;同时反射面的粗糙度和平整度也会影响检测的效果。

红外寻迹避障电路总结讲解

光电传感器 一、反射式光电传感器简介 反射式光电传感器在机器人中有着广泛的应用。可以用来检测地面明暗和颜色的变化,也可以探测有无接近的物体。这种光电传感器的基本原理是,自带一个光源和一个光接收装置,光源发出的光经过待测物体的反射被光敏元件接收,再经过相关电路的处理得到所需要的信息。相应的,光谱范围,灵敏度,抗干扰能力,输出特性等都是反射式光电传感器的重要参数。 二、简单比较型光电传感器 在上左图中,JP1是光电管,接收光强在上面转换成电流,在R上成为电压信号,与RA1的标准值进行比较,从LM339输出逻辑电平给单片机。 R越大,光电流产生的电压变化越大,传感器也就越灵敏。但是若R过大,当光比较强的时候,R上的电压会达到VCC而不再变化,这就是所谓的饱和。在这种比较型的传感器电路中,饱和只会使强光与强光难以分辨,但仍可以区分强光和弱光,它并不是影响比较结果的重要因素。但在后面介绍的几种调制型传感器中,饱和是必须避免的,因为它会掩盖交流分量。高灵敏度和饱和是一对矛盾,在后面提到了一些相关的解决方案。 LM339是开路输出的,10K的电阻是为了使输出电压正确。如果后面是51之类开路输入的单片机,这个电阻可以省略。 假如把光敏管放在下边,电阻放在上边。这样当光线较暗时比较器输入电压接近VCC,超过比较器LM339能够正常工作的最高输入电压Vm,比较器不能正常工作(LM339的共模输入电压最低能低到0,但是最高达不到VCC),因此灵敏度做不高。为了使比较器正常工作,电阻值应使得光照时比较器输入电压Vi大幅下降,满足VCC-I*RVCC-Vm。这样,光再强一点,I*R接近VCC,Vi 就会降到0附近,光敏管就会饱和,降低了区分颜色的可靠性。 而现在把光敏管放在上边,电阻放在下边,就可以解决这个问题:这时Vi=I*R,使用较小的R可以保证Vi

智能小车循迹,避障,红外遥控C语言知识学习代码

//智能小车避障、循迹、红外遥控C语言代码 //实现功能有超声波避障,红外遥控智能小车,红外传感器实现小车自动循迹,1602显示小车的工作状态,另有三个独立按键分别控制三种状态的转换 //注:每个小车的引脚配置都不一样,要注意引脚的配置,但是我的代码注释比较多,看起来比较容易一点 #include #include #include"lcd.h" #include #define uchar unsigned char #define uint unsigned int uchar ENCHAR_PuZh1[8]=" run ";//1602显示数组 uchar ENCHAR_PuZh2[8]=" back "; uchar ENCHAR_PuZh3[8]=" stop "; uchar ENCHAR_PuZh4[8]=" left "; uchar ENCHAR_PuZh5[8]=" right "; uchar ENCHAR_PuZh6[8]=" xunji "; uchar ENCHAR_PuZh7[8]=" bizhang"; uchar ENCHAR_PuZh8[8]=" yaokong"; #define HW P2 //红外传感器引脚配置P2k口 #define PWM P1 /* L298N管脚定义*/ /******************************

超声波引脚控制 ******************************/ sbit ECHO=P3^2; //超声波接收引脚定义兼红外遥控按键state_total =2 sbit TRIG=P3^3; //超声波发送引脚定义 /////红外控制引脚配置 sbit KEY2=P3^7; //红外接收器数据线兼循迹按键state_total= 0 sbit KEY1=P3^4; //独立按键p3.4控制自动避障state_total=1 uchar state_total=3,state_2=0;//总状态控制全局变量0为自动循迹模块1为自动避障模块2为红外遥控 uchar state_1,DAT; //红外扫描标志位 uchar time_1=0,time_2=0;//定时器1中断全局变量time_ 2控制PWM脉冲计数time_1控制转弯延时计数也做延时一次0.005s uchar time,timeH,timeL,state=0;//超声波测量缓冲变量state为超声波状态检测控制全局变量 uint count=0; //1602显示计数 /**************************/ unsigned char IRCOM[7]; //红外接收头接收数据缓存IRCOM[2]存放的为数据unsigned char Number,distance[4],date_data[8]={0,0,0,0,0,0,0,0}; //红外接收缓存变量 /***********/ void IRdelay(char x); //x*0.14MS 红外头专用delay void run();

小车自动避障与路径规划

第3章系统总体结构及工作原理 该系统主要以超声波测距为基本测距原理,并在相应的硬件和软件的支持下,达到机器人避障的效果。 3.1机器人总体硬件设计 3.1.1传感器的分布要求 为了全方位检测障物的分布状况,并及时为机器人系统提供全面的数据,可将所需的八个传感器均匀排列在机器人周围,相邻每对传感器互成45度角。为了避免相互干扰,八个传感器以程序运行周期为周期,进行循环测距。传感器排列示意图如下: 图3.1.1 传感器分布图

图3.1.2 硬件设计总体框架图 上图为支持机器人运行实用程序的硬件部分的总体设计框架图,由负责相关任务的同学提供。在超声波信号输入单片机以后,由存储在单片机中的主程序调用避障子程序,根据输入信号执行避障指令,并使相关数据返回主程序,转而提供给电机和LED显示器的驱动程序使用,最后,由电机执行转向指令,结果则显示在LED显示器上。

图3.1.3 软件总体框架图 由上图可知,本文作者负责的超声波避障程序为软件总体设计中的子程序部分。在主程序运行过程中,若调用超声波避障程序,机器人在自行轨迹规划后,将程序处理所得数据送给电机处理成立程序,控制电机动作。具体的避障程序设计将在第4章进行。 3.2超声波测距原理 测距原理:超声波是指频率高于20KHz的机械波。为了以超声波作为检测

手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。[8]超声波测距的原理一般采用渡越时间法TOF(time of flight)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离,即:[8] D=ct/2 其中D为传感器与障碍物之间的距离,以m计,c为超声波速度,这里以340m/s计,t为超声波从发送到接收的总时间,以s计。据此原理可以用超声波传感器测得的距离为避障程序提供所需的数据。[8] 第4章轨迹规划算法的实现方案 4.1轨迹规划算法的层次化设计 根据上述材料分析,可以将机器人轨迹规划算法设计分为基础控制层、行为控制层和坐标计算层,三个层次进行。 4.1.1基础控制层设计 基础控制层可定义为基本行为层,这层算法的任务是寻找目标点,并确保机器人可以顺利到达指定目标位。在确定目的地位置的情况下,为了达到上述目的,计算机必须对机器人的方位进行时实计算。应用人工势场法原理,可以将目标点设为引力极,牵引机器人运动。对此动作建立相应的模型,可以使用建立平面坐标作为虚拟势场的方法来给机器人定义方位,将机器人关于目标点的时实偏角作为虚拟引力方向,以确定机器人下一步所需转过的角度,并时实检测,是否已到达目的地,若已到达,则可认为虚拟引力此刻为0,并发出信号控制程序终止运行总体程序。 由此,可确定基础控制层所需的各参数: (1)机器人的时实坐标x, y值,由专门的坐标计算层提供,为了提高精 确度,可以采用厘米为单位制。 (2)机器人的速度v,测量后设为定值使用。 (3)周期T,直接设置为定值使用。 (4)偏转角de,可通过机器人与横坐标之间的夹角pe,减去机器人到目 标点连线与横坐标的夹角E得到。

红外避障传感器

二.红外避障传感器避障传感器主要包括:超声波避障传感器,红外避障传感器,激光避障传感器等等。1.可以希望在相当短的时间内获得较多的红外传感器测量值以及测距范考虑到发射光线是光,30cm以内,所以我们选择红外避障传感器安装在机器人上。围较近,大致为 2.红外避障传感器的优点: 1)环境适应性好,在夜间和恶劣气象条件下的工作能力优于可见光;(2)被动式工作,隐蔽性好,不易被干扰;()靠目标和背景之间各部分的温度和发射率形成的红外辐射差进行探测,因而识别伪装(3 目标的能力优于可见光;)红外系统的体积小、质量轻、功耗低;(4 )不受电磁波的干扰、非噪声源、可实现非接触性测量。(5 红外避障传感器的不足: 3. 周围的光线都能导方向、由于传感器测量光的差异,其受环境的影响非常大,物体的颜色、致较大的测量误差。工作原理: 4. )红外避障传感器:(1接收管接收这发射管发射一定频率的红外信号,具有一对红外信号发射与接收二极管,红外信号反射回来被接当传感器的检测方向遇到障碍物(反射面)时,种频率的红外信号,机器人即可利用红外波经过处理之后,通过数字传感器接口返回到机器人主机,收管接收,的返回信号来识别周围环境的变化。光学系统按结构不同可分为透射式红外线传感器包括光学系统、检测元件和转换电路。热敏元件应用最和反射式两类。检测元件按工作原理可分为热敏检测元件和光电检测元件。通过转换电路变成热敏电阻受到红外线辐射时温度升高,电阻发生变化,多的是热敏电阻。电信号输出。)热敏检测元件(2 热阻效应:物质的电阻率随温度变化的物理现象叫热阻效应。金属热电阻的电阻值和温度一般可以用以下的近似关系式表示,即)t0]Rt=Rt0[1+α(t-为温度系α(通常t0=0℃)时对应电阻值;Rt0Rt式中,为温度t时的阻值;为温度t0 数。半导体热敏电阻的阻值和温度关系为Rt=AeB/t 取决于半导体材料的结构的常数。B、A时的阻值;t为温度为Rt式中 (3)光电检测元件 光电效应:在高于某特定频率的电磁波照射下,某些物质内部的电子会被光子激发出来而形成电流,即光生电,分为外光电效应和内光电效应。 光电导效应:在光线作用下,电子吸收光子能量从键合状态过渡到自由状态,而引起材料电导率的变化。当光照射到光电导体上时,若这个光电导体为本征半导体材料,且光辐射能量又足够强,光电材料价带上的电子将被激发到导带上去,使光导体的电导率变大。基于这种效应的光电器件有光敏电阻。

超声波 红外避障

移动机器人的多传感器测距系统设计 一、引言 在自主移动机器人的实时避障和路径规划过程中,机器人须依赖于外部环境信息的获取,感知障碍物的存在,测量障碍物的距离。目前,机器人避障和测距传感器有红外、超声波、激光及视觉传感器。激光传感器和视觉传感器价格贵,对控制器的要求较高,因而,在移动机器人系统中多采用红外及超声波传感器。 多数系统采用单一传感器进行信息采集,但超声波传感器因为存在测量盲区的问题,测距范围一般在30~300cm之间;而红外测距传感器的探测距离较短,一般在几十厘米之内,它可以在一定程度上弥补超声波传感器近距离无法测量的缺点。因而,本系统采用多路红外和超声波传感器进行距离信息的测量和采集。 二、测距原理及方法 (一)超声波传感器 超声波是指谐振频率高于20 Hz的声波,频率越高反射能力越强。超声波传感器价格低廉,其性能几乎不受光线、粉尘、烟雾、电磁干扰的影响,并且,金属、木材、混凝土、玻璃、橡胶和纸等可以反射近乎100%的超声波,因而,可以用来探测物体。超声波测距的方法为回声探测法,发射换能器不断发射声脉冲,声波遇到障碍物后反射回来被接收换能器接收,根据声速及时间差计算出障碍物的距离。距离与声速、时间的关系表示为 式中:s为与障碍物间的距离,m; c为声速,m/s;t为第一个回波到达的时刻与发射脉冲时刻的时间差,s。 c与温度有关,空气中声速与温度的关系可表示为

式中c为声速,m/s;θ为环境温度,℃。 (二)提高超声波测距精度的方法 1.采用合适的频率和波长:使用超声波传感器测距,频率取得太低;外界杂音干扰较多;频率取得太高,在传播过程中衰减较大。并且,超声波传感器在测量过程中容易产生盲区,接收端易接收到泄漏波。改善这一缺点,须减少发射波串的长度,增高发射波频率。但发射波串长度过短会使得发射换能器不能被激振或激振达不到最大值;发射波频率过高则衰减大,作用距离下降、有试验表明:使用40 kHz的超声波,发射脉冲群含有10-20个脉冲,具有较好的传播性能。 2.提高系统的计时精度也可提高超声波的测距精度,计时器的计数频率越高,则由于时间的量化误差所引起的测距误差就越小。 3.对系统电路的时间延迟进行补偿可以减小测距误差,提高测距精度。延迟时间 式中△t为延迟时间,s;s1,s2为2个已知的测量距离,m;t1,t2为对应的测量时间,s。 (三)红外避障传感器 红外线是介于可见光和微波之间的一种电磁波,因此,它不仅具有可见光直线传播、反射、折射等特性,还具有微波的某些特性,如较强的穿透能力和能贯穿某些不透明物质等。红外传感器包括红外发射器件和红外接收器件。自然界的所有物体只要温度高于绝对零度都会辐射红外线,因而,红外传感器须具有更强的发射和接收能力。 红外传感器的的测距基本原理为发光管发出红外光,光敏接收管接收前方物体反射光,据此判断前方是否有障碍物。根据发射光的强弱可以判断物体的距离,它的原理是接收管接收的光强随反射物体的距离而变化的,距离近则反射光强,距离远则反射光弱。 目前,使用较多的一种传感器-红外光电开关,它的发射频率一般为38 kHz左右,探测距离一般比较短,通常被用作近距离障碍目标的识别。本系统采用的即为此种传感器。 (四)红外测距的缺陷

红外避障传感器

红外避障传感器 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

二.红外避障传感器 1.避障传感器主要包括:超声波避障传感器,红外避障传感器,激光避障传感器等等。考虑到发射光线是光,可以希望在相当短的时间内获得较多的红外传感器测量值以及测距范围较近,大致为30cm以内,所以我们选择红外避障传感器安装在机器人上。 2.红外避障传感器的优点: (1)环境适应性好,在夜间和恶劣气象条件下的工作能力优于可见光; (2)被动式工作,隐蔽性好,不易被干扰; (3)靠目标和背景之间各部分的温度和发射率形成的红外辐射差进行探测,因而识别伪装目标的能力优于可见光; (4)红外系统的体积小、质量轻、功耗低; (5)不受电磁波的干扰、非噪声源、可实现非接触性测量。 3. 红外避障传感器的不足: 由于传感器测量光的差异,其受环境的影响非常大,物体的颜色、方向、周围的光线都能导致较大的测量误差。 4.工作原理: (1)红外避障传感器: 具有一对红外信号发射与接收二极管,发射管发射一定频率的红外信号,接收管接收这种频率的红外信号,当传感器的检测方向遇到障碍物(反射面)时,红外信号反射回来被接收管接收,经过处理之后,通过数字传感器接口返回到机器人主机,机器人即可利用红外波的返回信号来识别周围环境的变化。

红外线传感器包括光学系统、检测元件和转换电路。光学系统按结构不同可分为透射式和反射式两类。检测元件按工作原理可分为热敏检测元件和光电检测元件。热敏元件应用最多的是热敏电阻。热敏电阻受到红外线辐射时温度升高,电阻发生变化,通过转换电路变成电信号输出。 (2)热敏检测元件 热阻效应:物质的电阻率随温度变化的物理现象叫热阻效应。 金属热电阻的电阻值和温度一般可以用以下的近似关系式表示,即 Rt=Rt0[1+α(t-t0)] 式中,Rt为温度t时的阻值;Rt0为温度t0(通常t0=0℃)时对应电阻值;α为温度系数。 半导体热敏电阻的阻值和温度关系为 Rt=AeB/t 式中Rt为温度为t时的阻值;A、B取决于半导体材料的结构的常数。 (3)光电检测元件 光电效应:在高于某特定频率的电磁波照射下,某些物质内部的电子会被光子激发出来而形成电流,即光生电,分为外光电效应和内光电效应。 光电导效应:在光线作用下,电子吸收光子能量从键合状态过渡到自由状态,而引起材料电导率的变化。当光照射到光电导体上时,若这个光电导体为本征半导体材料,且光辐射能量又足够强,光电材料价带上的电子将被激发到导带上去,使光导体的电导率变大。基于这种效应的光电器件有光敏电阻。 (4)红外发射二极管的选择

《智能避障车》教学设计

《智能避障车》教学设计 一、教材分析 本节课是基于教科版《信息技术基础》第三章第二节《信息的编程加工》进行课程内容开发,以mbot教育机器人为载体,利用基于scratch的编程工具Mblock进行机器人编程教学。本节内容在学习程序设计中,加入机器人硬件,通过实现智能避障车的过程,介绍机器人程序设计的方法。 二、学情分析 高一的学生思维活跃,已经有了一定的逻辑思维能力和自主探究能力,具备了本节课学习的能力要求。虽然通过前一节课,学习了Mblock中的编程方法,但大多数学生还没形成程序设计思维,对于实际操作机器人和机器人编程来说,也还比较陌生。因此,课堂教学中要注意降低起点,逐步引导。 三、教学目标 1、知识与技能: 知道程序的三种基本结构,能在程序设计中熟练运用选择结构和循环结构。 2、过程与方法: 能够将解决实际问题的方法转化为程序设计的流程图,并在程序中加以实现。 3、情感态度与价值观: 提高科技素养,激发创新精神、探究精神和团结协作精神。 四、教学重难点 教学重点:选择结构和循环结构应用、机器人程序设计方法。 教学难点:机器人程序设计方法。 五、教学方法 本课的设计贯彻“任务驱动”的教学思想,把学习的主动权交给学生,让学生置身于自主探究、解决问题的氛围中。使用实物演示和启发式教学法引导学生分析并画出智能避障车流程图;使用小组竞赛的方法组织教学,以提高学生自主探究的积极性和效率;对学生探究过程中遇到的普遍性问题,通过讲授法统一指导。

六、教学媒体 1、mbot教育机器人 2、Mblock编程工具 3、知新网络教学评价系统 4、信息技术学习平台 5、多媒体机房 七、教学过程

红外避障小车设计报告

红外避障小车 学校: .senxiao. 学院:电子信息学院 : .lovebjb. 班级: 07级电子二班 前言

--------------------------------------------------- 随着生产自动化的发展需要,机器人已经越来越广泛地应用到生产自动化上,随着科学技术的发展,机器人的传感器种类也越来越多,其中红外传感器已经成为自动行走和驾驶的重要部件。 红外的典型应用领域为自主式智能导航系统,机器人要实现自动避障功能就必须要感知障碍物,感知障碍物相当给机器人一个视觉功能。智能避障是基于红外传感系统,采用红外传感器实现前方障碍物检测,并判断障碍物远近。 由于时间和水平有限,我们暂选最基本的避障功能作为此次设计的目标。 本设计通过小车这个载体再结合由AT89S51为核心的控制板可以达到其基本功能,再辅加由漫反射式光电开关组成的避障电路、555组成的转速控制电路、电源电路、差分驱动电路就可以完善整个设计。

目录 前言------------------------------------------------------------------------------1 目录------------------------------------------------------------------------------2 摘要------------------------------------------------------------------------------3 功能概述------------------------------------------------------------------------3 硬件设计------------------------------------------------------------------------3 避障电路------------------------------------------------------------------------4 单片机电路---------------------------------------------------------------------7

红外测距传感器的工作原理及使用

光电检测技术与应用 论文 题目:红外测距传感器的工作原理及使用 院系:机电工程学院 班级:测控xxxx 完成日期:2017/5/6 小组:第x组 小组成员:xxxxxxxxxx 红外测距传感器的工作原理及使用 摘要: 利用光的反射性质,将光学系统与电路系统相结合可以制作避障传感器,通过单片机的控制,可以完成智能车在运行过程中,对障碍物的处理。避障传感器基本原理:利用物体的反射性质。在一定范围内,如果没有障碍物,发射出去的红外线,因为传播距离越远而逐渐减弱,最后消失。如果有障碍物,红外线遇到障碍物,被反射到达传感器接收头。传感器检测到这一信号,就可以确认正前方有障碍物,并送给单片机,单片机进行一系列的处理分析,协调车轮或者舵机工作,完成躲避障碍物的动作。 关键字:光电检测技术、智能车、测距、红外测距传感器、单片机 一、引言 光电检测作为光学与电子学相结合而产生的一门新兴检测技术,主要包括光信息获取、光电变换、光信息测量以及测量信息的智能化处理等,具有精度高、速度快、距离远、容量大、非接触、寿命长、易于自动化和智能化等优点,在国民经济各行业中得到了迅猛的发展和广泛的应用,如光扫描、光跟踪测量,光纤测量,激光测量,红外测量,图像测量,微光、弱光测量等,是当前最主要和最具有潜力的光电信息技术。

二、光电检测技术的概念 光电检测技术是光学与电子学相结合而产生的一门新兴检测技术。它主要利用电子技术对光学信号进行检测,并进一步传递、储存、控制、计算和显示。光电检测技术从原理上讲可以检测一切能够影响光量和光特性的非电量。它可通过光学系统把待检测的非电量信息变换成为便于接受的光学信息,然后用光电探测器件将光学信息量变换成电量,并进一步经过电路放大、处理,以达到电信号输出的目的。然后采用电子学、信息论、计算机及物理学等方法分析噪声产生的原因和规律,以便于进行相应的电路改进,更好地研究被噪声淹没的微弱有用信号的特点与相关性,从而了解非电量的状态。微弱信号检测的目的是从强噪声中提取有用信号,同时提高测系统输出信号的信噪比。 光电检测技术的系统机构比较简单,分为信号的处理器,受光器,光源。在实际检测过程中,受光器在获得感知信号后,就会被反映为不同形状、颜色的信号,同时根据这些器件所处在的不同位置,就能够将他分为反射型与透过型的两种比较的模式。光电检测的媒介光应当是自然的光,例如白炽灯或者萤光灯。特别是随着这些技术的发展,光电技术也取得的非常好发展。由于投光器在发出光后,会以不一样的方式触摸这些被检测物中,直到照射到检测系统中的受光器中,同时受光器在此刺激下,会产生一定量的电流,这就是我们常说的光敏性的原件,实际生活中应用比较广泛的有三极管、二极管。 三、光电检测技术的应用 智能车方面的应用、家庭扫地机器人方面的应用:利用光的反射性质,将光学系统与电路系统相结合可以制作避障传感器,通过单片机的控制,可以完成智能车在运行过程中,对障碍物的处理。避障传感器基本原理:利用物体的反射性质。在一定范围内,如果没有障碍物,发射出去的红外线,因为传播距离越远而逐渐减弱,最后消失。如果有障碍物,红外线遇到障碍物,被反射到达传感器接收头。传感器检测到这一信号,就可以确认正前方有障碍物,并送给单片机,单片机进行一系列的处理分析,协调车轮或者舵机工作,完成躲避障碍物的动作。 四、常用光电检测器件:红外测距传感器 原理:其输出为电压数值,通过公式L?=?(6762/(9-X))-4可计算出小车与障碍物之间的距离。

#红外避障传感器原理图76507

一、实验原理: 避障传感器基本原理,和循迹传感器工作原理基本相同,利用物体的反射性质。在一定范围内,如果没有障碍物,发射出去的红外线,因为传播距离越远而逐渐减弱,最后消失。如果有障碍物,红外线遇到障碍物,被反射到达传感器接收头。传感器检测到这一信号,就可以确认正前方有障碍物,并送给单片机,单片机进行一系列的处理分析,协调小车两轮工作,完成一个漂亮的躲避障碍物动作,传感器原理图如图6。 图6 红外避障传感器原理图 1、把红外避障传感器固定在小车的正前方,接好线。注意:红外传感器的避障距离也是可调,调节滑动变阻器可以调节避障距离。 2、编制程序,实现小车检测到前方有障碍物时,向左转弯,再检测,没有障碍物,继续前进,有障碍物,继续左转弯。

图7 避障传感器与单片机连接图 四、红外避障传感器电路分析: 电路中HEF4011BT是一个4通道2输入与非门。455是晶振,它产生38k的方波,HEF4024BT是7位二进制计数器,38k的方波作为计数器HEF4024BT的时钟输入。HEF4024BT的O2与O3接与非门加一个非门去控制HEF4024BT的复位端。也就是说当HEF4024BT计数到第四位与第三位同时为1时,HEF4024BT就会被清零。同时当HEF4024BT的O3为1时,HEF4011BT的O4为低电平,触发红外发光二极管发送信号。当HEF4024BT的O3为0时,HEF4011BT的O4为高电平,关闭发光二极管,这段时间为4个方波周期。也就实现了38k载波调制的红外。接收头是红外线一体化接收头是集红外接收、放大、滤波和比较器输出的模块。当收到信号时,OUT端输出低电平,LEDR被点亮,指示收到信号,前方有障碍物。没有收到信号,OUT端输出反之。 五、实验源程序: #define uchar unsigned char #define uint unsigned int #define MOTOR_C P0 //P0口作为电机的控制口。 #define SIGNAL P1 //P2口的低两位为循迹传感器输入口。 #define SHELVES 25 //速度总档数。 #define BACK 0xA5 //后退 #define FORWARD 0xC6 //前进 sbit PWM_R = P0^7; //右电机PWM输入口 sbit PWM_L = P0^2; //左电机PWM输入口 void timer_init( void ); //定时器初始化函数。

智能避障机器人设计外文翻译

INTELLIGENT VEHICLE Our society is awash in “machine intelligence” of various kinds.Over the last century, we have witnessed more and more of the “drudgery” of daily living being replaced by devices such as washing machines. One remaining area of both drudgery and danger, however, is the daily act ofdriving automobiles 1.2 million people were killed in traffic crashes in 2002, which was 2.1% of all globaldeaths and the 11th ranked cause of death . If this trend continues, an estimated 8.5 million people will be dying every year in road crashes by 2020. In fact, the U.S. Department of Transportation has estimated the overall societal cost of road crashes annually in the United States at greater than $230 billion. When hundreds or thousands of vehicles are sharing the same roads at the same time, leading to the all too familiar experience of congested traffic. Traffic congestion undermines our quality of life in the same way air pollution undermines public health.Around 1990, road transportation professionals began to apply them to traffic and road management. Thus was born the intelligent transportation system(ITS). Starting in the late 1990s, ITS systems were developed and deployed. In developed countries, travelers today have access to signifi-cant amounts of information about travel conditions, whether they are driving their own vehicle or riding on public transit systems. As the world energy crisis, and the war and the energy consumption of oil -- and are full of energy, in one day, someday it will disappear without a trace. Oil is not in resources. So in oil consumption must be clean before finding a replacement. With the development of science and technology the progress of the society, people invented the electric car. Electric cars will become the most ideal of transportation. In the development of world each aspect is fruitful, especially with the automobile electronic technology and computer and rapid development of the information age. The electronic control technology in the car on a wide range of

红外避障小型车开题报告

开题报告 一、课题名称 红外避障小车 二、选题依据 随着生产自动化的发展需要,机器人已经越来越广泛地应用到生产自动化上,随着科学技术的发展,机器人的传感器种类也越来越多,其中红外传感器已经成为自动行走和驾驶的重要部件。 红外的典型应用领域为自主式智能导航系统,机器人要实现自动避障功能就必须要感知障碍物,感知障碍物相当给机器人一个视觉功能。智能避障是基于红外传感系统,采用红外传感器实现前方障碍物检测,并判断障碍物远近。 由于时间和水平有限,我们暂选最基本的避障功能作为此次设计的目标。 本设计通过小车这个载体再结合由AT89S51为核心的控制板可以达到其基本功能,再辅加由漫反射式光电开关组成的避障电路、555组成的转速控制电路、电源电路、差分驱动电路就可以完善整个设计。 三、设计思想 1.【摘要】:本文提出一种智能避障小车的设计方法,利用红外技术检测障碍物信息,采用AT89S51单片机进行实时控制,实现智能避障,智能小车采用后轮驱动,两轮各用一个直流电机控制,避障用的传感器采用红外漫反射式传感器。

2. 功能概述 智能小车采用前轮驱动,前轮左右两边各用一个电机驱动,分别控制两个轮子的转动从而达到转向的目的,后轮是万向轮,起支撑的作用。将三个红外线光电传感器分别装在车体的左中右,当车的左边的传感器检测到障碍物时,主控芯片控制右轮电机停止左轮转动,车向右方转向,当车的右边传感器检测到障碍物时,主控芯片控制左轮电机停止转动,车向左方转向,当前面有障碍物时规定车右转。于此同时测定速度并显示,在避障小车前进的同时从LCD点阵液晶显示器上显示小车当时速度。在小车左转或右转时在显示器上显示出左或右。 3.硬件设计 如下图所示,是本次设计智能小车的电路框图。以AT89S51为电路的中央处理器,来处理传感器采集来的数据,处理完毕之后以便去控制电机驱动电路来驱动电机。电源部分是为整个电路模块提供电源,以便能正常工作。

相关文档
相关文档 最新文档