超声波测距设计.docx
《超声波测距设计.docx》由会员分享,可在线阅读,更多相关《超声波测距设计.docx(52页珍藏版)》请在冰点文库上搜索。
超声波测距设计
第一章绪论
1.1测量的概念
测量是按照某种规律,用数据来描述观察到的现象,即对事物作出量化描述。
测量是对非量化实物的量化过程。
1.2测量的分类
从不同观点出发,可以将测量方法进行不同的分类,常见的方法有:
1、直接测量、间接测量和组合测量
直接测量是将被测量与与标准量进行比较,得到测量结果。
间接测量是测得与被测量有一定函数关系的量,然后运用函数求得被测量。
组合测量是对若干同名被测量的不同组合形式分别测量,然后用最小二乘法解方程组,求得被测量。
2、绝对测量、相对测量
绝对测量是所用量器上的示值直接表示被测量大小的测量。
相对测量是将被测量同与它只有微小差别的同类标准量进行比较,测出两个量值之差的测量法。
3、接触测量、非接触测量
这是从对被测物体的瞄准方式不同加以区分的。
接触测量的敏感元件在一定测量力的作用下,与被测物体直接接触,而非接触测量敏感元件与被测对象不发生机械接触。
4、单项测量与综合测量
单项测量是对多参数的被测物体的各项参数分别测量,综合测量是对被测物体的综合参数进行测量。
5、自动测量和非自动测量
自动测量是指测量过程按测量者所规定的程序自动或半自动地完成。
非自动测量又叫手工测量,是在测量者直接操作下完成的。
6、静态测量和动态测量
静态测量是对在一段时间间隔内其量值可认为不变的被测量的测量。
动态测量是为确定随时间变化的被测量瞬时值而进行的测量。
7、主动测量与被动测量
在产品制造过程中的测量是主动测量,它可以根据测量结果控制加工过程,以保证产品质量,预防废品产生。
被动测量是在产品制造完成后的测量,它不能预防废品产生,只能发现边挑出废品。
1.3测量技术的发展趋势
近年来,精密测量技术发展迅速,成果喜人。
例如在线测量技术,已可进行加工状态的实时测量与显示,及时检测加工是否出现异常状况,从而可大幅度提高生产效率。
在高精度加工和质量管理过程中,随着光机电一体化、系统化的发展,光学测量技术有了迅速发展,相应的测量机产品大量涌现,测量软件的开发也日益受到重视。
随着非接触、高效率测量机的大量出现,专家预计,21世纪测量技术的发展方向大致如下:
(1)测量精度由微米级向纳米级发展,测量分辨力进一步提高;
(2)由点测量向面测量过渡(即由长度的精密测量扩展至形状的精密测量),提高整体测量精度;
(3)随着图像处理等新技术的应用,遥感技术在精密测量工程中将得到推广和普及;
(4)随着标准化体制的确立和测量不确定度的数值化,将有效提高测量的可靠性。
总之,测量技术必须实现高精度化,同时也要XX现高速化和高效率化,因此,非接触测量和高效率测量也必然成为新世纪精密测量技术的重要发展方向。
面向21世纪的我国工程测量技术的发展趋势和方向是:
测量数据采集和处理的自动化、实时化、数字化;测量数据管理的科学化、标准化、规格化;测量数据传播与应用的网络化、多样化、社会化。
GPS技术、RS技术、GIS技术、数字化测绘技术以及先进地面测量仪器等将广泛应用于工程测量中,并发挥其主导作用。
1.4超声波测距的定义和内容
1.4.1超声波测距的定义
由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。
利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。
1.4.2超声波测距的内容
超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:
s=340t/2。
1.5超声波测距的发展及应用
超声波测距相对其他测距技术而言成本低廉,测量精度较高,不受环境的限制,应用方便,将它与红外、温度传感器等结合共同实现寻线和绕障功能。
超声波由于指向性强、能量消耗缓慢且在介质中传播的距离较远,因而经常用于距离的测量。
它主要应用于倒车雷达、测距仪、物位测量仪、移动机器人的研制、建筑施工工地以及一些工业现场等,例如:
距离、液位、井深、管道长度、流速等场合。
利用超声波检测往往比较迅速、方便,且计算简单、易于做到实时控制,在测量精度方面也能达到工业实用的要求,因此得到了广泛的应用。
本课题的研究是非常有实用和有商业价值的。
第二章方案论述
2.1系统参数及性能指标
1.测量距离X围<=6m
2.精度优于1%
3.数码管显示
4.进行温度补偿
5.具有RS232通信能力,便于扩展
6.抗干扰能力强,安装方便,便于嵌入其他系统
7.体积小,功耗低,便于嵌入其他系统
2.2测量方案的选择
对液面的测量可以采用接触式和非接触式两种形式进行,接触式的主要方式为标尺测量和电极法测量,但是二者都有其明显缺点,标尺测量是最直接方便的测量方式,但是其误差偏大,不够精确,电极法测量是采用差位分布电极,通过给点或脉冲来测量液面,但是由于电极长期浸泡在液体中,极易被腐蚀,失去灵敏性。
非接触式测距仪常采用超声波、激光和雷达。
虽然测量精度和抗腐蚀性较直接测量有显著提高,但激光和雷达测距仪造价偏高,不利于广泛的普及应用,在某些应用领域有其局限性,相比之下,超声波方法具有明显突出的优点:
1.超声波的传播速度仅为光波的百万分之一,并且指向性强,能量消耗缓
慢,因此可以直接测量较近目标的距离;
2.超声波对色彩、光照度不敏感,可适用于识别透明、半透明及漫反射差
的物体(如玻璃、抛光体);
3.超声波对外界光线和电磁场不敏感,可用于黑暗、有灰尘或烟雾、电磁
干扰强、有毒等恶劣环境中;
4.超声波传感器结构简单、体积小、费用低、信息处理简单可靠,易于小
型化与集成化,并且可以进行实时控制。
因此,超声波方法作为非接触检测和识别的手段,已越来越引起人们的重视。
在机器人避障、导航系统、机械加工自动化装配及检测、自动测距、无损检测、超声定位、汽车倒车、工业测井、水库液位测量等方面已经有了广泛的应用。
综上所述并考虑到设计要求,本次设计选择超声波液面测距法。
2.3CPU的选择
方案一:
采用PHILIPS的P89LPC932作为系统的主控制单元,其内部有片内时钟电路,片内复位监视电路,同时在其内部具有8KB的FLASH程序存储器,256+512的程序存储器,它的主要优点在于低电压功耗,封装体积小。
方案二:
采用AT89C51微处理器作为系统的主控器,AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
方案三:
采用AT89S51微处理器作为系统的主控制器,AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
综合上述三种方案,考虑到大学期间学习知识的特点,决定采用AT89C51作为系统的主控制器。
2.4温度传感器的选择
方案一:
采用单片集成两端感温传感器AD590
其主要特性如下:
(1)流过器件的电流(μA)等于器件所处环境的热力学温度(开尔文)度数:
Ir/T=1
(1)
式中,Ir—流过器件(AD590)的电流,单位为μA;T—热力学温度,单位为K;
(2)AD590的测温X围为-55℃~+150℃;
(3)AD590的电源电压X围为4~30V,可以承受44V正向电压和20V反向电压,因而器件即使反接也不会被损坏;
(4)输出电阻为710mΩ;
(5)精度高,AD590在-55℃~+150℃X围内,非线性误差仅为±0.3℃。
方案二:
采用PT100温度传感器
组成的部分:
常见的pt1oo感温元件有陶瓷元件,玻璃元件,云母元件,它们是由铂丝分别绕在陶瓷骨架,玻璃骨架,云母骨架上再经过复杂的工艺加工而成
技术性描述:
pt100是铂热电阻,它的阻值会随着温度的变化而改变。
PT后的100即表示它在0℃时阻值为100欧姆,在100℃时它的阻值约为138.5欧姆。
它的工业原理:
当PT100在0摄氏度的时候他的阻值为100欧姆,它的的阻值会随着温度上升它的阻值是成匀速增涨的。
应用X围:
医疗、电机、工业、温度计算、阻值计算等高精温度设备,应用X围非常之广泛。
方案三:
采用一线式数字温度传感器DS18B20
技术性能描述:
1.1独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
1.2测温X围-55℃~+125℃,固有测温分辨率0.5℃。
1.3支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定,实现多点测温
1.4工作电源:
3~5V/DC
1.5在使用中不需要任何外围元件
1.6测量结果以9~12位数字量方式串行传送
1.7不锈钢保护管直径Φ6
1.8适用于DN15~25,DN40~DN250各种介质工业管道和狭小空间设备测温
1.9标准安装螺纹M10X1,M12X1.5,G1/2”任选
1.10PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。
应用X围:
2.1该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域
2.2轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制。
2.3汽车空调、冰箱、冷柜、以及中低温干燥箱等。
2.4供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制。
在传统的温度测量系统中,一般采用热电偶或铂电阻进行温度测量。
在这些电路中,有这样一些问题必须解决:
为了进行准确的温度测量,必须给铂电阻提供一个良好的恒流源;由于热电偶出来的信号是模拟信号,所以此信号在送给CPU之前必须先进行A/D转换,然后再送给CPU进行处理;并且热电偶的信号很弱,只有十几个mA,因此在A/D转换之前通常还需要进行增益放大,因此,采用热电偶和铂电阻进行温度测量,需要考虑很多问题,构成的系统也比较复杂。
DALAS公司推出的数字式温度传感器DS18B20很好地解决了这样一些问题,而且DS18B20还无需扩展A/D转换,更易于调试,因此本次设计选择采用一线式数字温度传感器DS18B20。
2.5键盘/显示电路选择
方案一:
采用INTEL公司的8279芯片,8279可编程设置型键盘/显示器的特点是:
(1)可同时进行键盘扫描及文字显示;
(2)键盘扫描模式(ScannedKeyboardMode);
(3)传感器扫描模式(ScannedSensorMode);
(4)激发输入模式(StrobeInputEntryMode);
(5)8乘8键盘FIFO(先进先出);
(6)具有接点消除抖动,2键锁定及N键依此读出模式;
(7)双排8位数或双排16位数的显示器;
(8)右边进入或左边进入。
16位字节显示存储器。
方案二:
采用HD7279A驱动的数码显示,HD7279A是一片具有串行接口的,可驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多大64键的键盘矩阵,单片即可完成LED显示、键盘接口的全部功能。
产品特点:
串行接口,无需外围元件可直接驱动LED,各位独立控制译码/不译码及消隐和闪烁属性,(循环)左移(循环)右移指令具有段寻址指令,方便控制独立LED64键键盘控制器,内含去抖动电路有DIP和SOOC两种封装形式供选择。
综合上述两种方案,8279是并行接口的,实际应用时还需要通过8155芯片来扩展I/O口,而HD7279A具有串行接口,更易于调试,因此本设计采用HD7279A。
2.6小结
综合以上选择,在本次毕业设计中,测量方法选择超声波测距,采用的cpu是AT89C51,温度传感器选择是DS18B20,键盘显示电路芯片选择是HD7279A。
第三章系统硬件设计
3.1系统框图
超声波液面测距仪主要包括:
温度检测电路,超声波发生及控制电路,超声波接收及信号处理电路,HD7279A键盘显示电路,微处理器及辅助电路,系统电源以及MAX232A通讯接口电路七部分组成。
系统组成框图如图3-1所示:
图3-1主系统组成框图
3.2最小系统设计
3.2.1AT89C51单片机概述
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
1.主要特性:
oe^4V-P33461电子园51单片机学习网,_8i3u'{5rrtu·与MCS-51兼容电子园51单片机学习网k1`*k"G3?
?
\u(pb
·4K字节可编程闪烁存储器
·Py_0a;I9B;A(`_e33461寿命:
1000写/擦循环电子园51单片机学习网_vu7w]0oaI·数据保留时间:
10年电子园51单片机学习网o,o`LJ#QN
·全静态工作:
0Hz-24Hz电子园51单片机学习网R\.Ju]e
·三级程序存储器锁定电子园51单片机学习网|q&A1`&_mh-m{!
q#GI
·128*8位内部RAM电子园51单片机学习网1nOcBzz6~
·32可编程I/O线
NBf+T!
MV5{/Cb!
J33461·两个16位定时器/计数器电子园51单片机学习网{;ma2xSs+k\
·5个中断源
q[Hs2v33461·可编程串行通道电子园51单片机学习网-?
"JA4xF;|Tme
·低功耗的闲置和掉电模式电子园51单片机学习网"~
ZD{6N&U9raC
·片内振荡器和时钟电路
2.管脚图:
图3-2AT89C51单片机管脚图
3.管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故,P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
AT89C51功能描述
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
芯片擦除:
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
串口通讯
实际上SBUF包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址-99H。
CPU在读SBUF时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。
发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。
操作SBUF寄存器的方法则很简单,只要把这个99H地址用关键字sfr定义为一个变量就可以对其进行读写操作了,如sfrSBUF=0x99;当然你也可以用其它的名称。
通常在标准的reg51.h或at89x51.h等头文件中已对其做了定义,只要用#include引用就可以了。
SCON串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。
SCON就是51芯片的串行口控制寄存器。
它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51芯片串行口的工作状态。
51芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON寄存器。
它的各个位的具体定义如下:
SM0SM1SM2RENTB8RB8TIRI
SM0、SM1为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。
串行口工作模式设置。
SM0SM1模式功能波特率
000同步移位寄存器fosc/12
0118位UART可变
1029位UARTfosc/32或fosc/64
1139位UART可变
在这里只说明最常用的模式1,其它的模式也就一一略过,有兴趣的朋友可以找相关的硬件资料查看。
表中的fosc代表振荡器的频率,也就是晶振的频率。
UART为(UniversalAsynchronousReceiver)的英文缩写。
SM2在模式2、模式3中为多处理机通信使能位。
在模式0中要求该位为0。
REM为允许接收位,REM置1时串口允许接收,置0时禁止接收。
REM是由软件置位或清零。
如果在一个电路中接收和发送引脚P3.0,P3.1都和上位机相连,在软件上有串口中断处理程序,当要求在处理某个子程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入REM=0来禁止接收,在子程序结束处加入REM=1再次打开串口接收。
大家也可以用上面的实际源码加入REM=0来进行实验。
TB8发送数据位8,在模式2和3是要发送的第9位。
该位可以用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,在多处理机通信中这一位则用于表示是地址帧还是数据帧。
RB8接收数据位8,在模式2和3是已接收数据的第9位。
该位可能是奇偶位,地址/数据标识位。
在模式0中,RB8为保留位没有被使用。
在模式1中,当SM2=0,RB8是已接收数据的停止位。
TI发送中断标识位。
在模式0,发送完第8位数据时,由硬件置位。
其它模式中则是在发送停止位之初,由硬件置位。
TI置位后,申请中断,CPU响应中断后,发送下一帧数据。
在任何模式下,TI都必须由软件来清除,也就是说在数据写入到SBUF后,硬件发送数据,中断响应(如中断打开),这时TI=1,表明发送已完成,TI不会由硬件清除,所以这时必须用软件对其清零。
RI接收中断标识位。
在模式0,接收第8位结束时,由硬件置位。
其它模式中则是在接收停止位的半中间,由硬件置位。
RI=1,申请中断,要求CPU取走数据。
但在模式1中,SM2=1时,当未收到有效的停止位,则不会对RI置位。
同样RI也必须要靠