基于单片机的红外测距系统设计.docx

上传人:李司机 文档编号:5771153 上传时间:2023-08-18 格式:DOCX 页数:45 大小:160.42KB
返回 下载 相关 举报
基于单片机的红外测距系统设计.docx_第1页
第1页 / 共45页
基于单片机的红外测距系统设计.docx_第2页
第2页 / 共45页
基于单片机的红外测距系统设计.docx_第3页
第3页 / 共45页
基于单片机的红外测距系统设计.docx_第4页
第4页 / 共45页
基于单片机的红外测距系统设计.docx_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《基于单片机的红外测距系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的红外测距系统设计.docx(45页珍藏版)》请在三一办公上搜索。

1、保密类别编号保密0802041武汉高校珞珈学院毕业论文基于单片机的红外测距系统设计系别电子信息科学系专业通信工程年级年级02班学号20100802041姓名钱源指导老师崔黎武汉高校珞珈学院2014年5月22日现代科学技术的发展,进入了很多新领域,而在测距方面先后出现了激光测距、微波雷达测距、超声波测距与红外光测距。为了实现物体近距离、高精度的无线测量而采纳了红外放射接收模块作为距离传感器,单片机作为处理器,编写A/D转换和显示程序,完成了一套便推式的红外距离测量系统,系统可以高精度的实时显示所测的距离,本系统结构简洁牢靠、体积小、测量精度高、便利运用。红外测距的探测距离较短,一般在几十厘米之内

2、,本文介绍的一种基于AT89C52单片机设计的红外测距仪,可以测量距离。首先,在绪论中,介绍了红外线与红外传感器的分类和应用、AT89C52单片机的应用与说明以与MCP3001芯片的简介。其次,阐述了与红外测距的工作原理基本结构,对红外测距传感器也做了具体说明。再次,介绍了红外测距的硬件设计和软件设计。在硬件设计中,介绍了红外测距实现的构想,给出红外测距硬件电路原理图,并说明白红外测距传感器、键盘、A/D转换电路、LCD显示电路工作原理与AT89C52单片机的管脚安排。在软件设计中,说明白整个程序流程与各程序设计的函数。最终,是对整个设计的结论,说明白红外测距实现的可行性。关键词:红外测距A/

3、D转换实时显示红外线单片机第1章绪论错误!未定义书签。1.1 课题探讨的背景和意义O1.2 本课题探讨的热点与发呈现状11.3 本课题探讨的目的21.4 本课题探讨的内容2第2章红外测距的工作原理与基本结构41.1. 方案与设计思想:42. 2红外测距系统的基本结构5第3章红外测距的硬件设计72.1. 红外收发模块72.2. 2A/D转换模块82.3. 1.CD显示模块122.4. AT89C52单片机概述133. 5整个红外测距系统显示16第4章红外测距的软件设计184. 1程序流程图18第5章系统软硬件调试205. 1硬件调试206. 2软件调试207. 3测试结果绘图215.4调试中遇到

4、的问题22结论23参考文献24附录O后记35第1章绪论红外线(Infrared)是波长介乎微波与可见光之间的电磁波,其波长在760纳米(nm)至1毫米(mm)之间,是波长比红光长的非可见光。全部高于确定零度(-273.15)的物质都可以产生红外线。现代物理学称之为热射线。医用红外线可分为两类:近红外线与远红外线。含热能,太阳的热量主要通过红外线传到地球。它的波长介于可见光和微波之间,范围大致在0.75MlOO0M的频谱范围之内。相对应的频率在4x10“、3x10HZ之间,红外线可分为三部分,即近红外线,近红外线波长范围为中红外线波长范围为3M30M,远红外线波长范围为301000/Mo红外光具

5、有反射、折射、散射、干涉、汲取等特性。它能全部汲取投射到它表面的红外辐射的物体称为黑体;能全部反射的物体称为镜体;能部分反射、部分汲取的物体称为灰体。严格地来讲,在自然界中,不存在黑体镜体和透亮体。1.1 课题探讨的背景和意义红外线是不行见的光,是电磁波的一种形式,可以用来进行距离的测量,其应用历史可以追溯到上世纪60年头。现代科学技术的发展进入了很多新领域,而在测距方面先后出现了激光测距、微波雷达测距、超声波测距与红外线测距。其中激光测距是靠激光束照耀在物体上反射回来的激光束探测物体的距离。由于受恶劣的天气、污染等因素影响,使反射的激光束在确定功率上探测距离比可能探测的最大距离削减一半左右,

6、损失很大,影响探测的精确度;微波雷达测距技术为军事和某些工业开发采纳的装备和振荡器等电路部分价格昂贵,现在还没有开拓民用市场;超声波测距在国内外已有很多人做过探讨,由于采纳特别专用组件使其价格高,难以推广;红外线作为一种特别光波,具有光波的基本物理传输特性一反射、折射、散射等,且由于其技术难度相对不太大,构成的测距系统的成本低廉,性能优良,便于民用推广。另外红外测距的应用越来越普遍。在很多领域都可以用到红外测距仪。红外测距一般具有精确度和辨别率高、抗干扰实力强、体积小、重量轻等优点,因而应用领域广、行业需求众多,市场需求空间大。红外测距的探讨就特别有意义。红外线测距仪指的就是激光红外线测距仪,

7、红外测距仪一一用调制的红外光进行精密测距的仪器,测程一般为1-5公里。在100米以内则超声波测距更有优势,但是超声波测距的距离一般无法测量1米以内,而红外测距则可以测出这一段距离,而且有着不错的精度,在本课题中探讨的就是这一类状况的红外线测距。1. 2本课题探讨的热点与发呈现状常见的红外传感器可分为热传感器和光子传感器。依据国内近年来红外光电测距仪的发展状况,由于国家对外开放政策的实施和测量工作的须要,近年来国内一些光学仪器厂和电子仪器厂分别从瑞典、瑞士和日本等国引进几种红外测距仪组装线,组装测距仪,我国有关工厂和院校近年来也研制出一些产品。由于微处理机在国产测距仪上的应用,大大缩小仪器的体积

8、,同时也削减出故障的几率,使得国产测距仪的性能和质量都较过去有很大的提高。在国家“六五”安排攻关中,常州其次电子仪器厂研制的DCHZ型多功能红外测距仪就是一个很好的例证。该产品经国家测绘局测绘科学探讨所光电测距仪检测巾心进行全面质量鉴定后认为:该仪器的外型美观、体积小、重量轻、操作便利、精度高和性能稳定,并通过国家有关部门组织的鉴定。目前已经起先小批量试生产。在进行侧距仪研制同时,国家有关部门也组织大量力气对红外光电测距仪的检测方法进行探讨。一、热传感器热传感器是利用入射红外辐射引起的传感器的温度变更,进而使有关物理参数发生相应的变更,通过测量有关物理参数的变更来确定红外传感器所汲取的红外辐射

9、。热探测器的主要优点是相应波段宽,可以在室温条件下工作,运用简洁。但是,热传感器相应时间较长,灵敏度较低,一般用于低频调制的场合。热传感器主要类型有:热敏传感器型,热电偶型,高莱气动型和热释放电型四种类型。二、光子传感器光子传感器是利用某些半导体材料在入射光照耀下,产生光子效应,使材料电学性质发生变更。通过测量电学性质的变更,可以知道红外辐射的强弱。利用光子效应所制成的红外传感器,统称光子传感器。光子传感器的主要特点是灵敏度高,响应速度快,具有较高的响应频率。但由于其一般要在低温下工作,导致探测波段较窄。依据光子传感器的工作原理,一般分为内光电和外光电传感器两种,后者又可分为光电导传感器、光生

10、伏特传感器和光磁电传感器等三种。1.3 本课题探讨的目的我们所进行的课题便是做一个简易的,精确的,近距离的距离检测仪,这也是对我们所学学问的一种考验方法,从中我们可以更系统的相识单片机,了解AD转换和红外收发模块。1.4 本课题探讨的内容红外传感器的测距基本原理为:红外放射电路的红外发光管发出红外光,红外接收电路的光敏接收管接收放射光,依据放射光的强弱推断出所测的距离。由于接收管接收的光强度是随着发光管与测量物的距离变更而变更的,因而,与测量物的距离近则接收光强,距离远则接收光弱。具体方法如图1所示,红外模块发出并接收到红外线信号;AD转换模块将接收到的模拟信号转换成数字信号再交给单片机,启动

11、单片机中断程序,此时单片机得到数字信号也就是电压值,再由软件进行判别、计算,得出距离数并送给LED/LCD显示。图1.1反射能量法原理2. 第2章红外测距的工作原理与基本结构3. 1.方案与设计思想:方案一、时间差测距法:此方案是将红外放射管发送信号与接收管接收信号时间差写入单片机中,在单片机中用光传播距离公式算法将距离计算出来。原理图如图2.1所示。时间差距离S=c*t显示距离图2.1时间差测距法原理方案二、反射能量法:此方案是用红外放射管放射信号,然后用红外接收管接收信号,将接收的信号强度经过AD转换,录入单片机中显示出来,并将对应的距离记录下来。完成一段范围内的测量,将所记录下的数据写入

12、单片机中,然后便可进行测量距离了。原理图如图2.2所示。图2.2反射能量法原理光的衰减是呈线性关系的,公式是I=Ie-ud),其中I是光强度,U是光在介质中线性衰减系数,d是光走过的路程,e是自然对数底数。是光子能量,I就是光束的能量。要求得耗损的能量AE,则可通过计算:E=I=(I-)=Il-e(-d)=El-e(-Ud)其中E是激光能量。不过,10Cm的衰减是很弱的,可以忽视。方案比较:通过以上两种方案分析,我们可以看到方案一的误差很大,由于红外装置测的距离比较近,而光速很快,因此回馈到单片机中的时间很短,单片机很难测出精确的时间并精确处理,而在一般状况下的光速不太精确,因此误差较大,而且

13、依据距离=光速*时间,要想测10米时间至少要精确到0.0000001s,明显用单片机是很难做到的。方案二是先将试验数据录入单片机中,因此在测量时存在的误差就会相对较小,综合考虑,选择方案二可行。2. 2红外测距系统的基本结构该系统主要由红外测距传感器、A/D转换电路,AT89C52芯片、键盘接口电路与LCD显示电路等组成。其组成框图如图2.3所示:复位电路LED显示江外距离传惠器时钟电路AT89C52A/D的族电路图2.3红外测距系统的基本结构第3章红外测距的硬件设计2.1 红外收发模块红外发送管是用于发送信号,经过障碍物将信号反射,红外接收管接收到反射回来的信号,然后依据信号强弱将对应的电压

14、值显示在显示模块上,并将此时的距离记录下来。然后整改程序,用红外收发模块进行测距,就可在显示模块上显示出红外接收管接收的信号强度对应的距离值。GP2Y0A02YK0F红外测距传感器20-150cm图3.1红外传感器结构图图3.2protues中红外传感器如图3.2所示GP2Y0A02YK0F有3个端口,其中VCC接信号输入,VO接MCP3001的IN+,GND接地线。GP2Y0A02YK0F测量范围在20Cm-150Cm之间,测量误差小于0.5cm。是一个距离测量传感器单元,PSD的集成组合构成(位置敏感探测器),IRED(红外发光二极管)和信号原理电路。由于采纳三角测量方法,各种物体的反射率

15、,对环境温度和工作时间距离检测不简洁产生影响。举荐工作条件:参数符号条件等级单位电源电压VccV表3.1红外传感器参数确定最大额定值:表3.2红外传感器参数参数符号等级单位电源电压Vcc-0.3+7V输出端电压Vo-0.3s+0.3V工作温度TOPRTo到+60储存温度TSTG-40到+703. 2A/D转换模块A/D转换器依据转换的原理可分为干脆A/D转换器和间接A/D转换器两种类型。干脆A/D转换器,就是把模拟信号干脆转换成数字信号,比如逐次靠近型。间接A/D转换器是先把模拟量转换成中间量,然后再转换成数字量,如电压/时间转换型,电压/频率转换型,电压/脉宽转换型等。其中积分型A/D转换器

16、的电路简洁,抗干扰的实力强,而且能做到高辨别率,但是转换速度较慢。有些转换器还将多路开关、基准电压源、时钟电路、译码器和转换电路集成在一个芯片内,已经远超出了单纯A/D转换功能,运用特别便利。A/D转换器转换原理:一个完整的A/D转换过程中,必需包括取样、保持、量化与编码等路。取样与保持由于取样的时间极短,取样输出为一串断断续续的窄脉冲。要把每个取样的窄脉冲信号数字化,须要确定的时间。因此在两次取样之间,应将取样的模拟信号短暂储存直到下个取样脉冲到来,我们把这个动作称之为保持。在模拟电路设计中,须要增加一个取样-保持电路。为了保证正确转换,模拟电路要保留着还未转换的数据。量化与编码量化与编码电

17、路是A/D转换器的核心组成部分,量化方法:先取最小量化单位=U2n,当输入模拟电压U在(TA之间时,则归入OA,当U在之间时,则归入1A。假如量化单位=2U(2n+l-1),当输入电压U在0A2之间时,归入0,当U在232之间时,就要归入1A。辨别率辨别率(ReSoIUtion)指数字量变更一个最小量时模拟信号的变更量,定义为满刻度与2n的比值。辨别率又称精度,通常以数字信号的位数来表示。位数越高,辨别率就越高。若小于最小变更量的输入模拟电压的任何变更,将不会引起输出数字值的变更。不须要辨别率高的场合,所得到到的就大多是噪声。辨别率太低,就会有无法取样到所需的信号。转换速率转换速率(COnVe

18、rSiOnRate)是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。为了保证转换的正确完成,采样速率(SamPleRate)必需小于或等于转换速率。转换时间转换时间是指A/D转换器完成一次A/D转换所需的时间。从启动信号起先到转换结束并得到稳定的数字输出值为止的时间间隔。转换时间越短,转换速度就越快。精准度对于A/D转换器来说,精准度指的是在输出端产生所设定的数字数值,相对精准度指的是满刻度值校准以后,随意数字输出所对应的实际模拟输入值与理论值之差。对于线性A/D转换器,其相对精准度就是它的线性程度。由于电路制作上的影响,会产生像是非线性误差,或是量化误差等减低相对精准度的因素。MCP

19、3001特性:10位辨别率1LSBDNL(最大值)1LSBINL(最大值)片上采样和保持电路SPI串行接口单电源供电的电压范围:2.7V至5.5V5V时的采样速率为200ksps2. 7V时的采样速率为75ksps低功耗CMOS技术一5nA典型待机电流,2A(最大值)一5V时,工作电流的最大值为500A8引脚PDIP,SOIL,MSOP和TSSOP封装说明:MiCroChiP的MCP3001,是一款具有片上采样和保持电路的10位逐次靠近型A/D转换器(ADC)o该器件供应一个伪差分输入通道:指定差分非线性(DNL)和积分非线性(INL)的最大值为1LSBo它运用符合SPI协议的简洁串行接口与器

20、件通信。当时钟速率为2.8MHZ时,该器件的采样速率最大数值可为200ksps。MCP3001器件的工作电压范围很宽,为2.7V5.5V。低电流设计允许器件在典型待机电流为5nA和典型工作电流为400A条件下工作。该器件以8引脚PDIP,MSOP,TSSOP和150milSOIL封装形式供应。图3.3MCP3001引脚图图3.4protues中MCP3001接线图表3.3MCP3001引脚名称功能%2.7至5.5V电源VsS地线IN+正模拟输入IN-负模拟输入CLK串行时钟DouT串行数据输入CS/SHDN片选输入/关闭VREF基准电压输入如图3.4所示,mcp3001的VREF接vcc,IN

21、+接GP2Y0A02YK0F红外测距传感器的Vo,CLK接单片机上的P2.2,Do接单片机上的P2.1,CS接单片机上的P2.OoMCP3001具有片上采样和保持电路的10位逐次靠近型A/D转换器(ADC),逐次靠近型A/D转换器的工作原理是将待换的模拟输入信号与一个推想信号进行比较,依据二者大小确定增大还是减小输入信号,以便向模拟输入信号靠近。推想信号由D/A转换器输入的数字信号就对应的时模拟输入量的数字量。这种A/D转换器一般速度很快,但精度不高。A/D转换器的主要性能指标中以辨别率和转换速率最为重要,辨别率越高,就能把满量程里的电平分出更多份数,得到的转换结果就越精确,得到的数字信号再用

22、DAC转换回去就越接近原输入的模拟值(10位ADC能辨别2的10次方)。MCP3001辨别率:10位ADC能辨别出满刻度的1/1024.MCP3001转换速率:速度很快。由上可知,MCP3001的性能相比其他ADC要好很多。3. 3LCD显示模块图3.5protues中LCD显示模块1.CD与单片机的接口电路如图3.5所示,单片机PO分别接D1-D7,同时接上排阻,而在排阻另一端接上vcc。单片机上的P2.5接E,P2.6接R肌P2.7接RS,单片机通过PO口向LCD输送数据,显示测得的距离。值得留意的是,PO口要接上拉电阻来保证对LCD的胜利驱动。1.CD1602已很普遍了,可以很便利地应用

23、于市面上大部分的字符型液晶。字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线Vcc(15脚)和地线GND(16脚),其限制原理与14脚的LCD完全一样,定义如下表所示:表3.4LED引脚功能引引脚电输入/输作用脚号名平出1VSS电源地2Vcc电源(+5v)3Vee对比电压调整4RS0/1输入O=输入指令I=输入指令5R/W0/1输入0二向LED写入指令或数据I二从LED读取信息6E1,Ifo输入使能信号,1时读取信息、,IfO(下降沿)执行指令3.4AT89C52单片机概述单片机是在集成电路芯片上集成各种组件的微型计算机,这些组件包括中心处理器CPU、数据存储器

24、RAM、程序内存ROM、定时/计数器、中断系统、时钟部件的集成和I/O接口等电路。由于单片机具有体积小、价格低、牢靠性高、开发应用便利等特点,因此在现代电子技术和工业领域中应用较为广泛,在智能仪表中单片机是应用最多、最活跃的领域之一。在限制领域中,现如今人们更留意计算机的底成本、小体积、运行的牢靠性和限制的敏捷性。在各类仪器、仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,提高计算机的运算速度,简化仪器仪表的硬件结构,提高其性能价格比。AT89C52单片机的时钟信号通常是由两种方式产生:一是内部时钟方式,二是外部时钟方式。在AT89C52单片机内部有一振荡电路,只要在单片机的X

25、TALl和XTAL2引脚外接晶振,就构成了自激振荡器并在单片机内部产生时钟脉冲信号。电容的作用是稳定频率和快速起振,电容值在5-3OPF之间,典型值为30pF。晶振CYS的振荡频率范围在1.2-12MHz间选择,典型值为12MHz和11.0592MHzo当在AT89C21单片机的RST引脚引入高电平并保持2个机器周期的时候,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就会处于循环复位状态)。复位电路通常采纳上电自动复位和按钮复位两种方式。最简洁的上电自动复位电路中的上电自动复位是通过外部复位电路的电容充电来实现的。只要VCC的上升时间不超过1ms,就可实现自动上电复位。时钟频率用6

26、MHZ时C取22uF,R取lKo除了上电复位外,有时候还须要按键手动复位,本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经过电阻与电源VCC接通来实现的。最小系统如图3.6所示。图3.6AT89C52单片机最小系统AT89C52单片机的标准功能AT89C52是美国Atmel公司生产的低电压、高性能CMOS的8位单片机,片内含8KB的可反复擦写的程序内存和12B的随机存取数据存储器(RAM),器件采纳AtmeI公司的高密度、非易失性的存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位元中心处理器(CPU)和FlaSh存储单元,功能强大的AT

27、89C52单片机可敏捷应用于各种限制领域中。AT89C52的各引脚功能:(1) VCC:电源(2) GND:地(3) PO:PO口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对PO端口写“1”时,引脚用作高阻抗输入。(4) Pl:Pl口是一个具有内部上拉电阻的8位双向I/O口,Pl输出缓冲器能驱动4个TTL逻辑电平。表4-1Pl口其次功能引脚号其次功能Pl.0T2(定时器/计数器T2的外部计数输入),时钟输出Pl.1T2EX(定时器/计数器T2的捕获/重载触发信号和方向限制)PL5MOSI(在系统编程用)Pl.6MISO(在系统编程用)Pl.7SCK(在系统编程

28、用)(5) P2:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。(6) P3口:P3口是一个具有内部上拉电阻8位双向I/O,对P3端口写“1”时,可以作为输入口运用。P3口可作为AT89C51其次功能运用,如表3.5所示。表3.5P3口其次功能引脚号其次功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INTO(外部中断0)P3.3INTo(外部中断0)P3.4TO(定时器0外部输入)P3.5Tl(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)(7) RST:复位输入。当输入连续两个机器周期以上

29、高电平常为有效,用来完成单片机单片机的复位初始化操作。(8) ALE/PROG:地址锁存限制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。(9) PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。(10) EA/VPP:访问外部程序存储器限制信号(11) XTAL1:振荡器反相放大器和内部时钟发生电路输入端。(12) XTAL2:振荡器反相放大器输出端。3.5整个红外测距系统显示整个红外测距系统由AT89C52芯片、红外距离传感器、复位电路、时钟电路、A/D转换电路与LCD显示器构成。硬件结构电路图

30、如图3.7所示:图3.7protues中整体系统单片机AT89C52左端分别接了时钟电路和复位电路,这是单片机最小的系统。XTALl和XTAL2串连一个晶振,并且分别接上一个20p的电容,两个电容另一端都接地,构成时钟电路。RST同时接上100P电容,4脚按键,Ik电阻,4脚按键另一端接上一个Ik电阻再与100p电容并联接VCC,Ik电阻另一端则接地,构成复位电路。单片机AT89C52右端PO端同时接LED的D1-D7端口和排阻,P2.0接CLK,P2.1接DO,P2.2接CS,P2.5接E,P2.6接R肌P2.7接RS。MCP3001的VREF接vcc,IN+接红外距离传感器的Voo第4章红

31、外测距的软件设计4.1程序流程图在整个系统运行过程中。当红外系统被启动后,首先,对AT89C52单片机进行初始化。然后,当AT89C52单片机接收到红外接收电路传输的电压信号后,经A/D转换程序,将片外的模拟信号转换为单片机可识别的数字信号,并经电压一距离转换子程序,将变更的电压转换为距离。最终,在动态扫描LCD显示器上显示出来。主程序流程图如图4.1所示。图4.1程序流程图红外测距系统软件设计主要由主程序,延时函数,显示程序函数组成。程序起先,红外测距主程序第一步将显示屏1602初始化,并显示测量起先,其次步导入延时程序,并显示程序,显示电压和距离。其次子函数调用,读MCP3001函数并转换

32、函数得出电压值,再调用距离计算函数,得出距离值。此时主函数中显示函数会将电压和距离显示出来,程序就此结束。此程序中多次运用调用子函数,读MCP3001函数,距离计算函数,算术平均滤波程序构成AD值的采集和计算;LCD忙标记推断函数,写数据子函数,写吩咐子函数,显示数据调整函数,字符串显示函数,显示子函数构成显示函数;1602初始化函数,LCD清屏函数则构成清屏函数。不过完成程序并不是一次就能胜利的,首先要先将AD采集程序写入单片机中,进行试验,将固定距离所采集到的信号强度记录下来,然后将对应的数据加入程序中,最终通过红外模块进行测量,便可显示出对应的距离值,主程序是整个程序的基础,也是核心。此

33、时距离计算函数才算完成,距离计算函数实际就是测量时得出距离电压关系,我们反过来先拿出距离再得出电压,举例来说,用卷尺量1米距离,再用红外测距系统来量1米距离,这时对应1米距离的电压登记来。依据这个方法把其它各个距离的电压登记来,把这个对应关系变成计算距离的函数,再测距时就可以依据这个函数来得出距离了。第5章系统软硬件调试5.1硬件调试红外测距仪的制作为了使信号稳定,最好给输入电源加上一个滤波电路,否则显示屏上有闪耀,不稳定,会增加误差,但总体来说不影响结果。在本次设计中,主控模块是特别重要的部分,它不仅是本次设计的核心,在本次硬件调试中也遇到了问题,接上电源的时候,显示屏不亮,没有任何显示,于

34、是我做了如下的工作:(1)检查电源是否通电,发觉指示灯亮着;(2)编程使Pl为低电平,检查到Pl输出为低;(3)检查Po口未接上拉电阻,接上显示屏发亮了。在本次硬件调试中还遇到了显示屏出显示,但显示有很大问题,调整距离后,显示还是不变,检查后发觉InCP3001与VCC没接好,或CS,DO,CLK与单片机接触不良。5.2软件调试硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。依据所设计的电路参数和程序,测距仪能测的范围为20Cm150Cnb测距仪最大误差不超过0.5cmo系统调试完后对各个距离进行多次测量,与预定值进行比较,对测量误差进行多次试验分析,不断调整器件和修改程序使其

35、达到实际运用的测量要求。为了更便利了解电压与距离之间的关系,我将程序做了些许修改,在显示距离的基础上再把电压也显示出来了,这样结果一目了然。因为电压与距离之间的关系不是线性关系,所用用函数来表示会有误差,于是我将此函数修改,重新测量,每个距离对应的电压记录下来输入程序,如此一来,测试更加精确,误差更小了。5.3测试结果绘图图5.2是红外距离传感器GP2Y0A02YK0F电压距离关系图,图中所测电压对应的不同距离值,图中横坐标代表距离,纵坐标是距离电压值,单位是cm。从图中可以看出,电压与距离并不是线性关系,而是一条相对平滑的曲线。因此结果不确定特别精确,接近此图即可。最终的红外测距系统可以实现

36、20-150Cnl的近距离测量,测量误差为0.5cm,可以计算出被测物体的距离。在测量距离精度方面,还有待于改进。图5.1GP2Y0A02YK0F电压距离关系图表5.1电压距离关系压V.89v.94v.47v.18v.98.85.74.66.60.54.50.46.43.40最距离cm90112222021222314151际距00000000001020304050cm5.4调试中遇到的问题在焊接过程中一些地方出现虚焊等接触不良的问题,导致显示不稳定有闪耀。接线过程中用插针接线简洁导致接线松动,没接到或者接触不良。环境问题红外线在空气介质的传播过程中会有很大的衰减,其衰减遵循指数规律。一般状

37、况下能测150CnI,但是空气介质发生变更,如尘埃过多,导致红外线强度降低,测量发生误差,且测量距离变小。四周有其他辐射源,并且强度很大时会影响测量结果结论对所设计的电路进行测量、校准发觉其测量范围在20cm-150c内的平面物体做了多次测量发觉,其最大误差为0.5cm,且重复性好。该测距仪稳定性比较高、灵敏度比较高,测量时在红外线测距仪四周没有其它物体。但是在检测过程中会有一些不便的地方:1 .测量时在红外线测距仪和目标物体之间周没有其它可阻挡的物体,由于是依据反射能量法,且放射功率有限,反射回来的红外线能量简洁过低而无法采集,测距仪无法测量150Cnl外的物体。2 .必需在干净清爽的空气环

38、境下测量,空气中一旦尘埃过多,会对反射红外线强度有极大的干扰,最终影响计算距离的值。3 .不能够实现不同温度下的测距功能。4 .因为超声波是将空气作为媒介所以受电磁干扰比较大。红外线测距仪的原理有两种:一种是红外线传播的时间来计算出传播距离;一种是依据放射光的强弱可以推断所测的距离,由于接收管接收的光强是随与发光管的距离变更而变更的,因而,距离近则接收光强,距离远则接收光弱。由上述的分析知,假如能够干净清爽的空气环境,稳定的温度下,无其它电磁干扰,阻挡的物体,能够获得较高的测量精度。本电路设计由于元器件与其成板误差,测量最大距离未能达到设计初衷要求,但对测量距离结果的误差影响不大,能满意日常生

39、活、工业生产的测量要求,因此此设计有着很大的意义。同时通过这个设计能够提高我对单片机的相识、编程实力和电路设计实力。参考文献1张明峰,PIC单片机入门与实战,北京航空航天高校出版社2窦振中,PIC单片机应用设计与实例,北京航空航天高校出版社3谢自美,电子线路综合设计,华中科技高校出版社,2006-64康华光,电子技术基础:模拟部分(第五版),高等教化出版社,20065潘永雄,沙河.电子线路CAD好用教程M.西安:西安电子科技高校出版社:2007.6 51单片机C程序设计100例.7康华光主编.电子技术基础M.第四版.北京:高等教化出版社,19998单片机原理与应用试验.武汉高校珞珈学院9一种红

40、外线测距技术的探讨10红外测距传感器的原理与设计最终版11刘坤,51单片机典型应用开发范例大全中国铁道出版社12彭伟,单片机C语言程序设计实训一基于8051+Proteus仿真电子工业出版社13薛小玲、刘志群、贾俊荣编著单片机接口模块应用于开发实例详解北京航空航天高校出版社201014谭浩强,著C程序设计(第三版)清华高校出版社200515何桥、段清明、邱春玲编著单片机原理与应用中国铁道出版社200416曲波肖圣兵吕建平编著工业常用传感器选型指南清华高校出版社200217陈鸿茂编著常用电子器件简明手册中南矿业高校出版社2001附录Sinclude#include#defineucharunsi

41、gnedchar#defineuintunsignedint#defineulongunsignedlongsbitRS=P20;LCD吩咐/数据端sbitRW=P21;LCD读/写端sbitLCDE=P2-2;LCD使能端sbitMCP,CS=P23;/MCP3001与AT89S52的管脚接线定义sbitMCP_D0=P2M;void delay_ms(uint n);延时函数sbitMCP.CLK=P25;uintmeasure;ucharflag;BUSy标记ucharcodedis口=MeasureStart”;显示ucharcodedisl=,V=.V,L=CM;ucharcoded

42、is2=0123456789.”;显示代码ucharcodedis3=,0utMeasure!z/;显示uchardis_buf8;显示缓冲区voidL_delay(void);短延时uintread_MCP(void);读MCP3001voidinit_1602(void);1602初始化函数voidbusy(void);/LCD忙标记推断函数voiddat_wrt(uchardat);写数据子函数voidcmdwrt(ucharcmd);写吩咐子函数uintdistance(void);距离计算函数voidlcd_start(ucharstart);设定显示位置函数voidLCDCIear

43、(void);LCD清屏函数uchardat_adj(uintdatl);显示数据调整函数voidprint(uchar*str);字符串显示函数voiddisp(uintdat);显示子函数uintaverage(void);算术平均滤波程序/*函*/main()init_1602();显示测量起先/ /显示rWj度print(dis);delay_ms(100O);while(l)measure-distance();disp(measure);delay_ms(100);voiddelay_ms(uintn)uintj;whiIe(n一一)for(j=0;j125;j+);voidL_d

44、elay(void)uchari;for(i=0;i5;i+)_nop_();/*读MCP3001函数*/uintreadMCP(void)/read_MCP采集的数据并转换后的值uchari;uinttemp-0;MCP_CS=1;1._delay();CS置低,起先采样数据读转换的10位数据MCP_CS=O;for(i=0;i13;i+)MCP_CLK=O;1._delay();MCP_CLK=1;temp=l;if(MCP_DO=l)tempI=0x01;MCP_CS=1;temp=0x03ff;获得有效转换值return(temp);*LCD忙标记推断函数*/voidbusy(void)flag=0x80;while(flag0x80)赋初值高位为1禁止读写操作使能位禁止时等待接着检测PO=Oxff;RS=O;指向地址计数器RW=I;读LCDE=I;信号下降沿有效fIag=PO;读状态位元高位为状态LCDE=O;/*写数据子函数*/voiddat_wrt(uchardat)busy();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号