红外线测距仪的设计_第1页
红外线测距仪的设计_第2页
红外线测距仪的设计_第3页
红外线测距仪的设计_第4页
红外线测距仪的设计_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

红外线测距【摘要】:随着科学技术的发展,测量技术得到了新的发展。从最早的人工测量到后来的电子测量再到现在的系统测量,不管是精度还是实用性都有了大的提高。在测距方面先后出现了激光测距、微波雷达测距、超声波测距及红外线测距。为了实现物体近距离、高精度的无线测量而采用了红外发射接收模块作为距离传感器,单片机作为处理器,编写A/D转换和显示程序,完成了一套便推式的红外距离测量系统,系统可以高精度的实时显示所测的距离,本系统结构简单可靠、体积小、测量精度高、方便使用。关键词:单片机;红外测距;A/D转换【Abstract】:Withthedevelopmentofscienceandtechnology,measuringtechnologygetanewdevelopment.Fromtheearliestartificialmeasurementtotheelectronicmeasurementlatertomeasuresystemnow,whethertheaccuracyandpracticalityhaveimproved.Inthedistancehaveemergedlaserranging,microwaveradarranging,ultrasonicandinfraredrange.Inordertorealizewirelessmeasurementofobjectsneardistance,highprecisionandtheuseoftheinfraredtransmittingandreceivingmoduleasthedistancesensor,MCUastheprocessor,writeA/Dconversionanddisplayprogram,completedtheinfrareddistancemeasurementsystemisaportable,thesystemcandisplaythemeasureddistanceandhighprecisioninrealtime,thesystemissimpleandreliable,thestructurehastheadvantagesofsmallsize,highaccuracy,easytouse.Keywords:MCU;infrareddistance;;A/Dconversion目录摘要.3第1章绪论.4第1.1节课题背景.4第1.2节国内外研究现状.5第2章系统总体方案设计.6第2.1节系统基本要求.6第2.2节硬件系统设计方案.6第2.3节软件系统设计方案.8第3章系统硬件设计.9第3.1节单片机系统的设计.9第3.2节红外线传感器.11第3.3节信号放大电路.11第3.4节A/D转换电路.12第3.5节显示模块电路.12第3.6节总体电路连接.13第4章系统软件设计.14第4.1节程序的总体设计.14第4.2节程序的设计.16第5章系统调试与分析.23第5.1节硬件调试.23第5.2节测试结果及误差分析.25结论.27参考文献.28致谢.29附录.30附录1:实物照片.30附录2:系统接线原理图.30附录3:部分源程序.310第1章绪论第1.1节课题背景1.1.1红外线的介绍红外线是太阳光线中众多不可见光线中的一种,最早由英国科学家赫歇尔在1800年发现,他称之为红外热辐射。赫歇尔将太阳光用三棱镜分解开,在各种不同颜色的色带位置上放置了温度计,测量各种颜色的光的加热效应。实验结果发现,位于红光外侧的那支温度计升温最快。因此得到结论:太阳光谱中,红光的外侧必定存在看不见的光线,这就是红外线。也可以当作传输之媒介。太阳光谱上红外线的波长大于可见光线,波长为0.751000m。红外线可分为三部分,即近红外线,波长为(0.75-1)(2.5-3)m;中红外线,波长为(2.5-3)(25-40)m;远红外线,波长为(25-40)l000m。红外线是波长介乎微波与可见光之间的电磁波,是波长比红光长的非可见光。覆盖室温下物体所发出的热辐射的波段。透过云雾能力比可见光强。在通讯、探测、医疗、军事等方面有广泛的用途。1.1.2红外线测距的应用测距仪已经被广泛应用于以下领域:电力,水利,通讯,环境,建筑,地质,警务,消防,爆破,航海,铁路,反恐/军事,农业,林业,房地产,休闲/户外运动等。红外线测距仪用调制的红外光进行精密测距的仪器,测程一般为1-5公里。利用的是红外线传播时的不扩散原理:因为红外线在穿越其它物质时折射率很小,所以长距离的测距仪都会考虑红外线,而红外线的传播是需要时间的,当红外线从测距仪发出碰到反射物被反射回来被测距仪接受到再根据红外线从发出到被接受到的时间及红外线的传播速度就可以算出距离。红外测距仪的优点是便宜、易制、安全;缺点是精度低、距离近、方向性差。红外线测距仪又可以分类为手持式红外线测距仪(测量距离0-300米),望远镜红外线测距仪(测量距离500-20000米)。手持式红外线测距仪根据它的精度和测距范围被广泛的应用于我们的日常生活中,比如室内装修、倒车雷达、零件测量等,这些短距离的应用都要比我们实际用尺子等测量工具测得准确、效率,可以说它的出现将大大提高了工业生产和人们日常生活的质量。望远镜红外线测距仪由于其良好的长距离测距功能,我们可以在高速公路甚至航海的测距中应用到,它不同于其他测距方式在于它对于环境的适应性还是很高的,所以在反恐/军事上也起到了不小的作用。红外线测距的应用还有许多,在这就不一一列举了。1第1.2节国内外研究现状随着国家对外开放政策的实施和测量工作的需要,近年来国内一些光学仪器厂和电子仪器厂分别从瑞典、瑞士和日本等国引进几种红外测距仪组装线,组装测距仪,我国有关工厂和院校近年来也研制出一些产品。由于微处理机在国产测距仪上的应用,大大缩小了仪器的体积,同时也减少了出故障的几率,使得国产测距仪的性能和质量都较过去有很大的提高。早在国家“六五”计划攻关中,常州第二电子仪器厂研制的DCHZ型多功能红外测距仪就是一个很好的例证。该产品经国家测绘局测绘科学研究所光电测距仪检测巾心进行全面质量鉴定后认为:该仪器外型美观、体积小、重量轻、操作方便、精度高和性能稳定,并通过国家有关部门组织的鉴定。目前已开始小批量试生产。在进行侧距仪研制的同时,国家有关部门也组织力量对红外光电测距仪的检测方法进行研究。目前由国家科委和国家测绘局委托测绘科学研究所筹建的“光电测距仪检测中心”已初具规模,负责测距仪出厂的质量鉴定。但是由于我国在红外线测距方面的研究起步比较晚,现在的技术远远不如欧美日等发达国家,如今随着我国科研的不断努力,在精度和工艺上还是取得了不小的突破,相信不久的将来可以赶上国外的水平。目前红外线测距的品牌主要有:图雅得TRUEYARD,博士能BUSHNELL,奥尔法ORPHA,尼康NIKON这4个品牌。除了以上品牌外,还有我们国内的一些小品牌,国内小品牌一般价格会便宜一点,但是无论在精度,做工等方面,与大品牌还有比较大的差距的。另外一点,因为激光测距仪望远镜是电子设备,国内小品牌由于使用的电子器件一般比较差,所以故障率也会比较高。2第2章系统总体方案设计第2.1节系统基本要求本设计的任务是完成基于单片机的红外线测距仪的设计系统,主要是设计以单片机为核心、采用V/L转换技术的红外线测距仪,实现红外线测距的实时测量和LCD数字显示。该系统设计方案由硬件系统和软件系统两部分组成。第2.2节硬件系统设计方案2.2.1硬件电路组成及工作原理红外线测距仪的硬件电路主要由单片机系统电路、红外线收发电路、复位电路、时钟电路、A/D转换电路、LED显示电路等组成,如图2-1红外线测距仪硬件结构框图所示。图2.1硬件结构框图其工作原理:红外收发信号通过传感器转换成电压信号,然后经过放大、交直流转换和V/L变换输入到单片机进行处理后转换成相应的距离值通过LCD显示,从而实现对距离的测量。32.2.2硬件选择1.红外传感器(1)槽型光电传感器把一个光发射器和一个接收器面对面地装在一个槽的两侧的是槽形光电。发光器能发出红外光或可见光,在无阻情况下光接收器能收到光。但当被检测物体从槽中通过时,光被遮挡,光电开关便动作。输出一个开关控制信号,切断或接通负载电流,从而完成一次控制动作。槽形开关的检测距离因为受整体结构的限制一般只有几厘米。(2)对射型光电传感器若把发光器和收光器分离开,就可使检测距离加大。由一个发光器和一个收光器组成的光电开关就称为对射分离式光电开关,简称对射式光电开关。它的检测距离可达几米乃至几十米。使用时把发光器和收光器分别装在检测物通过路径的两侧,检测物通过时阻挡光路,收光器就动作输出一个开关控制信号。(3)反光板型光电传感器把发光器和收光器装入同一个装置内,在它的前方装一块反光板,利用反射原理完成光电控制作用的称为反光板反射式(或反射镜反射式)光电开关。正常情况下,发光器发出的光被反光板反射回来被收光器收到;一旦光路被检测物挡住,收光器收不到光时,光电开关就动作,输出一个控制信号。(4)扩散反射型光电传感器它的检测头里也装有一个发光器和一个收光器,但前方没有反光板。正常情况下发光器发出的光收光器是找不到的。当检测物通过时挡住了光,并把光部分反射回来,收光器就收到光信号,输出一个信号。考虑设计要求,选用(3)。2.A/D转换电路(1)采用集成型555定时器进行A/D转换,集成型555定时器方便与单片机实现接口通信,价格也比较便宜,但其响应速度较慢,外围电路较复杂。(2)PCF8591器件进行A/D转换,在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向IC总线以串行的方式进行传输。PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit数模转换。PCF8591的最大转化速率由IC总线的最大速率决定。(3)采用AD650转换,AD650是美国ANALOGDEVICES公司推出的高精度电压频率转换器。它由积分器、比较器、精密电流源、单稳多谐振荡器和输出晶体管组成,其转换频率可高达1MHz,具有很低的非线性度,但其最佳温度稳定性不如PCF8591,价格也比前两者高。考虑设计要求,选用(2)。3.单片机系统(1)采用STC89C52RC单片机作为主控芯片,STC89C52RC是宏晶科技推出的新一代高速、低功耗、超强抗干扰的单片机,其指令代码完全兼容传统的8051单片机。可以用串口直接下载程序,且可反复擦写编程,而且价格也较便宜。(2)采用MSP430单片机作为主控芯片,MSP430系列单片机是美国德州仪器(TI)推出的一种16位超低功耗、具有精简指令集的混合信号处理器。其处理能力强、运算速度快,片内资源也很丰富。综合考虑,由于本系统不涉及大量的数据存储和复杂处理,MSP430的资源得不到充分利用且其成本较高,所以采用方案一,选用STC89C52RC单片机。44.显示器件(1)采用LED数码管进行显示,数码管原理简单、容易理解且价格便宜。但不足之处是其显示内容较单调,而且多管脚使得电路板焊接变得较为复杂。(2)采用LCD1602液晶显示屏进行显示,它1602液晶模块内部的字符存储器(CGROM)已经存储了160个不同的点阵字符图形,如:大小写英文字母、阿拉伯数字、常用的符号和日文假名等。此液晶屏连线也比较简单、方便。但其显示内容不够丰富,没法显示中文字符且只能显示两行。(3)采用LCD12864液晶显示屏进行显示,12864内置8192个16*16点汉字和128个16*8点ASCII字符集。灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面,且显示内容丰富,不仅可显示84行1616点阵的汉字,还能显示图形。综合考虑,由于红外线测距只需要显示距离数据,比较单一,所以我们只要选用普通的LCD1602液晶显示屏显示即可。第2.3节软件系统设计方案由于本次设计中红外线信号的采集、放大与转换都是由硬件电路完成的,所以需要编程实现的只有以下两部分:(1)对于V/L转换器输出端的信号进行数据处理,将其转换成距离值;(2)将转换好的距离值在LCD1602液晶显示屏上显示出来。程序框图如图2-2所示。开始数据初始化AD采集显示电压值电压值对应距离显示距离图2.2程序框图5第3章系统硬件设计第3.1节单片机系统的设计3.1.1STC89C52RC的简介1.STC89C52RC的性能特点(1)增强型6时钟/机器周期,12时钟/机器周期8051;(2)工作电压:5.5V3.3V(5V单片机)或者3.8V2.0V(3V单片机);(3)工作频率范围:040MHz,相当于普通8051的080MHz,实际工作频率可达48MHz;(4)用户应用程序空间为8K字节;(5)片上集成512字节RAM;(6)通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻;(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片;(8)具有EEPROM功能;(9)看门狗电路;(10)共3个16位定时器/计数器,即定时器T0、T1、T2;(11)外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒;(12)通用异步串行口(UART),还可用定时器软件实现多个UART;(13)工作温度范围:075或者-40+85。2.STC89C52RC引脚及作用图3.3STC89C52RC引脚图6VCC(40):电源电压;GND(20):接地;P0口(32-39):P0口是一个漏极开路的8位双向I/O口,其中P0.0P0.4用于串行连接液晶屏,P0.5P0.7接指示灯的阴极端,当其为低电平时,指示灯点亮;P3.5口:作计数器T1使用,接V/L转换器的输出端;RST(9):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作;XTAL1(19):振荡器反相放大器和内部时钟发生电路的输入端;XTAL2(18):振荡器反相放大器的输入端。3.1.2单片机外围电路1.时钟电路如图3.4所示设计一个由石英晶体和2个电容组成的时钟电路,石英晶体采用12MHz的晶振,外接电容采用2个22pF的稳定电容即可。需要注意的是:在设计电路时,石英晶体和电容应尽可能地靠近单片机芯片安装,以减少寄生电容,使得振荡器稳定、可靠地工作。单片机外围电路图如图3.4所示。图3.4单片机外围电路图2.复位电路如图3.4时钟电路下方,是一个简单的复位电路,STC89C52RC的复位输入引脚RST为STC89C52RC提供了初始化手段。在振荡器运行的情况下,只要在RST引脚上出现两个机器周期以上的高电平,单片机内部则初始复位。以后每个周期复位一次,直至RST端变低。7第3.2节红外线传感器在设计中采用了RPR-359F反射式光电传感器。该发射器是一个砷化镓红外发光二极管和探测器是一种高灵敏度,硅平面晶体管。塑料透镜用于高灵敏度。此外,由于它是在塑料成型与可见光滤波器,光有保持几乎没有影响。传感器如图3.5所示。图3.5红外线传感器电路第3.3节信号放大电路信号放大电路是由简单的运放电路构成,设计中和红外传感器模块设计在一起。设计中采用NE5532运放,它是一种双运放高性能低噪声运算放大器。相比较大多数标准运算放大器,如1458,它显示出更好的噪声性能,提高输出驱动能力和相当高的小信号和电源带宽。这使该器件特别适合应用在高品质和专业音响设备,仪器和控制电路和电话通道放大器。如果噪音非常最重要的,因此建议使用5532A版,因为它能保证噪声电压指标。电路图如图3.6所示。图3.6信号放大电路图8第3.4节A/D转换电路A/D转换电路是由PCF8591和外部电路组成。PCF8591是具有I2C总线接口的8位A/D及D/A转换器。有4路A/D转换输入,1路D/A模拟输出。这就是说,它既可以作A/D转换也可以作D/A转换。A/D转换为逐次比较型。A/D转换电路如图3.7所示。图3.7A/D转换电路图第3.5节显示模块电路显示模块电路采用LCD1602液晶显示屏,它是数字式的接口,和单片机系统的接口更加简单可靠,操作更加方便。在设计中VSS和VO引脚外接负载,VCC和BLA引脚外接VCC,BLK外接GND,RB0RB7和单片机的P00P07对应相连,RS、RW和E分别和单片机的P10、P11和P12对应相连,显示模块电路如图3.8所示。图3.8显示模块电路图9第3.6节总体电路连接将单片机模块、红外线传感器模块、A/D转换模块、信号放大模块以及显示模块这5大模块和几个简单的按键电路如下总体电路连接图3.9所示。图3.9总体电路连接图10第4章系统软件设计第4.1节程序的总体设计4.1.1方案的选择方案一、时间差测距法:此方案是将红外发射管发送的信号与接收管接收信号的时间差写入单片机中,在单片机中用算法将距离计算出来。流程图如图4.1所示。N图4.1时间差测距法程序流程图开始系统初始化复位?红外线传感器收发信号计算时间差S=C*T距离显示结束11方案二、反射能量法:此方案是用红外发射管发射信号,然后用红外接收管接收信号,将接收的信号强度经过AD转换,录入单片机中显示出来,并将对应的距离记录下来。完成一段范围内的测量,将所记录下的数据写入单片机中,然后便可进行测量距离了。流程图如图4.2所示。N图4.2反射能量法程序流程图方案比较:通过以上两种方案分析,我们可以看到方案一的误差很大,由于红外装置测的距离比较近,而光速很快,因此反馈到单片机中的时间很短,单片机很难准确处理,而在一般情况下的光速不太准确,因此误差较大。方案二是先将实验数据录入单片机中,因此在测量时存在的误差就会相对较小,综合考虑,选择方案二可行。开始系统初始化复位?红外线传感器收发信号数据表记录距离距离显示结束12第4.2节程序的设计4.2.1主程序设计主程序主要包含以下操作:(1)对LCD液晶屏显示字符的定位和显示;(2)对LCD液晶屏的清屏;(3)定义循环结构;voidmain(void)Init();Lcd_Init();Lcd_Clear();/LCD清屏Delayms(10);Lcd_Set_xy(1,1);/LCD字符定位Lcd_String(Infraredrange);Lcd_Set_xy(2,1);Lcd_String(Dist:);Lcd_Set_xy(2,9);Lcd_String(mm);Lcd_Set_xy(2,12);Lcd_String(T:);HONGWAI=0;Lcd_Set_xy(2,14);Lcd_String(ON);while(1)/定义循环结构uinti=0;ucharj=0;for(i=10000;i0;i-)Key(KEY_NUM);for(j=4;j0;j-)Ad_Da();if(HONGWAI=0)step();13if(HONGWAI=1)Lcd_Set_xy(2,6);Lcd_Wdat(0x30);Lcd_Wdat(0x30);Lcd_Wdat(0x30);4.2.2起动总线函数程序主要包含以下操作:(1)发送起始条件的数据信号;(2)起始条件建立时间大于4.7us,延时;voidStart_I2c()SDA=1;/*发送起始条件的数据信号*/_Nop();SCL=1;_Nop();/*起始条件建立时间大于4.7us,延时*/_Nop();_Nop();_Nop();_Nop();SDA=0;/*发送起始信号*/_Nop();/*起始条件锁定时间大于4s*/_Nop();_Nop();_Nop();_Nop();SCL=0;/*钳住I2C总线,准备发送或接收数据*/_Nop();_Nop();144.2.3字节数据发送函数程序主要包含以下操作:(1)判断发送数据位数;(2)定义发送数据流程;voidSendByte(unsignedcharc)unsignedcharBitCnt;for(BitCnt=0;BitCnt0)/如果按键按下Count_KeyDown+;FLAG_KEYDOWN=1;elseif(Count_KeyDown100)/长按,则每隔(230-2)*定时器周期完成一次判断Count_KeyDown=0;else/如果按键松开if(Count_KeyDown2)/如果按键已经确认按下,则开始判断松开Count_KeyUp+;if(Count_KeyUp=2)/按键检测Count_KeyUp=0;Count_KeyDown=0;TR0=1;voidKey(KEY_NUM)17if(FLAG_KEYDOWN=1)FLAG_KEYDOWN=0;TIME_1S=0;switch(KEY_NUM)case1:HONGWAI=1;break;case2:HONGWAI=0;Lcd_Set_xy(2,14);Lcd_String(ON);break;sbitKEY_2=P20;sbitKEY_1=P21;sbitHONGWAI=P15;externuintTIME_10MS;/时间变量externuintTIME_1S;/时间变量externucharKEY_NUM;externbitFLAG_KEYDOWN;externvoidKey(KEY_NUM);4.2.5写字符串函数程序主要定义写字符串函数;voidLcd_String(uchar*p)while(1)if(*p=0)break;Lcd_Wdat(*p);18p+;Delayms(1);sbitLCD_RS=P10;sbitLCD_RW=P11;sbitLCD_EN=P12;sbitLCD_LED=P23;externvoidDelayms(uinta);externvoidLcd_Init();/LCD1602初始化函数externvoidLcd_Wcmd(ucharcmd);/LCD1602写命令函数externvoidLcd_Wdat(uchardat);/LCD1602写数据函数externvoidLcd_Set_xy(ucharhang,ucharlie);/LCD1602设置显示位置函数externvoidLcd_String(uchar*p);/LCD1602写字符串函数externvoidLcd_Clear();/LCD1602清屏函数sbitIRIN=P33;/红外接收器数据线sbitBEEP=P10;/蜂鸣器驱动线sbitRELAY=P14;/继电器驱动线uintTIME_10MS=0;/时间变量uintTIME_1S=0;/时间变量ucharKEY_NUM=0;bitFLAG_KEYDOWN;19第5章系统调试与分析第5.1节硬件调试电路焊接完毕后,逐级检查时钟电路、红外线收发电路、A/D转换电路、显示电路、单片机电路,保证焊点完整,线路清晰,原件完好。由于红外线测距的设计中红外线传感器的重要性举足轻重,所以对于红外线发射器和红外线接收器的调试非常重要,下面介绍一下红外线发射器和红外线接收器的主要参数和测试方法。5.1.1红外线发射器基本结构红外线发射器件中最常用是红外发光二极管,它与普通发光二极管的结构原理以及制作工艺基本相同,是只有一个PN结的半导体器件,只是所用的材料不同,制造红外发光二极管的材料有砷化钾,砷铝钾等,其中应用最多的是砷化钾。红外发光二极管一般采用环氧树脂,玻璃,塑料等封装,除白色透明材料封装外,还可见到用蓝色透明材料封装的,。红外发光二极管按发光功率的大小,可分为小功率,中功率,大功率三种。另外,红外发光二极管除顶面发光型外,还有侧面发光型。小功率管一般采用全塑封装,也有部分是采用陶瓷底座,顶端用玻璃或环氧树脂透镜封装的,中大功率管一般采用带螺纹金属底座,以便安装散热片。随着发光功率得提高,相应体积的管子也增大。5.1.2红外发光二极管的基本参数(1)正向工作电流I指红外发光二极管长期工作时,允许通过的最大平均电流,因为电流通过PN结时,要消耗一定的功率而引起管子发热,如管子长期超过I运行,会因过热而烧毁,因此,使用的最大平均正向工作电流不得超过I。(2)光功率P指输入到发光二极管的电功率转化为光输出功率的那一部分。光功率越大,发射距离越远。(3)峰值波长p指红外发光二极管所发出近红外光中,光强最大值所对应的发光波长,在选用红外接收管时,其受光峰值波长应尽量靠近。p(4)反向漏电流r指管子未被反向击穿时反向电流的大小,希望它越小越好。20(5)响应时间t0由于红外发光二极管PN结电容的存在,影响了它的工作频率。现在,红外发光二极管的相应时间一般为,最高工作频率为几十。S76105.1.3红外线接收器件的基本结构我们知道半导体具有光电效应,即用光照半导体,可使半导体的电阻率发生变化。利用半导体的光电效应可以制成光电二极管,不同的半导体材料对不同波长的入射光的响应是不同的。光敏二极管有顶面受光和侧面受光两种形式。它也是采用塑料、玻璃、环氧树脂等材料封装。5.1.4光敏二极管的主要参数(1)光电流IL指在一定反向电压下,入射光强为某一定值时流过管子的电流。光敏二极管的光电流一般为几十A,并与入射光强成正比。(2)暗电流ID指在一定反向电压下,无光照时流过管子的电流。一般在50V反压下,ID小于0.1A。(3)反向工作电压UR指在无光照时,光敏二极管反向电流小于0.2A-0.3A时,允许的最高反向工作电压,一般在10V左右,最高可达几十伏。(4)峰值波长p指光敏二极管光谱响应最灵敏的波长范围,一般为0.88M-0.94M。21第5.2节测试结果及误差分析5.2.1测试结果实际距离10mm,测量距离10mm,无误差;实际距离15mm,测量距离14mm,误差1mm;实际距离20mm,测量距离20mm,无误差;实际距离25mm,测量距离26mm,误差1mm;实际距离30mm,测量距离30mm,无误差。5.2.2问题分析由于选用的RPR-359F是一款功率比较小的带有红外发射和接收功能红外检测器,很难在大距离得测距中发挥作用,但是它是一个在小距离测距中比较精确的传感器,所以为了提高测距精度本设计测试距离定在140mm。225.2.3误差分析红外传感器由发送器和接收器两部分组成,在发送器和接收器之间有一定的有限视场。传感器只能检测到那些位于发射器视场和接收器视场的交叉区域内的障碍物,因此,单个的红外接近觉传感器不可避免地存在多个盲区。大部分红外接收器在检测区域内有障碍物时输出低电压信号,反之输出高压信号。某些类型的物体有可能误导红外接收器,其中包括表面发亮的物体,光线吸收能力强的物体以及那些交叉部分太小以至于不能将足够的红外线从发送器反射至接收器的物体。如果采用多个红外发送器和接收器就可以减少盲区的数量。由于发送器和接收器的价格都非常低,因此采用多套红外传感器是完全可行的。然而,无论实现过程如何完美,系统性能总会受到环境的影响。表面暗淡,光亮或者体积较小的物体都会经常使接收器产生漏报错误;如果阳光或者其他较强的光线照射在接收器上,有可能会使内部器件处于饱和状态,从而也会导致传感器发生漏报情况。通常情况下,红外传感器很少产生误报错误。在系统正常情况下,所出现的误报错误通常来源于其他一些意想不到的红外噪声信号。例如:日光灯。原则上来讲,接收器无法判断其输出信息是否可靠;然而,如果接收器输出的障碍存在信号持续时间过短,完全可以认为这是噪声假信号造成的。23结论该设计的主要任务是开发一个以STC89C52单片机为核心的红外测距系统。开发过程主要包括了硬件电路设计和软件程序编写两个部分。从一开始确定毕业设计课题到查阅资料、设计方案、硬件电路的设计、软件的设计、焊制硬件电路板、调试硬件电路、调试软件程序以及最后的系统调试的过程中,每一个过程都是认真去完成的。从这次毕业设计制作中,我学到了不少东西。设计初期,在查阅大量红外线测距相关的资料的同时我对红外线测距技术有了一定的了解,同时也锻炼了搜集资料和思考整合的能力。设计中期,我学会了使用Proteus软件画电路原理图并在硬件调试过程中锻炼了动手能力。设计后期,我学会KeilC51开发系统对系统进行软件调试,对软件的实际应用得到了锻炼。由于时间的原因,本次设计的红外线测距系统还存在着一些不足之处有待改进。首先由于红外线信号不容易控制,再加上硬件电路中的一些系统误差,导致测量结果不是十分精确。相信随着硬件电路和软件的不断优化,其中的不足会得到改善。24参考文献1刘坤.51单片机典型应用开发范例大全中国铁道出版社;2周坚.单片机轻松入门M.北京:北京航空航天出版社,2002;3孙育才MCS51系列单片微型计算机及其应用M.南京:东南大学出版社,2004.P231;4公孙茂、马宝匍、孙晨.单片机入口接口实例集M.北京:北京航空航天出版社,2002.P120;5求式科技.PIC单片机典型模块设计和实例导航M.北京:人民邮电出版社,2005;6龙泽明、顾立志、王桂莲、陈光军.MCS51单片机原理及工程应用M.北京:国防工业出版社,2005;7胡辉、王晓、戴永成.单片机原理及应用设计M.北京:中国水利水电出版社,2005.P6,P181;8蔡菲娜.单片微型计算机原理和应用M.杭州:浙江大学出版社,2003;9彭伟.单片机C语言程序设计实训基于8051+Proteus仿真M.北京:电子工业出版社。25致谢论文已经完成,在论文的写作过程中遇到了不少困难和障碍,但都在老师和同学的帮助下克服了。首先,我要感谢我的指导老师-吴文明老师,他对我进行了无私的指导和帮助,不厌其烦的帮助我进行论文的修改和指导。在此向帮助和指导过我的各位老师和同学表示最衷心的感谢!感谢这篇论文所涉及到的各位学者。本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。感谢我的同学和朋友,在我写论文的过程中给予我了很多资料,还在论文的写作和排版过程中提供热情的帮助。由于我的学术水平有限,所写论文难免有不足之处,恳请各位老师和学友批评和指正!26附录附录一:实物照片图127附录二:系统接线原理图图2附录三:部分源程序#ifndef_HEADER_#define_HEADER_#include#include#defineucharunsignedchar#defineuintunsignedintsfrWDT_CONTR=0XE1;/看门狗定时器控制寄存器地址定义externvoiddelayms(intms);/延时1MS#endif28#includeHEADER.h#includeLCD1602.h#includePCF8951.h#includeKEY.hbitack;/*起动总线函数函数原型:voidStart_I2c();功能:启动I2C总线,即发送I2C起始条件.*/voidStart_I2c()SDA=1;/*发送起始条件的数据信号*/_Nop();SCL=1;_Nop();/*起始条件建立时间大于4.7us,延时*/_Nop();_Nop();_Nop();_Nop();SDA=0;/*发送起始信号*/_Nop();/*起始条件锁定时间大于4s*/_Nop();_Nop();_Nop();_Nop();SCL=0;/*钳住I2C总线,准备发送或接收数据*/_Nop();_Nop();/*结束总线函数函数原型:voidStop_I2c();功能:结束I2C总线,即发送I2C结束条件.*/voidStop_I2c()29SDA=0;/*发送结束条件的数据信号*/_Nop();/*发送结束条件的时钟信号*/SCL=1;/*结束条件建立时间大于4s*/_Nop();_Nop(););_Nop();_Nop();_Nop();/*字节数据发送函数函数原型:voidSendByte(UCHARc);功能:将数据c发送出去,可以是地址,也可以是数据,发完后等待应答,并对此状态位进行操作.(不应答或非应答都使ack=0)发送数据正常,ack=1;ack=0表示被控器无应答或损坏。*/voidSendByte(unsignedcharc)unsignedcharBitCnt;for(BitCnt=0;BitCnt0)/如果按键按下Count_KeyDown+;FLAG_KEYDOWN=1;elseif(Count_KeyDown100)/长按,则每隔(230-2)*定时器周期完成一次判断Count_KeyDown=0;else/如果按键松开if(Count_KeyDown2)/如果按键已经确认按下,则开始判断松开Count_KeyUp+;if(Count_KeyUp=2)/按键检测Count_KeyUp=0;Count_KeyDown=0;TR0=1;33voidKey(KEY_NUM)if(FLAG_KEYDOWN=1)FLAG_KEYDOWN=0;TIME_1S=0;switch(KEY_NUM)case1:HONGWAI=1;break;case2:HONGWAI=0;Lcd_Set_xy(2,14);Lcd_String(ON);break;#ifndef_KEY_#define_KEY_#include#include#defineucharunsignedchar#defineuintunsignedintsbitKEY_2=P20;sbitKEY_1=P21;sbitHONGWAI=P15;externuintTIME_10MS;/时间变量34externuintTIME_1S;/时间变量externucharKEY_NUM;externbitFLAG_KEYDOWN;externvoidKey(KEY_NUM);#endif#includeHEADER.h#includeLCD1602.h#includeKEY.h/*/*/*延时函数*/*/*/voidDelayms(uinta)uchari;while(a-)for(i=0;i#euintunsignedintsbitLCD_RS=P10;sbitLCD_RW=P11;sbitLCD_EN=P12;sbitLCD_LED=P23;externvoidDelayms(uinta);externvoidLcd_Init();/LCD1602初始化函数externvoidLcd_Wcmd(ucharcmd);/LCD1602写命令函数38externvoidLcd_Wdat(uchardat);/LCD1602写数据函数externvoidLcd_Set_xy(ucharhang,ucharlie);/LCD1602设置显示位置函数externvoidLcd_String(uchar*p);/LCD1602写字符串函数externvoidLcd_Clear();/LCD1602清屏函数#endif#includeHEADER.h#includeLCD1602.h#includePCF8951.h#includeKEY.hsbitIRIN=P33;/红外接收器数据线sbitBEEP=P10;/蜂鸣器驱动线sbitRELAY=P14;/继电器驱动线uintTIME_10MS=0;/时间变量uintTIME_1S=0;/时间变量ucharKEY_NUM=0;bitFLAG_KEYDOWN;/*初始化函数*/voidInit()/初始化函数TMOD=0X01;/定时器0设置工作方式1TH0=55536/256;/定时器初值TL0=55536%256;/定时器初值EA=1;ET0=1;/定时器0打开TR0=1;/定时器0打开39WDT_CONTR=0X31;/看门狗定时器在12M晶振时131ms复位voidstep()uchardat_D;ucharstep3;if(D0=446)dat_D=0;if(D0=446if(D0=430if(D0=400if(D0=365if(D0=326if(D0=286if(D0=256if(D0=218if(D0=201if(D0=185if(D0=164if(D0=144if(D0=139if(D0=130if(D0=125if(D0=117if(D0=109if(D0=98if(D0=94if(D0=89if(D0=84if(D0=79if(D0=76if(D0=72if(D0=69if(D0=62if(D0=60if(D0=59if(D0=57if(D0=5640if(D0=53if(D0=51if(D0=50if(D0=48if(D0=46if(D0=44if(D0=43if(D0=42if(D0=41if(D0=40if(D0=39if(D0=38if(D0=37

温馨提示

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

评论

0/150

提交评论