基于51单片机的手持式激光+测距仪设计与实现毕业论文.docx
- 文档编号:12738605
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:32
- 大小:254.41KB
基于51单片机的手持式激光+测距仪设计与实现毕业论文.docx
《基于51单片机的手持式激光+测距仪设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《基于51单片机的手持式激光+测距仪设计与实现毕业论文.docx(32页珍藏版)》请在冰豆网上搜索。
基于51单片机的手持式激光+测距仪设计与实现毕业论文
---文档均为word文档,下载后可直接编辑使用亦可打印---
第一章绪论
1.1课题的背景和意义
这个项目的需求是不用进行接触测量,开发出运行快速,准确度高,而且具有能够忍受强干扰,体积小,重量轻的激光测距仪。
激光测距仪作为一种不用进行接触测量仪器已被广泛用在遥感探测,精密测量,建筑安全,安全防卫监控,智慧控制等领域,覆盖了各种技术学科。
目前广泛使用的激光测距仪,主要用脉冲和相位式,还有激光三角法测距,三角测距的特点是简便、精度高,不用考虑接收发射时间。
测量准确度受光学系统和CCD成像系统的限制,对接收器件要求高,同时不能测量透明物体。
激光有多种特性,方向性好,亮度高,单色性好,能够用来进行距离测量。
基于编码发射的激光测距仪具有多种特点。
尤其是在恶劣的室外环境条件下,利用激光测距不受天气因素的影响,不需要大气能见度,可以全天候观测,也不受地面反射和抗电磁干扰能力,在保密性上有着很大的优势。
许许多多的行业需要这种测量仪器,所以具有很广阔的前景。
毕业设计的目的是设计一种简单的手持式激光测距仪。
采用了夏普GP2Y0A02YK0F测距传感器模块,采用三角测量方法。
1.2国内外现况
国外许多大学,公司,研究机构进行了激光测距仪的研究。
主要有芬兰的奥卢大学、美国的施瓦茨电光公司、埃克森公司等。
施瓦茨电光公司为美国国家数据中心研制了无人自动激光海浪测量系统;为美国公路管理局研制了用来监控车辆的激光无人感应系统,从而提高了交通利用率;;还开发研制了军机坠毁激光报警系统。
埃克森美孚开发用于海上石油开发的脉冲测距系统。
1992年亚特兰大激光公司为警方专门开发了手持式激光测距测速仪,用于车辆的距离和速度。
美国于1998年开发出了美国塔斯科测距能力800米相机类型LD激光测距仪。
美国徕卡展出实用的小LD测距仪,测量距离0.2〜30米。
自1995年以来,国际上对人眼安全的激光测距仪研制很快,已经进行了在波长范围800〜900nm的,峰值功率的10W,脉冲宽度为20〜50ns的,重复率1〜10kHz时,测量10米〜1公里非合作目标激光测距仪的研究。
在原有的固体气体激光测距仪基础上,在80年代开始研究。
目前,基本技术已经被用于主要是为了解决工程问题,开发各种应用上。
航天科工集团八三五八所研制出精度0.5m,测程200m,数据率100Hz的激光测距仪。
中国计量学院的电子所通过与国外的同行合作,研制成功了一种测距达到1千米,精度达到一米,使用线性放大技术的方便携带的激光测距仪。
国内公司也开展了研究,位于常州的来赛公司研制半导体激光测距仪,它的探测距离达到200m、测距的精度也达到0.5m。
西南技术物理研究所还研究了激光高的表,它的工作范围2—800米,测量精度达到1m,使用工作波长为905nm,一秒钟内重复发射一百次。
激光器波长范围是从375nm~1650nm。
现在,在市场上有多种的手持激光测距仪器,有一种是半导体激光仪,它发射的激光频率大约是905nm和1540nm。
还有一种是是GAY激光,它工作的波长为1064nm。
现在,人们越来越追求设备的安全性和无害性,所以对身体有危害的1064nm的YAG激光目前在外国的便携激光测距中完全取消了。
因为如果它不小心照到使用者的皮肤和眼睛的话,皮肤会受伤,尤其眼睛的伤害可能是一辈子的事。
1.3本课题主要研究内容
利用红外激光传感器,以单片机为核心,开发设计手持红外激光测距仪,并进行调试。
主要包括;
1.最小的单芯片系统的硬件设计;
(1)在上电复位电路自动复位和手动复位。
(2)晶体振荡器电路与无源晶振电路。
(3)发光二极管电路。
2.液晶屏的硬件设计;
(1)选择5110的LCD。
3.警告声光报警电路;
(1)报警输出电路采用蜂鸣器进行报警。
4.硬件功能测试程序。
(1)对于每个模块进行调试。
(2)整体进行调试。
1.4开发环境介绍
1)开发环境
●Intel(R)CoreTM
(2)CPUT23791.73GHz
●2G内存250G硬盘
●Microsoft®Windows™XPProfessional
●MicrosoftVisualC++6.0中文版
2)运行环境
●Intel®Pentium®2及以上处理器,32M以上内存,4G以上硬盘
●Microsoft®Windows™9X/NT/2000/XP操作系统
●800*600或以上的屏幕分辨率
第二章硬件介绍
2.1STC89C52概述
单片机是一种集成电路芯片,是采用超大规模技术吧具有数据处理能力的中央处理器CPU随机存储器RAM,只读存储器ROM,多种I/O口和中断系统,定时器计数器等功能(还包括显示驱动电路,模拟多路转换器,A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
因为单片机也是重要的计算机分支领域,所以对其的分类也是十分重要的和必要的。
而在将其分类时,我们可以根据单片机本身的发展情况和应用领域,粗略的将其分为如下几个类型:
专用型,通用型,非总线型,总线型,工控型,家电型。
具体各个类型的用途和发展情况就不一一的详述了。
想要实现系统功能,就必须完成单片机与电路或外部功能信息交流。
这时就需要用到管脚将它们相连接达到通连的效果,同时我们也称管脚将单片机的外特性表现出来。
科技的进步,单片机也更加注重体积和外观了,所以科学家想出了让很多引脚是双功能或多功能的。
就现在的情况来说,51单片机的封装形式是多种多样,本设计就以40线双列直播式封装形式为例尽心详细介绍,如图2-1所示。
图2-151单片机管脚图
1主电源引脚
VCC—40脚。
正常运行和编程校验电源为+5V,有些产品可放宽至2.7~6.0V。
VSS—20脚。
电路接地。
2时钟源
XTAL1—19脚。
一般外接晶振的引脚。
当单片机直接采用外部振荡信号源接地电平。
XTAL2—18脚。
外接晶振的另一引脚。
当单片机直接采用外部振荡信号源则作为输入端口。
3控制,选通或复用
RST/Vpd—9脚。
作为单片机复位信号输入端口。
ALE/PROG—30脚。
作为输出允许地址锁存信号的输出端口,当编程入写时也是编程脉冲的输入端。
PSEN—29脚。
作为连接外部程序存储器的选通信号输出端口,输出低电平时有效。
EA/Vpp—31脚。
作为连接外部或内部程序存储器的选通信号输入端口,输入低电平时有效。
4多功能I/O端口
P0口—32~39脚。
8位漏极开路双向I/O口。
P1口—1~8脚,具有内部上拉电路8位准双向I/O口。
P2口—21~28脚,具有内部上拉电路8位准双向I/O口。
P3口—10~17脚,具有内部上拉电路的准双向I/O口,实际是个特殊的第二变异功能端口。
51单片机就是通过外部封装的40条脚组合成各不相同的应用系统。
51单片机核心组成部分则如下:
主要是由算术逻辑单元,累加器和寄存器组成的运算器;由指令寄存器,时序发生器和操作控制器的程序计数器和由程序计数器,指令寄存器,时序发生器和操作控制器组成的控制器以及主要寄存器。
2.2keilC51的开发环境
KeilC51是由某公司出产的是拥有完美的开发环境使用C语言进行51单片机编程的软件开发系统。
由于是使用的C语言进行编程,相信更加容易被广大使用者接受,因为相比于汇编语言C语言有更加多的使用对象而且C语言更加容易可读和维护也是相当容易可以学习的。
而且KeilC51的装备还是很精良的:
C编译器,宏汇编,连接器和库管理以及最重要的仿真调试器。
KeilC51安装的要求
(1)Pentium或相应兼容处理器PC;
(2)Windows95,98,NT4.0操作系统;(3)至少16MBRAM和20MB硬盘空间。
具体的安装步骤:
第一步双击安装源文件,则出现Keil软件安装画面,安装画面提示在安装之前应当先关闭其他应用程序;第二步单机下一步按钮,出现版权对话框,选择同意选项;第三步单机下一步按钮,出现安装路径对话框,系统有默认的安装的路径,也可以选择其他的安装路径;第四步单机“NEXT”按钮,出现用户信息对话框,需要填写各项信息;第五步单击下一步按钮,进入正常安装界面,显示安装进度和安装文件信息;第六步安装好了之后系统会自动跳转到安装完成界面,最后点击“Finish”安装结束。
代码优化:
在Keil配置中默认的配置可以进行简单的程序开发,许多配置会影响应用程序代码的质量,如果适当的修改参数,可以改善代码空间,那将会提高开发效率。
C51编译器有6种不同级别的优化:
(1)常亮合并,一个表达式或地址计算式内的几个常量合并成一个常量
(2)跳转优化,跳转反演或扩张为最终目标地址(3)无用代码消除,将不可执行的代码从程序中删除(4)寄存器变量,自动变量和函数自变量尽可能放在寄存器中没有为这些变量保留数据存储空间(5)参数通过寄存器传递,通过寄存器最多可传递三个函数自变量(6)全局共用的子表达式消除,将在一个函数中多次出现的子表达式和地址计算式尽可能只计算一次。
单片机的C语言对与Windows系统和对于Dos系统的集成开发环境(IDE)分别对应的是μVision和Ishell,IDE能够完成从编辑到编译到连接再到调试最后到仿真的整个开发流程。
开发人员在编辑C或汇编源文件的时候,可以选择使用IDE本身或者其它编译器都是可以的。
开发人员可以使用C51及C51编译器编译生成目标文件(.obj)。
开发人员解决目标文件时可以通过LIB51来创建生成库文件,或者将其与库文件绑在一起通过L51以这种方法来生成绝对目标文件(.abs)。
开发人员可以使用OH51将abs文件转换变成标准的hex文件,再将生成的文件通过调试器dScope51进行源代码调试或者也可以通过仿真器直接对目标板进行调试。
KeilC51开发软件的优点:
(1)KeilC51在生成的目标代码的速度效率方面有很大的优势,在生成的汇编代码排布也是很紧凑而且可以使读者很快的理解。
开发大型软件KeilC51也能够体现出高级语言在软件开发方面的部分优势。
(2)C语言无论是在功能上,结构,可读性和可以维护上与汇编相比都更加容易学习也更加有优势。
相信只有先用过汇编语言后,再使用C来开发软件的才会在这方面有更加深刻的感悟。
2.2Nokia/诺基亚5110LCD
Nokia的液晶显示屏除了使用在移动电话中,也可以作为各种便携设备的电子显示屏,我们可以看看它与其他产品的区别:
●84x48的点阵LCD,可显示4行汉字,
●接口线很少,包括信号与电源线只有9条,能够让串行口和CPU之间直接对话。
也能够和各种类型的单片机进行通信,如AVR单片机的SPI、MCS51的串口模式0等,数据传输迅速,写入数据无延时。
●如果想安装显示屏或显示屏损坏了想更换新的,十分方便,因为它是使用导电胶让模块与印制版连接,更本不需要到导线,用金属钩就可以连接。
●LCD控制器与晶片已经绑定,模块的大小可以做到很小。
●使屏幕正常的工作的电流在200μA以下,是低电流,具有省电模式。
用Nokia5110液晶的四大理由
1)具有成本效益,LCD1602可以显示32个字符,而Nokia5110差不多,可以显示15个汉字,30个字符。
Nokia5110裸屏仅8.8元,LCD1602一般15元左右,LCD12864一般50~70元。
2)接口简单,仅4根I/O线就可使用,LCD1602是11根I/O线,LCD12864是12根。
3)速度迅速,是LCD12864的20倍,是LCD1602的40倍。
下面就是5110显示屏的实物图,如图2-2
图2-2Nokia5110显示屏
2.3GP2Y0A02YK0F红外激光测距模块
1、距离测量范围:
20to150cm
2.信号输出类型:
电压模拟信号
3.包装尺寸:
29.5×13×21.6mm
4.功耗:
标称值33mA
5.供电电压:
4.5to5.5V
6.精度和采集的AD位数以及转化计算公式相关,10AD一般能达到0.1CM
GP2Y0A02YK0F它是夏普的一款红外激光测距模块。
它一共有三部分构成,红外发光二极管,位置检测电路和信号处理三部分组成。
在所用的三角测量中,有许多因素是不会影响到传感器的测量精度的,比如被测物体的材质,环境的温湿度,还有测量所需要的时间。
当需要测量师,传感器所输出经过处理的电压和探测距离为负相关,有一条电压与距离的曲线。
我们就可以通过测量电压得出距离,所以我们能够在很多场合使用它们,像测量距离和避开障碍。
在最近的数十年中,夏普开发了很多红外激光传感器。
这些传感器体积小,能耗也很小。
工作原理:
基本夏普的红外传感器多是基于三角法测量的原理。
通过发射一束特定角的光,通过红外激光的对象后,光束会反射回来,如下图所示。
CCD检测器对反射后的红外光进行检测,并将得到移动的数值l,就可以利用在初中学过的几何知识进行计算,在原有就知道的一些值,像光发射的角度a,发射镜头和接受镜头中心的距离X,滤镜固有的焦距f后,我们就可以通过简单计算算出距离d。
从图2-3的三角测量原理中我们可以知道,如果测量的距离非常小的时候,光的移动值就可以很大,非常简单,CCD检测器就会根本看不到这个光,也就不会测到移动值了,这个时候电压就为0,也就是距离很远。
还有一点,如果测距的距离很远,偏移的距离会非常小,这个时候如果CCD检测器精度不够的话,就不能够准确的测量这个值,所以想要测量的距离远,那个CCD的分辨率就一定要高。
图2-3测距原理
非线性输出:
SharpGS2XX系列传感器不是线性的。
因此,我们要在现实生活中使用的时候进行修正数据。
对传感器输出电压和测量距离画出一条曲线,就可以在实际使用中获得真实有效的值。
图2-4是典型Sharp的GP2Y0A02YK0F的输出曲线图。
从上图中,可以看到,当探测距离小于10厘米时,输出的电压急剧下降,可以看到物体的距离越来越远了,单从电压看距离远了。
图2-4传感器数值曲线图
第三章硬件系统介绍
3.1红外激光测距的实现构想
为了实现红外激光测距,在硬件设计中,我们可以使红外激光发射驱动电路驱动发射头的红外二极管发出红外激光,当红外激光由CCD接收到,并通过电压转换,将其转换为可测量的电压值,因为接收到的光距离CCD中心距离会随距离的缩小而增大,红外接收电路转化的电压值会随之增强。
又因为电压与距离成比例,通过对转换的电压的计算,我们可以知道红外发射模块与接收模块的距离。
我们采用LCD显示屏动态显示变化中的距离,LCD显示器与STC89C52芯片的P0口与P2.0-2.5接口相接,在接受激光过程中,STC89C52芯片内部会将电压模拟量通过A/D转换将其转化为可显示的数字量,然后通过LCD显示器显示出。
键盘与AT89C52芯片的P1.3、P1.4、P1.5引脚相接,通过键盘接口可以实现设置距离的报警值。
而通行串口通过P3.0,P3.1进行下载与擦除。
3.2结构框图
图3-1结构框图
3.3 系统硬件结构电路图
整个红外测距系统由STC12C5A芯片、红外激光测距模块、键盘、A/D转换电路与LCD显示器等构成,如图3-2所示。
图3-2整体电路图
3.3.1ISP电路
通过下载引脚为P3.0、P3.1,也就是RXD和TXD进行程序下载与擦除,如图3-3所示。
ISP即(In-SystemProgramming)在系统可编程,就是在电路板上器件可以被编入最终的用户代码,不用从电路板上拆下原件,已经编程的器件也可以用ISP方式擦除或再编程,ISP技术是未来发展方向。
XL2000的ISP部份是业界首创的得前卫产品,它完美的将编辑器的可靠性与下载的方便性融合到一起。
经单片机控制时序,将并口ISP兼容能力,可靠问题完全解决了。
快速轻松的对目标板在系统编程,将相关引脚引入目标板中。
图3-3下载与擦除电路
3.3.2稳压电路
稳压电路是一种可以保持输出电压稳定值的电路,它无关于其它的一些因素,像输入的电压,负载为多少,环境的变化,还有电路本身的参数。
这一种电路是可以持续输出稳定的直流电源,被广泛的采用。
而在这个电路中,最重要的是lm7805了。
Lm7805稳压器能够让高于5V的直流电经过整压后以5V输出,lm7805作为三端稳压集成电路,是稳压电路中极其重要的一部分。
我们可以看到,在7805中,有两个电容,它们分别是用作于输入输出的滤波电容,还有一个负载电阻。
一般来说,如果7805输出的电流较大时,我们就应该考虑到散热,加个散热板。
我们可以看到lm7805连接着三个引脚,一根时接地,还有两根分别输入和输出电压,还有一种可以增加输出电压的得电路,在7805的2脚和地之间连接一个用作于稳压的二极管,我们可以将输出电压增加,增加的值为二极管的稳压值。
稳压电路如图3-4所示。
图3-4稳压电路
3.3.3显示模块Nokia5110lcd
5110液晶屏的6根引脚与51单片机的P2I/O口的连接方式:
5110_RST<--->P2.0
5110_SCE<--->P2.1
5110_OSC<--->P2.2
MOS1(SDIN)<--->P2.3
MIS0(DC)<--->P2.4
SCK<--->P2.6
如图3-5所示为5110的连接方式。
图3-55110显示电路
3.3.4键盘
我们设置键盘(图3-6)进行更改距离,所以使用一个单独的键盘按键输入单元,三个按钮,两个按钮和单片机的p35和p35相接,另一个与int1连接,通过键盘接口可以实现设置距离的报警值。
图3-6按键
3.3.5红外激光测距模块
GP2Y0A02YK0F测距模块拥有三条接口,一个接地,一个接电源,一个是数据传输接口。
它由PSD(positionsensitivedetector)和IRED(infraredemittingdiode)以及信号处理电路三部分组成。
三角测量法中,被测物体的材质,温度湿度,测量时间不会影响到传感器的测量精度。
传感器输出电压正比于探测距离。
通过测量电压检测对象就可得出距离,从而使传感器可以用于距离的测量,避障等场合。
图3-7显示了模块的连接方式。
图3-7测距模块
3.3.6复位电路
复位电路(图3-8)设计能够直接关系到单片机系统工作的稳定性,因为单片机电源电压变化时刻不稳定,那么单片机不能立即投入工作,需要继续保持在复位状态,直到电源稳定,单片机才开始工作。
复位电路有三种,有手动按键(上电)复位、自动上电复位和积分复位。
在此说明最简单的上电复位:
即上电后由于电容作用单片机延时一段时间后再开始工作(选择电解电容有正负极,耐压10V以上,容量10uF,使用时不可以接反,电容外壳上白为负极,黑为正极)。
图3-8复位电路
3.3.7时钟电路
单片机内核时钟相当于心脏,其的波形在XTAL1和XTAL2引脚上为波形,频率为所选晶振频率,在51单片机中,晶振频率一般选择为11.0592M或12M。
频率决定单片机的速度,波形质量决定了单片机系统的稳定性,一般把两个滤波电容接在晶振两个引脚接,电容一般选择15~45pf。
单片机的时钟通常需要多种时钟,所以时钟振荡器有振荡器与分频器组成。
Mcs-51内部有一个可控高增益反相放大器,它是用于构成振荡器的。
Xtal1和xtal2是该放大器的输入端与输出端。
在片外跨接一个晶振和两匹配的电容c1与c2,就构成了自激振荡器,如图3-9。
晶体振荡器,简称晶振。
在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。
由于晶体自身的特性致使这两个频率的距离相当的近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。
这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。
晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。
一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。
一般的晶振的负载电容为15p或12.5p ,如果再考虑元件引脚的等效输入电容,则两个22p的电容构成晶振的振荡电路就是比较好的选择。
晶体振荡器也分为无源晶振和有源晶振这两种类型。
无源晶振和有源晶振(谐振)的英文名称不同,无源晶振为crystal(晶体),而有源晶振则叫做oscillator(振荡器)。
无源晶振需要借助于时钟电路才能产生振荡信号,自身无法振荡起来,所以“无源晶振”这个说法并不准确;有源晶振是一个完整的谐振振荡器。
图3-9时钟电路
3.3.8蜂鸣器电路
NPN三极管的基极由IO口控制,P1.7高电平时三极管导通,蜂鸣器与电源的通路接通,蜂鸣器报警,P1.7低电平时三极管截止,蜂鸣器的通路断开不报警。
如图3-10所示。
图3-10蜂鸣器电路
3.4测距原理与测距方法的选择
33.1相位激光测距
由于它具有很高的准确度,一般情况下能够达到毫米级,为了能够有效的反射信号,并且为了能使被测量的物体限制在与仪器精度相关的某一个定位点上,对于这种测距仪一般都会配置有一个反射信号的镜子。
如果调节与光相关的角频率ω,在需要测定的距离D上面来回往返的相位延迟为φ,则可以算出对应时间t:
t=φ/ω将此关系代入(3-6)式距离D可表示为
D=1/2ct=1/2c·φ/ω=c/(4πf)(Nπ+Δφ)=c/4f(N+ΔN)=U(N+)
式中:
其中:
激光信号来回φ--总相位延迟。
ω--角频率调制信号,ω=2πF。
U--值等于四分之一波长调制单元长度
波长调制N--勘测线包含一半的数量。
Δφ--信号线和所测量的相位延迟时间产生较少的π部分。
调制波是勘测线ΔN--波长包括小于一半的小数部分。
半ΔN=φ/ω在给定调制和标准大气条件,的频率的C/(4πf)是一个常数,然后测量到一半测量线的距离包含测量和少量的小数部分的波长测量测量N或φ,由于现代精密加工技术和无线电测向技术发展阶段,φ是为了实现高的测量精度。
由于没有一个相角φπ的可通过测量不同的方法,通常是最广泛使用的测量延迟和相位的数字测量阶段进行,目前的近程激光测距仪用在数字测量原理,为了获得相位φ。
3.4.2脉冲法激光测距
事实上,该原理类似于超声波的相位法测距,从可能的最大大约几百米,精度可达到毫米级,但根据从使用相法这一原理是有限的,不能扩展,这种方法广泛应用于国外。
脉冲激光一般为使用红外激光器,包括近红外和远红外激光的激光,这两者分别发出可见和不可见的光点。
在此技术基础,我们所需要的激光连续性,所以测距仪要求速度慢,瘦肉,峰值输出功率能够高重复率的良好和广泛的。
脉冲激光测距的原理是:
现在讲一讲脉冲激光测距的原理:
首先当确定激光测距的目标时,就发射一束光脉冲,光脉冲经过光学透镜后,就有一束在透镜内进入激
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 手持 激光 测距仪 设计 实现 毕业论文