基于单片机超声波测距.docx
《基于单片机超声波测距.docx》由会员分享,可在线阅读,更多相关《基于单片机超声波测距.docx(28页珍藏版)》请在冰豆网上搜索。
基于单片机超声波测距
基
于
单
片
机
的
超
声
波
测
距
专业:
09应用电子技术
组长:
叶现中
成员:
叶现中余永祥陈海洋
指导教师:
范江波
摘要
[摘要]本文利用超声波传输中距离与时间的关系,采用AT89C51单片机进行控制及数据处理,设计出了能精确测量两点间距离的超声波测距仪。
该测距仪主要由超声波发射器电路、超声波接收器电路、单片机控制电路、环境温度检测电路及显示电路构成。
利用所设计出的超声波测距仪,对不同距离进行了测试,并进行了详尽的误差分析。
[关键词]超声波测距单片机温度传感器
摘要·····································2
第一章概述···························4
第二章
2.1使用芯片介绍······················5
2.2超声波测距的工作原理··············6
2.3超声波测距仪的设计目标············6
2.4超声波测距仪的数据测量与分析······7
第三章硬件设计·························9
3.1单片机最小系统····················9
3.2单片机系统及显示电路·············10
3.3超声波发射电路····················11
3.4超声波接收电路····················12
3.5系统程序设计······················13
3.6原理图设计························16
3.7PCB设计··························17
第四章软件设计·························18
4.1软件流程图设计····················18
4.2软件编程··························18
第五章调试·····························33
第六章总结·····························33
第七章参考文献·························34
第一章
概述
随着社会的发展,人们对距离或长度测量的要求越来越高。
超声波测距由于其能进行非接触测量和相对较高的精度,越来越被人们所重视。
本设计的超声波测距仪,可以对不同距离进行测试,并可以进行详尽的误差分析。
随着微控技术的日益完善和发展,单片机的应用在不断走向深入。
它的应用比定导致传统的控制技术从根本上发生变革。
也就是说单片机应用的出现是对传统控制技术的革命。
它在工业控制、数据采集、智能化仪表、机电一体化、家用电器等领路得到了广泛应用,极大的提高了这些领域的技术水平和自动化控制。
因此单片机的开发应用已成为高技术工程领域的一项重大课题。
因此了解单片机知识,掌握单片机的应用技术具有重大的意义。
本文采用51系列单片机AT89C51为中心器件设计的超声波测距仪。
第二章
2.1使用芯片概述
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.2超声波测距的工作原理
超声测距仪是根据超声波遇到障碍物反射回来的特性进行测量的。
超声波发射器向某一方向发射超声波,在发射同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即中断停止计时。
通过不断检测产生波发射后遇到障碍物所反射的回波,从而测出发射超声波和接收到回波的时间差T,然后求出距离L。
基本的测距公式为:
L=(△t/2)*C
式中L——要测的距离
T——发射波和反射波之间的时间间隔
C——超声波在空气中的声速,常温下取为340m/s
声速确定后,只要测出超声波往返的时间,即可求得L。
2.3超声波测距仪设计目标
测量距离:
5米的范围之内;通过LED能够正确显示出两点间的距离;误差
小于5%。
2.4超声波测距仪的数据测量与分析
1.数据测量与分析
由于实际测量工作的局限性,最后在测量中选取了一米以下的30cm、50cm、70cm、80cm、90cm、100cm六个距离进行测量,每个距离连续测量七次,得出测量数据(温度:
29℃),如表所示。
从表中的数据可以看出,测量值一般都比实际值要大几厘米,但对于连续测量的准确性还是比较高的。
对所测的每组数据去掉一个最大值和最小值,再求其平均值,用来作为最终的测量数据,最后进行比较分析。
这样处理数据也具有一定的科学性和合理性。
从表中的数据来看,虽然对超声波进行了温度补偿,但在比较近的距离的测量中其相对误差也比较大。
特别是对30cm和50cm的距离测量上,相对误差分别达到了5%和4.8%。
但从全部测量结果看,本设计的绝对误差都比较小,也比较稳定。
本设计盲区在22.6cm左右,基本满足设计要求。
2.误差分析
测距误差主要来源于以下几个方面:
(1)超声波发射与接收探头与被测点存在一定的角度,这个角度直接影响到测量距离的精确值;
(2)超声波回波声强与待测距离的远近有直接关系,所以实际测量时,不一定是第一个回波的过零点触发;(3)由于工具简陋,实际测量距离也有误差。
影响测量误差的因素很多,还包括现场环境干扰、时基脉冲频率等等。
影响精度的因素分析
根据超声波测距式
(1)可知测距的误差主要是由超声波的传播速度误差和测量距离传播的时间误差引起的。
对于时间误差主要由发送计时点和接收计时点准确性确定,为了能够提高计时点选择的准确性,本文提出了对发射信号和加收信号通过校正的方式来实现准确计时。
此外,当要求测距误差小于1mm时,假定超声波速度C=344m/s(20℃室温),忽略声速的传播误差。
则测距误差s△t<0.000002907s,即2.907ms。
根据以上过计算可知,在超声波的传播速度是准确的前提下,测量距离的传播时间差值精度只要在达到微秒级,就能保证测距误差小于1mm的误差。
使用的12MHz晶体作时钟基准的89C51单片机定时器能方便的计数到1μs的精度,因此系统采用AT89S51的定一时器能保证时间误差在1mm的测量范围内。
超声波的传播速度主要受空气密度所的影响,空气的密度越高则超声波的传播速度就越快,而空气的密度又与温度有着密切的关系。
温度与超声波的速度之间的近似公式为 式中:
C0为零度时的声波速度332m/s;T为实际温度(℃)。
由此可见,测量精度与温度有着直接的关系,本文采用DS18B20温度传感器,对外界温度进行测量,并在软件中实现温度补偿。
第三章硬件设计
3.1单片机最小系统
单片机的最小系统包括电源(地)(仿真图不显示),晶振(一般使用11.0592M或者12M)电路,复位电路,单片机内装入程序。
有了以上三块内容,单片机就能够工作了。
下图3.1就是单片机最小系统示意图:
3.2单片机系统及显示电路
单片机采用89S51或其兼容系列。
采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。
单片机用P1.0端口输出超声波转化器所需的40KHz方波信号,利用外中断0口检测超声波接受电路输出的返回信号。
显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管驱动
3.3超声波发射电路
3.4超声波接收电路
3.5系统程序设计
3.6原理图设计
此原理图是根据老师提供的资料所绘,如图所示:
3.7PCB板设计
在此设计过程中,应注意各个元件的封装和布线规则,电气连接,线宽要求。
第四章软件设计
4.1软件流程图设计
根据硬件设计,软件流程图设计如下:
4.2软件编程
根据流程图设计,软件流程图设计如下:
第五章
5.1调试
5.2性能指标
第六章总结
总结本设计的测量距离符合市场要求,测量的盲区也控制在23cm以内。
针对市场需求,本设计还可以加大发射功率,让测量的距离更加的远。
在显示方面,也可以对程序做适当改动,使开始发射超声波时LED显示出温度值,到超声波回波接收到以后通过计算得出距离值时,LED自动切换显示距离值,这样在视觉效果上得到更加直观的了解。
本设计是围绕单片机而设计的,需要用到数电、模电、电路设计、C语言等方方面面的知识。
而我们小组在设计过程中遇到很多困难,从硬件、软件设计和制板过程中中学会很多专业知识和设计所要注意事项。
而我们在此设计中学会了理论和实践是相辅相成的。
提高了我们的实践能力。
在以后的学习实践中,我们会更不懈努力,勇攀高峰。
在此,由衷感谢范老师及其他老师和同学的指导和支持。
第七章参考文献
[1]胡萍,超声波测距仪的研制,计算机与现代化2003.10
[2]时德刚,刘晔,超声波测距测量与控制2002.10
[3]李兵,MCU—51系列单片机实用接口技术北京:
北京航空航天大学1993.6
[4]陈光东陈退安姚万生单片机微型机原理及应用哈尔滨:
哈尔滨工业大学出版社1999.6
[5]苏长赞红外线与超声波遥控北京:
人民邮电出版社1993.7