红外线测距系统试验方案_第1页
红外线测距系统试验方案_第2页
红外线测距系统试验方案_第3页
红外线测距系统试验方案_第4页
红外线测距系统试验方案_第5页
已阅读5页,还剩15页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

红外线测距系统

试验方案

专业:电子1201

组员

时间:

指导老师:

摘要

红外测距的探测距离较短,一般在几十厘米之内,本文介绍一种基于AT89c

52单片机设计的红外测距仪,可以测量距离,以及计算出被测物体的面积或体

积。首先,在绪论中,介绍了红外线及红外传感器的分类和应用、AT89c52单片

机的应用与说明以及ADC0804芯片的简介。其次,阐述了与红外测距的工作原理

基本结构,对红外测距的放射与接收器件也做了具体说明。再次,介绍了红外测

距的硬件设计和软件设计。在硬件设计中,介绍了红外测距实现的构想,给出红

外测距硬件电路原理图,并说明白红外放射驱动电路、红外接收驱动电路、键盘、

A/D转换电路、LCD显示电路工作原理及AT89c52单片机的管脚安排。在软件设

计中,说明白整个程序流程及各程序设计函数。最终,是对整个设计的结论,说

明白红外测距的可行性。。关键字:红外线单片机ADC0804i

目录

一.红外测距的工作原理与基本结构.................4

1.1红外线放射器件的结构与分类........................4

1.2红外线测距的工作原理..............................5

1.3红外测距系统的基本结构...........................5

二.红外测距的硬件设计............................6

2.1红外测距的实现构想...............................6

2.2系统硬件结构电路图...............................6

2.3各硬件电路设计...................................7

三.红外测距的软件设计...........................9

3.1系统软件结构框图.................................9

3.2误差分析.........................................19

四.试验心得......................................20

参考文献..........................................21

附录..............................................21

红外测距的工作原理与基本结构

1.1红外线放射器件的结构与分类

红外线放射器件是最长用的为红外发光二极管,它与一般发光二极管的结构原

理以及制作工艺基本相同,是只有一个PN结的半导体器件,只是全部的材料不

同,制造红外发光二极管神化钾,加铝钾等,其中应用最多的是神化钾。

红外发光二极管一般采纳环氧树脂,玻璃,塑料等封装,除白色透亮

材料封装外,还可见到用蓝色透亮材料封装的,。红外发光二极管按

发光功率的大小,可分为小功率,中功率,大功参三种。此外,红外发光二极管

除顶面发光型外,还有侧面发光型。小功率管一般采纳全塑封装,也有部分是采

纳陶瓷底座,顶端用玻璃或环氧树脂透镜封装的,中大功率管一般采纳带螺纹金

属底座,以便安装散热片。随着发光功率得提高,相应体积的管子也增大。

红外发光二极管测试方法

用万用表RX1K档测量,正向电阻在30KQ左右,反向电阻在200KQ以上的管

子是好的。反向电阻越大,漏电流越小,质量越好。若反向电阻只有几十KQ,

说明管子质量不好,但可使用。若管子的正向的反向电阻都为无穷大或为零,说

明管子是废品,不能使用;还可以先把红外发光二极管接到电路中,接通电源后

再用手机的摄像头对准红外发光管。可以看到管子发出淡粉色的光,则红外发光

二极管好使。

1.1.2红外光敏二极管原理与分类

我们知道半导体具有光电效应,即用光照半导体,可使半导体的电阻率发生变化。

采用半导体的光电效应可以制成光电二极管,不同的半导体材料对不同波长的入

射光的响应是不同的。

光敏二极管有顶面受光和侧面受光两种形式。它也是采纳塑料、玻璃、环氧树脂

等材料封装。

光敏二极管的简洁测试

一般用万用表RX1K档,光敏二极管的正向电阻较一般二极管大些,约十几K

。左右,反向电阻随光照变化。无光照时(用物体将管子拦住,不让光照耀),

反向电阻接近无穷大,说明漏电流大。管子的反向电阻至少应在500KQ以上,

有光照耀时(在较强日光或灯光下),反向电阻越小越好,一般应在20KQ以下。

若有光照耀时反向电阻为穷大或为零,说明管子是坏的。光敏一极管的引线较长

的一根是正极。

1.2红外线测距的工作原理

对某一特定物体距离的测量是光学仪器领域的热门课题之一。红外传感器的测距

基本原理为红外放射电路的红外发光管发出红外光,由红外接收电路的光敏接收

管接收放射光。依据放射光的强弱可以推断所测的距离,由于接收管接收的光强

是随与发光管的距离变化而变化的,因而,距离近则接收光强,距离远则接收光

弱。

由于红外线是介于可见光和微波之间的一种电磁波,因此,它不仅具有可见光直

线传播、反射、折射等特性,还具有微波的某些特性,如较强的穿透力量和能贯

穿某些不透亮物质等。红外传感器包活红外放射器件和红外接收器

件。自然界的全部物体只要温度高于肯定零度都会辐射红外线,因而,红外传感

器须具有更强的放射和接收力量。

1.3红外测距系统的基本结构

该系统主要由红外放射电路、红外接收电路、A/D转换电路,AT89c52芯片、键

盘接口电路及LCD显示电路等组成。其组成框图如图2所示:

图2

其工作原理为:单片机上电放射红外信号,由键盘掌握红外接收电路以及A/D

转换电路的工作,将转换结果通过单片机处理后送到LCD显示屏,显示被测距离。

如有需要,也可通过键盘掌握测量被测物体的长于宽,从而计算出被测物体的

面积或体积,最终将结果显示到LCD显示屏上。

二.红外测距的硬件设计

2.1红外测距的实现构想

为了实现红外测距,在硬件设计中,我们可以使纥外放射驱动电路驱动放射头的

红外二极管发出红外光,当红外光由红外接收驱动电路驱动红外接收头的光敏二

极管接收到,并通过电压转换,将其转换为可测量的电压值,由于红外光的强度

会随距离的缩小而增加,红外接收电路转化的电压值会随之增加。又由于电压与

距离成比例,通过对转换的电压的计算,我们可以知道红外放射模块与接收模块

的距离。

我们采纳LCD显示屏动态显示变化中的距离,LCD显示器与AT89c52芯片的P0

口与P2.0-2.2接口相接,在红外接收模块运动过程,AT89c52芯片内部会将电

压模拟量通过A/D转换将其转化为可显示的数字量,然后通过LCD显示器显示出o

键盘与AT89c52芯片的P3.4、P3.5、P3.6、P3.7引脚相接,通过键盘接口可以

实现距离的测量与面积的计算。

2.2系统硬件结构电路图

整个红外测距系统由AT89c52芯片、红外放射驱动电路、红外接收驱动电路、键

盘、A/D转换电路与LCD显示器构成。硬件结构电路图如图3所示:

图3硬件结构电路图

2.3各硬件电路设计

2.3.1红外放射电路

(1)电路组成:红外放射驱动电路是由一个简洁的共射放大电路和一个作为开关

的三极管电路组成的模块。电路原理如图4所示:

图4

(2)电路工作原理:在共射放大电路中,红外发光二极管TLN205接于共射放

大电路的集电极,与基极和放射极相接的二极管远温度补偿作用。掌握管脚Vin

与At89C52芯片管脚P3.3相接。当掌握管脚Vin有信号输入时,掌握电路的三极

管导通,同时整个电路导通,红外发光二极管TLN205放射出红外光。

2.3.2红外接收电路

(1)电路组成:红外接收驱动电路是由红外接收管TPS708和两个电压串联负反馈

模拟运算放大电路组成的模块。

红外接收驱动电路设计为两极放大是由于在很多状况下,输入信号是很微弱的,

要把这样微弱的信号放大到足以带动负载,仅用一级电路放大定是做不到的,必

需经多级放大,以满意放大倍数和其他性能方面的要求。并且,依据信号源和负

载性质的不同,对各级电路有不同要求,输入级一般要求有尽可能高的输入电阻

和较低的静态工作电流。电路图如图5所示:

图5

(2)电路工作原理:

红外发光管TLN205放射出的红外光,由红外接收管TPS708接收,此时TPS708

会产生一个与光强相市应的电流。电流经由LM358两级放大后,在输出端可以得

到一个约为。〜3.52V的模拟电压,作ADC0804的VIN口模拟输入量,进行A/D

转换,重复等待与检查转换完成标志值是否已为零,最终将转换结果在LCD上显

示出来。

2.3.3A/D转换电路

A/D转换电路如图6所示,由于PROTUES仿真软件不能仿真红外线的放射与接收,

故在A/D0804的输入端加一滑变电阻器,来代替红外接收电路产生的0〜

3.52V模拟电压,经过A/D转换后送到单片机的P1口,从而实现电路的仿真。

图6

2.3.4LCD显示电路

LCD与单片机的接口电路如图7所示,单片机通过P0口向LCD输送数据,显示

测得的距离。值得留意的是,P0口要接上拉电阻来保证对LCD的胜利驱动。

图7

2.3.5键盘接口电路

该系统由4个按键掌握对距离的测量,如图8所示,按键分别接单片机的P3.4

一P3.7口,低电平有效,分别实现长、宽、高的测量以及面积或体积的计算。

图8

三.红外测距的软件设计

3.1系统软件结构

在整个系统运行过程中。当红外系统被启动后,苜先,对AT89c52单片机进行初

始化。然后,当AT89c52单片机接收到红外接收电路传输的电压信号后,经A/D

转换程序,将片外的模拟信号转换为单片机可识别的数字信号,并经电压一电离

转换子程序,将变化的电压转换为距离。最终,在动态扫描LCD显示器上显示出

来。主程序流程图如图9所示。

图9

单片机程序如下:

Sinclude<reg51.h>

#include<intrins.h>

^defineucharunsignedchar

#defineuintunsignedint

#defineulongunsignedlong

sbitRS=P2P;//LCD命令/数据端

sbitRW=P21;//LCD读/写端

sbitLCDE=P2-2;//LCD使能端

sbitMCP_CS=P2-3;〃MCP3001与AT89s52的管脚接线定义

sbitMCP_D0=P2^4;

sbitMCP_CLK=P2^5;

uintmeasure;

ucharflag;〃Busy标志

ucharcodedis口二{“MeasureStart〃};//显示

ucharcodedisl[]={"Distance:“};//显示表头

ucharcodedis2[]={"0123456789.cm”};〃显示代码

ucharcodedis3口二{“OutMeasure!/z};//显示

uchardis_buf[6];〃显示缓冲区

voidL_delay(void);//短延时

voiddelayms(uintn);//延时函数

uintread_MCP(void);〃读MCP3001

voidinit_1602(void);//1602初始化函数

voidbusy(void);//LCD忙标志推断函数

voiddat_wrt(uchardat);〃写数据子函数

voidcmd_wrt(ucharcmd);//写命令子函数

uintdistance(void);//距离计算函数

voidIcdstart(ucharstart);〃设定显示位置函数

voidLCD_C1ear(void);〃LCD清屏函数

uchardat_adj(uintdatl);〃显示数据调整函数

voidprint(uchar*str);〃字符串显示函数

voiddisp(uintdat);〃显示子函数

uintaverage(void);//算术平均滤波程序

KIXKIXKIXKIXKIXKIXKIXKIXKIXI[、1^Ir/

f-1°I\Jt

main()

init_1602();

print(dis);〃显示测量开头

delayms(1000);

while(l)

measure=distance();

disp(measure);〃显示高度

delayms(100);

)

)

/力士士左士士叱士叱叱士士士叱士叱业业业业业士士41PHTT不彳r士业士叱叱女叱士叱士士士力士士士士士士女士叱叱/

xjx*r**r**4**4**4*JLI_.II*Iizj>i~fjw*r**i**1**r**r*•7*xr**1*/

voiddelay_ms(uintn)

uintj;

while(n一)

for(j=0;j<125;j++);

)

/I.fT,.ala1JjK1Zf

.卜~tr^fJJ|.口、]/

voidLdelay(void)

uchari;

for(i=0;i<5;i++)_nop_();

)

/*********************读MCP3001函数************************/

uintreadMCP(void)

uchari;

uinttemp=0;

MCPCS=1;

Ldelay();

MCP_CS=O;〃CS置低,开头采样数据

for(i=0;i<13;i++)//读转换的3位数据

MCECLK=O;

Ldelay();

MCP_CLK=1;

temp<<=l;

if(MCP_DO=l)temphOxOl;

)

MCPCS=1;

temp&=0x03ff;〃猎取有效转换值

return(temp);

)

/********************LCDit标志推[析函数*******************/

voidbusy(void)

flag=0x80;〃赋初值高位为1禁止

while(flag&0x80)〃读写操作使能位禁止时等待连续检测{

PO=Oxff;

RS=O;〃指向地址计数器

RW=1;〃读

LCDE=1;〃信号下降沿有效

flag=P0;〃读状态位高位为状态

LCDE=O;

)

)

/***********************写数据子函数************************/

voiddatwrt(uchardat)

busy。;〃检测读写操作使能吗

LCDE=0;

RS=1;〃指向数据寄存器

RW=0;〃写

P0=dat;〃写数据

LCDE=1;〃高电平有效

LCDE=O;

)

/***********************写命令子函数***********************/

voidcmdwrt(ucharcmd)

LCDE=0;

busyO;〃检测读写操作使能吗

P0=cmd;〃命令

RS=O;〃指向命令计数器

RW=0;〃写

LCDE=1;〃高电平有效

LCDE=O;

)

/***********************总巨离计算函数**********************/

uintdistance(void)

uinttempi;

tempi=average。;

if((templ>160)&(templ<960))〃在正常测量范围?

templ=13569/(templ+7)-4;〃转换测量数据

)

else

tempi二OxOOff;〃超出测量范围,返回错误标志

)

return(tempi);

)

/**********************算术平均滤波程序********************/

uintaverage(void)

uchari;

uintavdat;

ulongave=0;

for(i=0;i<10;i++)〃连续读取。个数据值

ave+=read_MCP();〃读转换数据

Ldelay();

)

av_dat=(uint)(ave/10);〃求平均值

return(avdat);

)

/***********************1602初始化函数**********************/

voidinit_1602(void)

cmd_wrt(0x01);〃清屏

cmd_wrt(0x0c);〃开显示,不显示光标,不闪耀

cmd_wrt(0x()6);〃完成一个字符码传送后,光标左移,显示不发生移

cmd_wrt(0x38);〃16X2显示,5X7点阵,8位数据接口}

/********************设定显示位置函数********************/

voidlcd_start(ucharstart)

cmdwrt(startI0x80);

)

/*********************]©)清屏函数************************/

voidLCD_C1ear(void)

cmd_wrt(0x01);〃写入清屏指令

delayms(1);

)

/********************显示数据调整函数********************/

uchardat_adj(uintdatl)

uchari;

disbuf[0]=(uchar)(datl/10);〃十位

disbuf[l]=(uchar)(datl%10);〃个位

dis_buf[2]=11;

dis_buf[3]=12;

if(dis_buf[O]==O)i=l;

return(i);

)

/**********************字符串显示函数***********************/

voidprint(uchar*str)

while(*str!=\0J)〃直到字符串结束

datwrt(*str);

str++;〃指向下一个字符

}

)

voiddisp(uintdat)

uchartemp,j;

if(dat!=OxOOff)

(

temp=datadj(dat);

LCDClear();

Icdstart(0x00);

print(disl);〃显示文字

lcd_start(0x45+temp);〃确定显示起始位置

for(j=temp;j<4;j++)〃写显示数据

datwrt(dis2[disbuf[j]]);

}

else

!

LCD_Clear();

lcd_start(0x42+temp);〃确定显示起始位置

print(dis3);

)

)

3.2误差分析

由于红外接收管相当于一个光敏二极管,因此系统受外界光线的干扰很大。

自然界的全部物体只要温度高于肯定零度都会辐射红外线,假如阳光或者其他较

强的光线照耀在.接收器上,力可能会使内部器件处于饱和状态,从而也会导致传

感器发生错报状况,此外,日光灯也会产生红外噪声信号。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论