基于单片机的红外测距系统设计Word格式.docx
《基于单片机的红外测距系统设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的红外测距系统设计Word格式.docx(31页珍藏版)》请在冰豆网上搜索。
3.3LCD显示模块11
3.4AT89C52单片机概述12
3.5整个红外测距系统显示16
第4章红外测距的软件设计18
4.1程序流程图18
第5章系统软硬件调试20
5.1硬件调试20
5.2软件调试20
5.3测试结果绘图20
5.4调试中遇到的问题22
结论23
参考文献24
附录25
后记32
第1章绪论
红外线(Infrared)是波长介乎微波与可见光之间的电磁波,其波长在760纳米(nm)至1毫米(mm)之间,是波长比红光长的非可见光。
所有高于绝对零度(-273.15℃)的物质都可以产生红外线。
现代物理学称之为热射线。
医用红外线可分为两类:
近红外线与远红外线。
含热能,太阳的热量主要通过红外线传到地球。
它的波长介于可见光和微波之间,范围大致在0.75
M~1000
M的频谱范围之内。
相对应的频率在4
~3
HZ之间,红外线可分为三部分,即近红外线,近红外线波长范围为0.77
M~3
M,中红外线波长范围为3
M~30
M,远红外线波长范围为30
M。
红外光具有反射、折射、散射、干涉、吸收等特性。
它能全部吸收投射到它表面的红外辐射的物体称为黑体;
能全部反射的物体称为镜体;
能部分反射、部分吸收的物体称为灰体。
严格地来讲,在自然界中,不存在黑体镜体和透明体。
1.1课题研究的背景和意义
红外线是不可见的光,是电磁波的一种形式,可以用来进行距离的测量,其应用历史可以追溯到上世纪60年代。
现代科学技术的发展进入了许多新领域,而在测距方面先后出现了激光测距、微波雷达测距、超声波测距及红外线测距。
其中激光测距是靠激光束照射在物体上反射回来的激光束探测物体的距离。
由于受恶劣的天气、污染等因素影响,使反射的激光束在一定功率上探测距离比可能探测的最大距离减少一半左右,损失很大,影响探测的精确度;
微波雷达测距技术为军事和某些工业开发采用的装备和振荡器等电路部分价格昂贵,现在还没有开拓民用市场;
超声波测距在国内外已有很多人做过研究,由于采用特殊专用组件使其价格高,难以推广;
红外线作为一种特殊光波,具有光波的基本物理传输特性—反射、折射、散射等,且由于其技术难度相对不太大,构成的测距系统的成本低廉,性能优良,便于民用推广。
另外红外测距的应用越来越普遍。
在很多领域都可以用到红外测距仪。
红外测距一般具有精确度和分辨率高、抗干扰能力强、体积小、重量轻等优点,因而应用领域广、行业需求众多,市场需求空间大。
红外测距的研究就非常有意义。
红外线测距仪指的就是激光红外线测距仪,红外测距仪----用调制的红外光进行精密测距的仪器,测程一般为1-5公里。
在100米以内则超声波测距更有优势,但是超声波测距的距离一般无法测量1米以内,而红外测距则可以测出这一段距离,而且有着不错的精度,在本课题中研究的就是这一类情况的红外线测距。
1.2本课题研究的热点及发展现状
常见的红外传感器可分为热传感器和光子传感器。
根据《国内近年来红外光电测距仪的发展情况》,由于国家对外开放政策的实施和测量工作的需要,近年来国内一些光学仪器厂和电子仪器厂分别从瑞典、瑞士和日本等国引进几种红外测距仪组装线,组装测距仪,我国有关工厂和院校近年来也研制出一些产品。
由于微处理机在国产测距仪上的应用,大大缩小仪器的体积,同时也减少出故障的几率,使得国产测距仪的性能和质量都较过去有很大的提高。
在国家“六·
五”计划攻关中,常州第二电子仪器厂研制的DCHZ型多功能红外测距仪就是一个很好的例证。
该产品经国家测绘局测绘科学研究所光电测距仪检测巾心进行全面质量鉴定后认为:
该仪器的外型美观、体积小、重量轻、操作方便、精度高和性能稳定,并通过国家有关部门组织的鉴定。
目前已经开始小批量试生产。
在进行侧距仪研制同时,国家有关部门也组织大量力量对红外光电测距仪的检测方法进行研究。
一、热传感器
热传感器是利用入射红外辐射引起的传感器的温度变化,进而使有关物理参数发生相应的变化,通过测量有关物理参数的变化来确定红外传感器所吸收的红外辐射。
热探测器的主要优点是相应波段宽,可以在室温条件下工作,使用简单。
但是,热传感器相应时间较长,灵敏度较低,一般用于低频调制的场合。
热传感器主要类型有:
热敏传感器型,热电偶型,高莱气动型和热释放电型四种类型。
二、光子传感器
光子传感器是利用某些半导体材料在入射光照射下,产生光子效应,使材料电学性质发生变化。
通过测量电学性质的变化,可以知道红外辐射的强弱。
利用光子效应所制成的红外传感器,统称光子传感器。
光子传感器的主要特点是灵敏度高,响应速度快,具有较高的响应频率。
但由于其一般要在低温下工作,导致探测波段较窄。
按照光子传感器的工作原理,一般分为内光电和外光电传感器两种,后者又可分为光电导传感器、光生伏特传感器和光磁电传感器等三种。
1.3本课题研究的目的
我们所进行的课题便是做一个简易的,精确的,近距离的距离检测仪,这也是对我们所学知识的一种考验方法,从中我们可以更系统的认识单片机,了解AD转换和红外收发模块。
1.4本课题研究的内容
红外传感器的测距基本原理为:
红外发射电路的红外发光管发出红外光,红外接收电路的光敏接收管接收发射光,根据发射光的强弱判断出所测的距离。
由于接收管接收的光强度是随着发光管与测量物的距离变化而变化的,因而,与测量物的距离近则接收光强,距离远则接收光弱。
具体方法如图1所示,红外模块发出并接收到红外线信号;
AD转换模块将接收到的模拟信号转换成数字信号再交给单片机,启动单片机中断程序,此时单片机得到数字信号也就是电压值,再由软件进行判别、计算,得出距离数并送给LED/LCD显示。
图1.1反射能量法原理
第2章红外测距的工作原理与基本结构
方案一、时间差测距法:
此方案是将红外发射管发送信号与接收管接收信号时间差写入单片机中,在单片机中用光传播距离公式算法将距离计算出来。
原理图如图2.1所示。
图2.1时间差测距法原理
方案二、反射能量法:
此方案是用红外发射管发射信号,然后用红外接收管接收信号,将接收的信号强度经过AD转换,录入单片机中显示出来,并将对应的距离记录下来。
完成一段范围内的测量,将所记录下的数据写入单片机中,然后便可进行测量距离了。
原理图如图2.2所示。
图2.2反射能量法原理
光的衰减是呈线性关系的,公式是I’=Ie^(-μd),其中I是光强度,μ是光在介质中线性衰减系数,d是光走过的路程,e是自然对数底数。
ε是光子能量,Iε就是光束的能量。
要求得耗损的能量ΔE,则可通过计算:
ΔE=ΔIε=(I-I’)ε=I[1-e^(-μd)]ε=E[1-e^(-μd)]
其中E是激光能量。
不过,10cm的衰减是很弱的,可以忽略。
方案比较:
通过以上两种方案分析,我们可以看到方案一的误差很大,由于红外装置测的距离比较近,而光速很快,因此回馈到单片机中的时间很短,单片机很难测出准确的时间并准确处理,而在一般情况下的光速不太准确,因此误差较大,而且根据距离=光速*时间,要想测10米时间至少要精确到0.0000001s,显然用单片机是很难做到的。
方案二是先将实验数据录入单片机中,因此在测量时存在的误差就会相对较小,综合考虑,选择方案二可行。
2.2红外测距系统的基本结构
该系统主要由红外测距传感器、A/D转换电路,AT89C52芯片、键盘接口电路及LCD显示电路等组成。
其组成框图如图2.3所示:
图2.3红外测距系统的基本结构
第3章红外测距的硬件设计
3.1红外收发模块
红外发送管是用于发送信号,经过障碍物将信号反射,红外接收管接收到反射回来的信号,然后根据信号强弱将对应的电压值显示在显示模块上,并将此时的距离记录下来。
然后整改程序,用红外收发模块进行测距,就可在显示模块上显示出红外接收管接收的信号强度对应的距离值。
GP2Y0A02YK0F红外测距传感器20-150cm
图3.1红外传感器结构图图3.2protues中红外传感器
如图3.2所示GP2Y0A02YK0F有3个端口,其中VCC接信号输入,VO接MCP3001的IN+,GND接地线。
GP2Y0A02YK0F测量范围在20cm-150cm之间,测量误差小于0.5cm。
是一个距离测量传感器单元,PSD的集成组合构成(位置敏感探测器),IRED(红外发光二极管)和信号原理电路。
由于采用三角测量方法,各种物体的反射率,对环境温度和工作时间距离检测不容易产生影响。
推荐工作条件:
参数
符号
条件
等级
单位
电源电压
Vcc
4.5-5.5
V
表3.1红外传感器参数
绝对最大额定值:
表3.2红外传感器参数
-0.3〜+7
输出端电压
Vo
-0.3〜+0.3
工作温度
ŦOPR
-10到+60
℃
储存温度
ŦSTG
-40到+70
3.2A/D转换模块
A/D转换器按照转换的原理可分为直接A/D转换器和间接A/D转换器两种类型。
直接A/D转换器,就是把模拟信号直接转换成数字信号,比如逐次逼近型。
间接A/D转换器是先把模拟量转换成中间量,然后再转换成数字量,如电压/时间转换型,电压/频率转换型,电压/脉宽转换型等。
其中积分型A/D转换器的电路简单,抗干扰的能力强,而且能做到高分辨率,但是转换速度较慢。
有些转换器还将多路开关、基准电压源、时钟电路、译码器和转换电路集成在一个芯片内,已经远超出了单纯A/D转换功能,使用十分方便。
A/D转换器转换原理:
一个完整的A/D转换过程中,必须包括取样、保持、量化与编码等路。
取样与保持
由于取样的时间极短,取样输出为一串断断续续的窄脉冲。
要把每个取样的窄脉冲信号数字化,需要一定的时间。
因此在两次取样之间,应将取样的模拟信号暂时储存直到下个取样脉冲到来,我们把这个动作称之为保持。
在模拟电路设计中,需要增加一个取样-保持电路。
为了保证正确转换,模拟电路要保留着还未转换的数据。
量化与编码
量化与编码电路是A/D转换器的核心组成部分,量化方法:
先取最小量化单位Δ=U/2n,当输入模拟电压U在0~Δ之间时,则归入0Δ,当U在Δ~2Δ之间时,则归入1Δ。
如果量化单位Δ=2U/(2n+1–1),当输入电压U在0~Δ/2之间
时,归入0Δ,当U在Δ/2~3/2Δ之间时,就要归入1Δ。
分辨率
分辨率(Resolution)指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2n的比值。
分辨率又称精度,通常以数字信号的位数来表示。
位数越高,分辨率就越高。
若小于最小变化量的输入模拟电压的任何变化,将不会引起输出数字值的变化。
不需要分辨率高的场合,所得到到的就大多是噪声。
分辨率太低,就会有无法取样到所需的信号。
转换速率
转换速率(ConversionRate)是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。
为了保证转换的正确完成,采样速率(SampleRate)必须小于或等于转换速率。
转换时间
转换时间是指A/D转换器完成一次A/D转换所需的时间。
从启动信号开始到转换结束并得到稳定的数字输出值为止的时间间隔。
转换时间越短,转换速度就越快。
精准度
对于A/D转换器来说,精准度指的是在输出端产生所设定的数字数值,相对精准度指的是满刻度值校准以后,任意数字输出所对应的实际模拟输入值与理论值之差。
对于线性A/D转换器,其相对精准度就是它的线性程度。
由于电路制作上的影响,会产生像是非线性误差,或是量化误差等减低相对精准度的因素。
MCP3001特性:
10位分辨率
1LSBDNL(最大值)
1LSBINL(最大值)
片上采样和保持电路
SPI串行接口
单电源供电的电压范围:
2.7V至5.5V
5V时的采样速率为200ksps
2.7V时的采样速率为75ksps
低功耗CMOS技术
一5nA典型待机电流,2
A(最大值)
一5V时,工作电流的最大值为500
A
8引脚PDIP,SOIL,MSOP和TSSOP封装
说明:
Microchip的MCP3001,是一款具有片上采样和保持电路的10位逐次逼近型A/D转换器(ADC)。
该器件提供一个伪差分输入通道:
指定差分非线性(DNL)和积分非线性(INL)的最大值为
1LSB。
它使用符合SPI协议的简单串行接口与器件通信。
当时钟速率为2.8MHz时,该器件的采样速率最大数值可为200ksps。
MCP3001器件的工作电压范围很宽,为2.7V一5.5V。
低电流设计允许器件在典型待机电流为5nA和典型工作电流为400
A条件下工作。
该器件以8引脚PDIP,MSOP,TSSOP和150milSOIL封装形式提供。
图3.3MCP3001引脚图图3.4protues中MCP3001接线图
表3.3MCP3001引脚
名称
功能
2.7至5.5V电源
地线
IN+
正模拟输入
IN-
负模拟输入
CLK
串行时钟
串行数据输入
CS/SHDN
片选输入/关闭
基准电压输入
如图3.4所示,mcp3001的VREF接vcc,IN+接GP2Y0A02YK0F红外测距传感器的Vo,CLK接单片机上的P2.2,DO接单片机上的P2.1,CS接单片机上的P2.0。
MCP3001具有片上采样和保持电路的10位逐次逼近型A/D转换器(ADC),逐次逼近型A/D转换器的工作原理是将待换的模拟输入信号与一个推测信号进行比较,根据二者大小决定增大还是减小输入信号,以便向模拟输入信号逼近。
推测信号由D/A转换器输入的数字信号就对应的时模拟输入量的数字量。
这种A/D转换器一般速度很快,但精度不高。
A/D转换器的主要性能指标中以分辨率和转换速率最为重要,分辨率越高,就能把满量程里的电平分出更多份数,得到的转换结果就越精确,得到的数字信号再用DAC转换回去就越接近原输入的模拟值(10位ADC能分辨2的10次方)。
MCP3001分辨率:
10位ADC能分辨出满刻度的1/1024.MCP3001转换速率:
速度很快。
由上可知,MCP3001的性能相比其他ADC要好很多。
3.3LCD显示模块
图3.5protues中LCD显示模块
LCD与单片机的接口电路如图3.5所示,单片机P0分别接D1-D7,同时接上排阻,而在排阻另一端接上vcc。
单片机上的P2.5接E,P2.6接RW,P2.7接RS,单片机通过P0口向LCD输送数据,显示测得的距离。
值得注意的是,P0口要接上拉电阻来保证对LCD的成功驱动。
LCD1602已很普遍了,可以很方便地应用于市面上大部分的字符型液晶。
字符型LCD通常有14条引脚线或l6条引脚线的LCD,多出来的2条线是背光电源线Vcc((15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,定义如下表所示:
表3.4LED引脚功能
引脚号
引脚名
电平
输入/输出
作用
1
vss
电源地
2
电源(+5v)
3
Vee
对比电压调整
4
RS
0/1
输入
0=输入指令
1=输入指令
5
R/W
0=向LED写入指令或数据
1=从LED读取信息
6
E
1,1→0
使能信号,1时读取信息,1→0(下降沿)执行指令
3.4AT89C52单片机概述
单片机是在集成电路芯片上集成各种组件的微型计算机,这些组件包括中央处理器CPU、数据存储器RAM、程序内存ROM、定时/计数器、中断系统、时钟部件的集成和I/O接口等电路。
由于单片机具有体积小、价格低、可靠性高、开发应用方便等特点,因此在现代电子技术和工业领域中应用较为广泛,在智能仪表中单片机是应用最多、最活跃的领域之一。
在控制领域中,现如今人们更注意计算机的底成本、小体积、运行的可靠性和控制的灵活性。
在各类仪器、仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,提高计算机的运算速度,简化仪器仪表的硬件结构,提高其性能价格比。
AT89C52单片机的时钟信号通常是由两种方式产生:
一是内部时钟方式,二是外部时钟方式。
在AT89C52单片机内部有一振荡电路,只要在单片机的XTAL1和XTAL2引脚外接晶振,就构成了自激振荡器并在单片机内部产生时钟脉冲信号。
电容的作用是稳定频率和快速起振,电容值在5-30pF之间,典型值为30pF。
晶振CYS的振荡频率范围在1.2-12MHz间选择,典型值为12MHz和11.0592MHz。
当在AT89C21单片机的RST引脚引入高电平并保持2个机器周期的时候,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就会处于循环复位状态)。
复位电路通常采用上电自动复位和按钮复位两种方式。
最简单的上电自动复位电路中的上电自动复位是通过外部复位电路的电容充电来实现的。
只要VCC的上升时间不超过1ms,就可实现自动上电复位。
时钟频率用6MHZ时C取22uF,R取1KΩ。
除了上电复位外,有时候还需要按键手动复位,本设计就是用的按键手动复位。
按键手动复位有
电平方式和脉冲方式两种。
其中电平复位是通过RST端经过电阻与电源VCC接通来实现的。
最小系统如图3.6所示。
图3.6AT89C52单片机最小系统
AT89C52单片机的标准功能
AT89C52是美国Atmel公司生产的低电压、高性能CMOS的8位单片机,片内含8KB的可反复擦写的程序内存和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性的存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位元中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域中。
AT89C52的各引脚功能:
(1)VCC:
电源
(2)GND:
地
(3)P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
(4)P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
表4-1P1口第二功能
第二功能
P1.0
T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5
MOSI(在系统编程用)
P1.6
MISO(在系统编程用)
P1.7
SCK(在系统编程用)
(5)P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
(6)P3口:
P3口是一个具有内部上拉电阻8位双向I/O口,对P3端口写“1”时,可以作为输入口使用。
P3口可作为AT89C51第二功能使用,如表3.5所示。
表3.5P3口第二功能
P3.0
RXD(串行输入)
P3.1
TXD(串行输出)
P3.2
INT0(外部中断0)
P3.3
P3.4
T0(定时器0外部输入)
P3.5
T1(定时器1外部输入)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器写选通)
(7)RST:
复位输入。
当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。
(8)ALE/PROG:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
(9)PSEN:
外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
(10)EA/VPP:
访问外部程序存储器控制信号
(11)XTAL1:
振荡器反相放大器和内部时钟发生电路输入端。
(12)XTAL2:
振荡器反相放大器输出端。
3.5整个红外测距系统显示
整个红外测距系统由AT89C52芯片、红外距离传感器、复位电路、时钟电路、A/D转换电路与LCD显示器构成。
硬件结构电路图如图3.7所示:
图3.7protues中整体系统
单片机AT89C52左端分别接了时钟电路和复位电路,这是单片机最小的系统。
XTAL1和XTAL2串连一个晶振,并且分别接上一个20p的电容,两个电容另一端都接地,构成时钟电路。
RST同时接上100p电容,4脚按键,1k电阻,4脚按键另一端接上一个1k电阻再与100p电容并联接VCC,1k电阻另一端则接地,构成复位电路。
单片机AT89C52右端P0端同时接LED的D1-D7端口和排阻,P2.0接CLK,P2.1接DO,P2.2接CS,P2.5接E,P2.6接RW,P2.7接RS。
MCP3001的VREF接vcc,IN+接红外距离传感器的Vo。
第4章红外测距的软件设计
4.1程序流程图
在整个系统运行过程中。
当红外系统被启动后,首先,对AT89C52单片机进行初始化。
然后,当AT89C52单片机接收到红外接收电路传输的电压信号