红外线测距系统.doc_第1页
红外线测距系统.doc_第2页
红外线测距系统.doc_第3页
红外线测距系统.doc_第4页
红外线测距系统.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

红外线测距系统试验方案专业: 电子1201 组员:刘强(2012010527) 朱钰(2012010950)时间: 2014,6,9 指导老师: 常志强 摘 要红外测距的探测距离较短,一般在几十厘米之内,本文介绍一种基于AT89C52单片机设计的红外测距仪,可以测量距离,以及计算出被测物体的面积或体积。首先,在绪论中,介绍了红外线及红外传感器的分类和应用、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结的半导体器件,只是所有的材料不同,制造红外发光二极管砷化钾,砷铝钾等,其中应用最多的是砷化钾。红外发光二极管一般采用环氧树脂,玻璃,塑料等封装,除白色透明材料封装外,还可见到用蓝色透明材料封装的,。红外发光二极管按发光功率的大小,可分为小功率,中功率,大功率三种。另外,红外发光二极管除顶面发光型外,还有侧面发光型。小功率管一般采用全塑封装,也有部分是采用陶瓷底座,顶端用玻璃或环氧树脂透镜封装的,中大功率管一般采用带螺纹金属底座,以便安装散热片。随着发光功率得提高,相应体积的管子也增大。1.1.1红外发光二极管测试方法 用万用表R X 1K档测量,正向电阻在30K左右,反向电阻在200K以上的管子是好的。反向电阻越大,漏电流越小,质量越好。若反向电阻只有几十K,说明管子质量不好,但可使用。若管子的正向的反向电阻都为无穷大或为零,说明管子是废品,不能使用;还可以先把红外发光二极管接到电路中,接通电源后再用手机的摄像头对准红外发光管。可以看到管子发出淡粉色的光,则红外发光二极管好使。1.1.2 红外光敏二极管原理与分类 我们知道半导体具有光电效应,即用光照半导体,可使半导体的电阻率发生变化。利用半导体的光电效应可以制成光电二极管,不同的半导体材料对不同波长的入射光的响应是不同的。光敏二极管有顶面受光和侧面受光两种形式。它也是采用塑料、玻璃、环氧树脂等材料封装。1.1.3 光敏二极管的简单测试 一般用万用表R X 1K档,光敏二极管的正向电阻较普通二极管大些,约十几K左右,反向电阻随光照变化。无光照时(用物体将管子挡住,不让光照射),反向电阻接近无穷大,说明漏电流大。管子的反向电阻至少应在500K以上,有光照射时(在较强日光或灯光下),反向电阻越小越好,一般应在20K以下。若有光照射时反向电阻为穷大或为零,说明管子是坏的。光敏二极管的引线较长的一根是正极。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显示器显示出。键盘与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 两级放大后,在输出端可以得到一个约为03.52V 的模拟电压,作ADC0804的VIN口模拟输入量,进行A/ D 转换,重复等待与检查转换完成标志值是否已为零,最后将转换结果在LCD上显示出来。2.3.3 A/D转换电路 A/D转换电路如图6所示,由于PROTUES仿真软件不能仿真红外线的发射与接收,故在A/D0804的输入端加一滑变电阻器,来代替红外接收电路产生的03.52V模拟电压,经过A/D转换后送到单片机的P1口,从而实现电路的仿真。图 62.3.4 LCD显示电路 LCD与单片机的接口电路如图7所示,单片机通过P0口向LCD输送数据,显示测得的距离。值得注意的是,P0口要接上拉电阻来保证对LCD的成功驱动。图 72.3.5 键盘接口电路 该系统由4个按键控制对距离的测量,如图8所示,按键分别接单片机的P3.4P3.7口,低电平有效,分别实现长、宽、高的测量以及面积或体积的计算。图 8三 红外测距的软件设计 3.1 系统软件结构 在整个系统运行过程中。当红外系统被启动后,首先,对AT89C52单片机进行初始化。然后,当AT89C52单片机接收到红外接收电路传输的电压信号后,经A/D转换程序,将片外的模拟信号转换为单片机可识别的数字信号,并经电压距离转换子程序,将变化的电压转换为距离。最后,在动态扫描LCD显示器上显示出来。主程序流程图如图9所示。图 9单片机程序如下:#include #include #define uchar unsigned char#define uint unsigned int#define ulong unsigned longsbit RS=P20; /LCD命令/数据端sbit RW=P21; /LCD读/写端sbit LCDE=P22; /LCD使能端sbit MCP_CS=P23; /MCP3001与AT89S52的管脚接线定义 sbit MCP_DO=P24;sbit MCP_CLK=P25;uint measure;uchar flag; /Busy标志uchar code dis=Measure Start; /显示uchar code dis1 = Distance:; /显示表头uchar code dis2 = 0123456789.cm; /显示代码uchar code dis3=Out Measure!; /显示uchar dis_buf6; /显示缓冲区void L_delay(void); /短延时void delay_ms(uint n); /延时函数uint read_MCP(void); /读MCP3001void init_1602(void); /1602初始化函数void busy(void); /LCD忙标志判断函数void dat_wrt(uchar dat); /写数据子函数void cmd_wrt(uchar cmd); /写命令子函数 uint distance(void); /距离计算函数void lcd_start(uchar start); /设定显示位置函数void LCD_Clear(void); /LCD清屏函数uchar dat_adj(uint dat1); /显示数据调整函数void print(uchar *str); /字符串显示函数void disp(uint dat); /显示子函数uint average(void); /算术平均滤波程序/*主函数*/main()init_1602();print(dis); /显示测量开始delay_ms(1000);while(1)measure=distance();disp(measure); /显示高度delay_ms(100);/*延时函数*/void delay_ms(uint n)uint j;while(n-)for(j=0;j125;j+);/*短延时*/void L_delay(void) uchar i;for(i=0;i5;i+)_nop_();/*读MCP3001函数*/uint read_MCP(void)uchar i;uint temp=0;MCP_CS=1;L_delay();MCP_CS=0; /CS置低,开始采样数据for(i=0;i13;i+) /读转换的10位数据MCP_CLK=0;L_delay();MCP_CLK=1;temp160)&(temp1960) /在正常测量范围?temp1=13569/(temp1+7)-4; /转换测量数据elsetemp1=0x00ff; /超出测量范围,返回错误标志return(temp1);/*算术平均滤波程序*/uint average(void)uchar i;uint av_dat;ulong ave=0;for(i=0;i10;i+) /连续读取10个数据值ave+=read_MCP(); /读转换数据L_delay();av_dat=(uint)(ave/10); /求平均值return(av_dat);/*1602初始化函数*/void init_1602(void)cmd_wrt(0x01); /清屏cmd_wrt(0x0c); /开显示,不显示光标,不闪烁cmd_wrt(0x06); /完成一个字符码传送后,光标左移,显示不发生移位cmd_wrt(0x38); /162显示,57点阵,8位数据接口 /*设定显示位置函数*/void lcd_start(uchar start)cmd_wrt(start|0x80);/*LCD清屏函数*/void LCD_Clear(void)cmd_wrt(0x01); /写入清屏指令delay_ms(1);/*显示数据调整函数*/uchar dat_adj(uint dat1)uchar i;dis_buf0=(uchar)(dat1/10); /十位dis_buf1=(uchar)(dat1%10); /个位dis_buf2=11;dis_buf3=12;if(dis_buf0=0)i=1;return(i);/*字符串显示函数*/ void print(uchar *str)while(*str!=0) /直到字符串结束dat_wrt(*str);str+; /指向下一个字符 /*显示子函数*/ void disp(uint dat)uchar temp,j;if(dat!=0x00ff)temp=dat_adj(dat);LCD_Clear();lcd_start(0x00);print(dis1); /显示文字lcd_start(0x45+temp); /确定显示起始位置 for(j=temp;j4;j+) /写显示数据dat_wrt(dis2dis_bufj);elseLCD_Clear();lcd_start(0x42+temp); /确定显示起始位置 print(dis3);3.2 误差分析 由于红外接收管相当于一个光敏二极管,因此系统受外界光线的干扰很大。自然界的所有物体只要温度高于绝对零度都会辐射红外线,如果阳光或者其他较强的光线照射在接收器上,有可能会使内部器件处于饱和状态,从而也会导致传感器发生错报情况,另外,日光灯也会产生红外噪声信号。因此,所设计的系统在不同的条件下所测量的结果会有所差别。图10是用matlab软件画出的所测电压对应的不同距离值,图中横坐标代表电压值,纵坐标是距离,单位是cm。从图中可以看出,电压与距离并不是线性关系,而是一条相对平滑的曲线。图 10四实验心得 最终的红外测距系统可以实现010cm的近距离测量,测量误差为0.5cm,可以计算出被测物体的距离

温馨提示

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

评论

0/150

提交评论