基于单片机的测距仪的设计.docx
《基于单片机的测距仪的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的测距仪的设计.docx(29页珍藏版)》请在冰豆网上搜索。
基于单片机的测距仪的设计
本科生毕业论文(设计)
题目:
基于单片机的测距仪的设计
学生:
学武
学号:
6
专业班级:
电信12102班
指导教师:
蔡剑华曾高秋
完成时间:
2015年5月
基于单片机的测距仪的设计
电子信息科学与技术专业学生:
学武
指导教师:
蔡剑华曾高秋
摘要:
本文设计了以AT89C52单片机为核心控制单元的超声波测距仪,文章概述了超声波检测的发展与基本原理,介绍了超声波传感器的原理与特性。
利用超声波检测往往比较方便、迅速、计算简单、易于做到实时控制。
该系统主要由蜂鸣器模块、超声波发送模块、超声波接收模块、显示模块四个模块构成。
利用超声波传感器对前方物体进行感应,经单片机对超声波传感器发送和接收的
声波信号进行分析和计算处理,最后将处理结果在LCD1602上显示
关键词:
AT89C52单片机,超声波,LCD显示单元,温度补偿
DesignofDistanceMeasuringInstrument
BasedOnMCU
ElectronicsandInformationScienceandTechnology
Candidate:
ZhangXuewu
Advisor:
CaiJianhuaZengGaoqiu
Abstract:
ThispaperdesignsaAT89C52microcontrollerasthecorecontrolunitofultrasonicdistancemeasuringinstrument,thearticleoutlinesthedevelopmentandthebasicprincipleofultrasonictesting,introducestheprincipleandcharacteristicsofultrasonicsensor.Theuseofultrasonictestingisoftenmoreconvenient,rapid,simple,easytoachievereal-timecontrol.Thesystemconsistsoffourmodules:
buzzermodule,ultrasonictransmittermodule,ultrasonicreceivingmoduleanddisplaymodule.Theultrasonicsensorisusedforsensingthefrontobject,andthetransmittingandreceivingoftheultrasonicsensoristransmittedandreceivedbythesinglechipmicrocomputer.Analysisandcalculationoftheacousticsignalprocessing,andfinallytheresultswillbeprocessedontheLCD1206display.
Keywords:
AT89C52singlechip,ultrasonic,LCDdisplayunit,temperaturecompensation
引言
因为超声波指向性强,能量损耗迟缓,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。
使用超声波检测往往比较迅速、便利、计算简单、易于做到与时控制,而且在测量精度方面能达到工业实用的要求,是以在移动机器人的研制上也得到了普遍的应用[1]。
单片机是把微型计算机中的微处理器、存储器、I/O接口、定时/计数器、串行接口、中断系统等电路集成在一起的微型计算机。
单片机在近十年间得到了飞速的发展,先后经历了4位机、8位机、16位机、32位机等有几个代表性的发展阶段。
本文详细介绍了超声波测距的原理与结构,在发射信号时,打开定时器中断0,接收到发射超声波信号时,这时定时器中断0计录的时间就为超声波传播经过测距仪到前方物体的来回时间。
利用公式S=T×V/2(V为超生波传播速度,本设计设定值340m/s),经过单片机处理得到距离值S并且通过LCD1602显示出来。
1概述
1.1研究背景
超声波是指频率在20kHz以上的声波,它属于机械波的领域[2]。
超声波也依照一般机械波在弹性介质中的传播规律,如在介质的分界面处发生反射和折射现象,在进入介质后被介质吸收而发生衰减等。
正是因为具有这些性质,使得超声波可以用于距离的测量中。
随着科技水平的不断提高,超声波测距技术被广泛应用于人们日常工作和生活之中,例如探伤技术、清洗技术、测距技术等等。
超声波测距,多用于汽车倒车雷达、建筑工地以与一些工业现场的位置监控如液位、进深的测量等场合。
1.2课题研究意义
因为超声测距是一种非接触检测技术,不受光线、被测东西颜色等的影响,较别的仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣环境,对于被测物处于暗中、有尘土、烟雾、电磁干扰等恶劣环境有一定的适应能力。
具有少维护、不污染、高可靠、长寿命等特点。
是以可普遍应用于纸业、矿业、电厂、化工业、水处理厂、污水处理厂、农业用水、环保检测、食品(酒业、饮料业、添加剂、食用油、奶制品)、防汛、水文、明渠、空间定位、公路限高、料位测量、车辆自动导航、物体辨认与定位、车辆安全行驶辅助系统甚至地形地貌探测等许多领域中[3]。
可在不同环境中进行距离准确度在线标定,可直接用于水、酒、糖、饮料等液位控制,可进行差值设定,直接显示各种液位罐的液位、料位高度。
因此,超声在空气中测距在特殊环境下有较普遍的应用。
利用超声波检测往往比较迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到工业实用的指标要求,是以为了使移动机器人能够主动规避障碍物行走,就必需装备测距系统,以使其实时获取距障碍物的位置信息(距离和方向)。
因此超声波测距在移动机器人的研究上得到了广泛的应用。
同时由于超声波测距系统具有以上的这些优点,是以在汽车倒车雷达的研制方面也得到了普遍的应用[4]。
1.3国外研究情况
近十年来,国科研人员对关于超声波回波信号处理方法的研究已经十分成熟,但是作为超声波探测定位的关键技术,仍将是一个重要的研究方向[5]。
国的超声波测量主要集中在对0~10m固体和液体的测量,一般测量精度高,回波稳定。
近年来随着超声波技术研究的不断深入已广泛用于各类工业领域,如工业自动控制,建筑工程测量和机器人视觉辨认等方面。
2设计要求
1、硬件设计:
利用AT89C51单片机和超声波模块设计出超声波测距仪。
主要模块有:
单片机最小系统、超声波发送和接收模块、温度补偿模块、报警模块。
2、软件设计:
使用KeilC51设计系统软件,并完成联机调试,软件设计的主要模块有:
超声波的测量和显示、1602的初始化、温度传感器的温度测量,延时程序。
3需要实现的技术指标:
探测距离为2cm-450cm。
3设计方案论证
3.1设计方案
方案一:
以S3C2410为核心,实现该芯片对其外围电路的适时控制,对其进行编程,并且提供给外围电路各种所需的各种信号,包括频率振荡信号、数据处理信号和译码显示信号等等,这样就大大简化了外围电路的设计难度,而且同时更加重要的是这种设计方案大节省了设计的成本,并且由于采用的是软件编程技术,所以它的移植性较好。
频率为40kHz左右的超声波在空气中传播的效率是最佳的,发射的超声波被调制成40kHz左右,具有一定间隔调制脉冲波信号[6]。
方案二:
采用CPLD来控制的D来控制的超声波测距仪,主要是在软件上运用VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage)编写程序并且使用MAX+plusII软件进行软硬件设计的仿真和调试,最终实现测距功能。
使用本方案的优点在于在超声波测距仪设计中采用MAX7000s系列中的EPM7128SLC84-15的CPLD器件,其最高频率可达175.4MHz,可用于组合逻辑电路、时序逻辑电路、算法、双端口RAM等的设计。
充分利用了其多达128个宏单元、68pin可编程I/O口,使该器件可以将分频功能、计数功能、显示编码功能、振荡功能全部集于一体。
因其延时平均的特点,保证了测距结果精度高、响应速度快。
该方案的缺点是方案中需要一块FPGA,一块双口RAM,还需要一块用来存储波形数据的EEPROM,那么设计成本较高。
同时在FPGA中还要用到硬件描述语言(VHDL语言)编写程序来实现硬件电路功能。
由于EPM7128SLC84-15的算法复杂,在软件实现起来编程也复杂[7]。
方案三:
采用单片机来控制的超声波测距仪是先由单片机产生一个信号,经过信号线,把信号引入到与超声波发射器相连的信号引脚上,再由超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离即:
S=vt/2。
3.2方案论证
方案一能够实现自动测距、实时显示的功能,集探伤、测距等多种功能于一体,所有运算、处理、显示都实现数字化;而且操作简单。
使用方便,所有功能都有按键控制;测量迅速、精确,结果显示直观;仪器仅仅依靠电池供电,设有低功耗模式;体积小,携带方便。
方案三计硬件简单,容易实现,测距围适中。
测量误差可控制在士1cm左右。
系统软件采用合理算法,提高了测量精度,具有较好的应用价值。
另外其使用的51系列单片机部含有Flash存储器,在系统开发过程中可以反复擦写;用静态时钟方式,可以节省电能;支持ISP(在线编程),不需要把单片机从电路板取下来就可以擦写程序;晶振频率高达24M,运行速度更快,价格也比较便宜;增了看门狗电路,防止程序“走飞”,更加安全可靠。
与第二种方案相比,第三种使用的是单片机,编译语言使用C语言来实现,所以比较简单。
3.3超声波测距原理
通过超声波发射装置发射超声波,根据接收器接到超声波的时间差就可以知道距离了。
这与雷达测距的原理相似[8]。
超声波发射装置向某一方向发射超声波,在发射超声速波的同时开始计时,途中遇到障碍物就立即返回来,超声波接收器接到反射波就立刻停止计时超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离即:
S=vt/2
由于超声波也是一种声波,其声速C与温度有关,附表列出了几种不同温度下的声速。
在使用时,如果温度变化不大,则可认为声速是基本不变的。
如果测距精度要求很高,则应通过温度补偿的方法加以校正。
式中V为超声波在空气中的传播速度,0℃时为331m/s,25℃时为347m/s
其与环境温度T℃的关系如表3.3所示:
表3.3温度与声速变化
-30
-20
-10
0
10
20
30
100
声速(米/秒)
313
319
325
323
338
344
349
386
4设计总体方案
4.1总体设计思路
根据题目的要求,经过仔细的考虑各种要素,制定了一个整体方案:
以AT89C51单片机为控制核心,由超声波发射、接收模块、2个按键,蜂鸣器构成的报警电路,LED显示以与温度传感器来构成由单片机最小系统来控制的超声波测距仪,其结构框图如图4-1所示:
图4-1系统框图
4.2显示部分
方案一:
数码管显示,由于本题要时的显示测距的距离、温度,而数码管不能显示字符。
方案二