资源描述
滁州职业技术学院信息工程系2015届应用电子技术专业毕业论文姓 名: 朱淼森 班 级: 12级应用电子(1)班 设计课题: 超声波测距仪 指导教师: 姚聪 2014年 11 月 28 日目 录目 录目 录i摘 要4第一章 概述11.1 系统功能要求11.1.1基本要求11.1.2发挥部分11.2 系统设计方案11.2.1超声波测距模块21.2.2显示模块21.2.3主控模块21.2.4电源模块21.2.5充电控制模块2第二章 硬件设计42.1 超声波测距模块42.1.1设计方案42.1.2 HC-SR04芯片介绍42.1.3超声波测距模块原理42.2 显示模块52.2.1设计方案52.2.2 1602液晶显示器介绍162.2.3 1602液晶显示器原理62.3 主控模块72.3.1设计方案72.3.2 STC12C5A60S2单片机介绍272.3.3 STC12C5A60S2单片机原理82.4 总体硬件设计92.4.1总体设计方案92.4.2完整硬件电路图9第三章 软件设计103.1 1602液晶屏显示驱动模块103.1.1软件设计方案103.1.2软件流程103.1.3软件代码103.2 A/D检测模块143.2.1软件设计方案143.2.2软件流程图143.2.3软件代码3153.3 超声波测距模块163.3.1软件设计方案163.3.2软件流程图163.3.3软件代码173.4 软件整体流程243.4.1软件整体设计方案24i目 录3.4.2主函数程序结构24第四章 系统结果255.1超声波测距仪性能介绍255.2超声波测距仪结果分析25致 谢27参考文献28ii摘 要摘 要超声波测距仪要求测量范围在5cm500cm,测量精度1cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波常用于距离测量。超声波测距仪,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于液位、井深、管道长度等测量的场合。利用超声波检测往往比较迅速、方便、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因为往往在移动机器人的研制中得到了广泛的应用。本组设计的超声波测距仪采用HC-SR04模块实现了超声波的发射与接收,采用STC12C5A60S2单片机做为该测距仪的控制核心,此设计易于调试,成本低廉,具有很强的实用价值和良好的市场前景。关键词:超声波传感器,单片机,测距仪28滁州职业技术学院应用电子技术专业毕业论文第一章 概述声波分为纵波和横波等,声波可以在任意介质当中传播称之为纵波。当声波受到尺寸大于其波长的目标物体阻挡时就会产生反射,反射波称为回声。假如声波在介质中传播的速度是已知的,而且声波从声源到达目标然后返回声源的时间可以测量得到,那么就可以计算出从声源到目标的距离。超声波测距仪就是基于上面原理而设计的。这里声波传播的介质为空气,采用的是方向性较好的超声波。1.1 系统功能要求1.1.1基本要求(1)最大测距距离 5m,最小测距距离 5cm。(2)测量精度小于 1cm。(3)人机界面友好,操作方便,用液晶屏或数码管显示测量值。(4)自带可充电电池作为电源,充电电池用 USB 口充电。1.1.2发挥部分(1)最大测距距离提高到 10m。(2)测量精度提高到 5mm。(3)使用两套以上设备实现“一问一答”的二次雷达工作方式进行距离测量。各套设备发射不同编码波形实现自身个体身份识别,并以此同时测量自身与其它多个个体之间的距离。1.2 系统设计方案根据系统功能要求,本此设计的思路是将系统分为电源模块、主控模块、超声波测距模块、显示模块和充电控制模块五个部分(如图1-1所示)进行分步设计。电源模块主控模块充电控制模块显示模块超声波测距模块图1-1系统功能框图测量距离的方法有很多种,短距离的可以用米尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,系统的测量精度理论上可以达到毫米级。超声波测距的原理一般采用渡越时间法TOF(timeofflight),也可以称为回波探测法。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在介质中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。根据传声介质的不同,可分为液介式、气介式和固介式三种。根据所用探头的工作方式,又可分为自发自收单探头方式和一发一收双探头方式。超声波在空气中(20)的传播速度为340m/s(实际速度为344m/s这里取整数),根据计时器记录的时间就可以计算出发射点距障碍物的距离,公式S=340*t/2。1.2.1超声波测距模块超声波测距模块用于实现本系统核心功能,是本次设计首先考虑的内容,超声波测距模块的好坏,直接决定了产品的性能。1.2.2显示模块显示模块是人际交换的重要平台之一,显示模块的好坏直接决定了用户的体验,所以选择什么样的显示器件也是很重要的。1.2.3主控模块主控模块是本次设计的核心器件,它起到了“大脑”的作用,在一定程度上决定了产品的性能和功能;强大的单片机可以丰富产品功能,增加用户体验和产品性能,更利于软件开发等。所以选择什么样的单片机更加实惠,性能会更好,也是硬件设计所面临的挑战。1.2.4电源模块电源模块是超声波测距仪的“心脏”,只有给超声波测距仪的各个“器官”提高足够的功率,这些“器官”才能发挥自己的作用,所以选择一个适合超声波测距仪的“心脏”也是很重要的,在整体上影响了产品的性能,毕竟超声波测距仪是手持式的,具有便携的功能,电源模块也需要短小精悍。1.2.5充电控制模块这个模块在超声波测距仪中也是不可缺少的,它性能的优良关系到产品的性能和耐用度。根据设计要求,我们知道需要用USB接口给充电电池充电,如果我们用USB接口直接连接外部的USB电源的话,那么USB接口标准电压为5V,电池电压不低于5V,这时充电就无法进行。我们为了可以用USB接口对充电电池充电,采用的是:一个USB接口母头、升压模块、JZC-32F继电器、发光二极管共同组成充电控制模块。在超声波测距仪正常工作时使用电池直接供电,当电量不足时发管二极管点亮来提示电量不足。在为电源模块充电时,外接5v充电器连接超声波测距仪的USB接口,通过升压模块来提升充电电压,用单片机来控制继电器为电池充电。第二种方案还带有电池电量检测功能,可以再电池电量不足的时给予提示,避免了由于电池电量不足而影响超声波测距精度。第二章 硬件设计2.1 超声波测距模块2.1.1设计方案超声波测距模块用于实现本系统核心功能,是本次设计首先考虑的内容,在设计时,本组确实考虑了两种方案。方案一:选取超声波收发探头作为核心器件,配合外部电路以及超声波信号处理芯片(CX20106)自主设计测距模块。这种方案可以控制超声波的发射接收频率,具有很强系统优化功能,但是外部电路复杂,参数匹配要求较高,且测距的精度和距离不够高。方案二:购买市面上已经成熟的超声波测距模块。这种超声波模块的发射接收频率固定,不具有系统优化的可能,但是信号接收精度高,控制简单。经过比较,方案二既能够满足设计要求,同时对控制程序的要求较低,因此选取方案二作为本模块的设计方案。2.1.2 HC-SR04芯片介绍HC-SR04芯片是超声波模块,它由STC11单片机、MAX232电平转换芯片、TL074四个集成的运算放大器组成。使用HC-SR04超声波模块,可以很方便的与单片机连接,并且超声波测距的精度很高,驱动程序也很好编写。HC-SR04超声波模块也是由发射部分和接收部分组成。发射部分包括,STC11系列的单片机,MAX232电平转换芯片和超声波发射头组成。接收部分包括:TL074芯片和超声波接收头。STC11系列的单片机芯片主要起到控制作用,起到和我们使用的单片机进行通讯,包括TX引脚的启动电平和RX引脚的接收电平。我们将单片机输出TX=1,启动信号后,STC11单片机打开MAX232芯片的电源开关,并且输出8个40kHz的方波信号给MAX232芯片,MAX232芯片是电平转换芯片,在这里的作用就是电平转换,将5V电平转换到12V输出。这样可以提高发射功率,我们知道功率和电压和电流有关,现在电流不变,电压升高,那么超声波发射的功率显然就上升了。功率的提升可以增加超声波检测的距离和精度。正是有了这个模块,所以HC-SR04的性能这能这样好。TL074芯片是4个集成运放电路。而且它是低噪声输入的JFET的运算放大器,可以很好的将超声波接收头接收到的信号,进行放大,整形等。通过三极管控制和STC11单片机的通讯信号,拉低或者拉高。所有的信号经过STC11单片机处理后,和我们使用的主控芯片进行通讯和数据传输。2.1.3超声波测距模块原理(1)超声波测距原理:超声波是利用反射的原理测量距离的,被测距离一端为超声波传感器,另一端必须有能反射超声波的物体。测量距离时,将超声波传感器对准反射物发射超声波,并开始计时,超声波在空气中传播到达障碍物后被反射回来,传感器接收到反射脉冲后立即停止计时,然后根据超声波的传播速度和计时时间就能计算出两端的距离。测量距离L为L=(t/2)*c 超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距离障碍物的距离(s)即:s=340t/2。这就是所谓的时间差测距法。 (2)原理图:图2-1是和单片机连接的原理图;图2-2是HC-SR04内部原理图。图2-1 HC-SR04原理图图2-2 HC-SR04内部原理图2.2 显示模块2.2.1设计方案在显示模块的设计方案中,选择什么型号的显示器件,关乎到用户体验,本组认为数码管不利于控制,且视觉效果不好,所以选取了1602液晶屏作为主要显示器件,相对于数码管,液晶屏的显示信息数量更多,而且数据更清晰,这样用户使用时能更清楚、直观的明白距离等信息,同时配合发光二极管作为报警器件,可以拥有更好的用户体验。2.2.2 1602液晶显示器介绍11602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。2.2.3 1602液晶显示器原理(1)1602液晶显示器工作原理:1602液晶显示器的数据接口连接到单片机STC12C5A60S2的P0口上,控制端口连接在P2口上面,我们通过1602的读写时序,对RS、RW、E三个端口进行操作,便可以对1602进行读操作,写操作;数据也可以和1602进行交换,我们可以先写命令,也可以写地址,然后直接发送数据,这样1602就能识别了。详细的程序会在软件中介绍。 (2)原理图:图2-3是1602液晶显示器与单片机连接原理图;图2-4是1602液晶显示器的实物图。图2-3 1602液晶屏接线图 图2-4 1602液晶屏实物图2.3 主控模块2.3.1设计方案主控模块是控制超声波发射与接收的核心器件,选取什么型号的单片机是至关重要的。STC59C52RC单片机使用起来比较简单,程序也容易编写,但是考虑到,以后超声波测距仪功能的拓展和本次设计要求,如检测距离的精度高,且要进行A/D检测等,经过挑选,最终选择了STC12C5A60S2单片机作为本次超声波测距模块的主控芯片,这款单片机具有执行速度快,且内部自带A/D转换,符合了本次设计的功能要求。2.3.2 STC12C5A60S2单片机介绍2STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合具体功能如下:(1)增强型8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051;(2)工作电压:STC12C5A60S2系列工作电压:5.5V-3.3V(5V单片机)STC12LE5A60S2系列工作电压:3.6V-2.2V(3V单片机);(3)工作频率范围:0 - 35MHz,相当于普通8051的 0420MHz;(4)用户应用程序空间8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字节;(5)片上集成1280字节RAM;(6)通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口),可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏,每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55Ma;(7) ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器 可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片;(8)有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM);(9)内置看门狗;(10)时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内) 1用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟,常温下内部R/C振荡器频率为:5.0V单片机为:11MHz15.5MHz,3.3V单片机为:8MHz12MHz,精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准;(11)共4个16位定时器 两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器 做串行通讯的波特率发生器 再加上2路PCA模块可再实现2个16位定时器;(12)2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟;(13)PWM(2路)/PCA(可编程计数器阵列,2路):可用来当2路D/A使用、也可用来再实现2个定时器、也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持);(14)A/D转换, 10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口。2.3.3 STC12C5A60S2单片机原理(1)STC12C5A60S2单片机控制原理:在本次设计中采用了单片机芯片,单片机采用的是STC12C5A60S2,采用11.0592MHz高精度的晶振,方便以后单片机和上位机通讯。其次是利用单片机对超声波模块发出的40kHz的超声波进行计时和距离的计算。根据距离控制1602液晶显示屏显示相应的距离,单片机内部自带ADC,用于检测电池组的电压,单片机通过检测得到电压数据,而后控制1602液晶屏进行电压数据的显示。我们根据不同的电压,控制信号灯进行点亮或者熄灭,也控制电池组进行充电或是不充电。(2)原理图:图2-5是STC12C5A60S2单片机引脚图。图2-5 STC12C5A60S2引脚图2.4 总体硬件设计2.4.1总体设计方案在上面我们已经提到了,我们所有的硬件模块都是根据设计要求而得到的,总体设计思路如下:当接通电源后,电源给所有硬件电路供电,同时单片机对电源模块进行电压检测,因为电池电量和电池电压有直接关系,所以我们可以通过检测电池电压知晓电池的电量,这样在电池没电时,可以发出报警信号,当电池过充时,同样可以报警和利用继电器关闭充电回路。并且单片机可以实时将电池电量显示在1602液晶屏上面,增加信息量。当上电时,单片机不仅会对电池电压进行检测,而且当电池电压不高不低时,会控制HC-SR04超声波模块发出超声波,并且打开定时器,当超声波反射回来的时候,关闭定时器,然后计算出距离数据,最后驱动1602液晶屏显示出来。这就是我们超声波测距仪的整体设计思路。2.4.2完整硬件电路图通过上面的设计方案和设计要求,本组设计出了完整的电路图,如图2-6所示。图2-6超声波测距仪完整电路图第三章 软件设计3.1 1602液晶屏显示驱动模块3.1.1软件设计方案根据1602液晶屏的资料,我们可以知道1602液晶屏有16个引脚,数据脚有8个,与操作相关的引脚有3个,分别是RS数据/命令选择端、R/W读写选择端、E使能信号。知道这些引脚功能,并且知道了操作1602的时序后,就可以编写出1602液晶屏的操作读写代码。通过这些读写代码,我们单片机就可以与1602液晶屏进行通讯,也就可以让1602液晶屏显示出我们想显示的内容了。3.1.2软件流程我们查询资料可以得到1602液晶屏的基本操作时序,如:写命令:RS=0.RW=0,D0-D7=指令码,E=高脉冲。写数据:RS=1,RW=0,D0-D7=数据,E=高脉冲。具体的写时序图如下所示:图3-1是写指令时序图;图3-2是写数据时序图。 图3-1 1602液晶屏写指令时序图 图3-2 1602液晶屏写数据时序图3.1.3软件代码#include#includeSTC12C5A60S2.Hsbit RS=P25;sbit RW=P26;sbit E=P27;extern void delay_ms(unsigned int j);unsigned char P00(unsigned char i)unsigned char da=0,n;for(n=8;n0;n-)da=da1;return(da);bit lcd_bz()/查忙函数bit busy;RS=0;/选择目标为指令寄存器RW=1;/读操作E=1;/拉高E端口_nop_();_nop_();/busy=(P0&0x80)7; /取出D7位(忙信号)busy=P0&0X01;_nop_();_nop_();E=0; /E端产生下降沿return busy; /返回忙信号void lcd_wcmd(unsigned char cmd)/写指令函数unsigned char cmd1;while(lcd_bz();/查忙cmd1=P00(cmd);RS=0;/选择目标为指令寄存器RW=0;/写操作P0=cmd1; /发送指令数据E=1; /拉高E端口_nop_();_nop_();_nop_();_nop_();E=0; /E端产生下降沿,数据写入指令寄存器void lcd_wdat(unsigned char dat)/写数据函数unsigned char dat1;while(lcd_bz();/查忙dat1=P00(dat);RS=1;/选择目标为数据寄存器RW=0; /写操作P0=dat1; /发送显示内容数据 E=1;/拉高E端口_nop_(); _nop_();_nop_();_nop_();E=0; /E端产生下降沿,数据写入指令寄存器void lcd_init()/初始化函数lcd_wcmd(0X38);/8位总线,双行显示,字符大小5*7delay_ms(1);lcd_wcmd(0x0c);/开显示,无光标delay_ms(1);lcd_wcmd(0x06);/光标向右,文字不移动delay_ms(1);lcd_wcmd(0x01);/清屏delay_ms(1);void display_up(unsigned char *p)/第一行显示函数unsigned char temp=0,i;lcd_wcmd(0x00|0x80);/设置显示起始位置为左边第一位for(i=0;i16;i+)/依次显示16个字符temp=pi;lcd_wdat(temp);delay_ms(1);void display_down(unsigned char *p)/第二行显示函数unsigned char temp=0,i;lcd_wcmd(0x40|0x80);/设定显示起始位置为左边第一位for(i=0;i0;k-)val_av+=AD_zhuanhuan(num);/100次采集求和val_av/=100.0;/求平均值val_av=val_av*5.0/1024;/单片机电源为5V,求真实电压值val_av/=2.5;/通过2.5这个系数,先转换为比例值val_av=5.0/val_av;/通过比例值和5V之间的关系,求出实际电压值return(val_av);3.3 超声波测距模块3.3.1软件设计方案超声波基本设计思路在上面已经提到了,利用的就是超声波发射和反射回来的时间差而计算出声源到目标之间的距离。在本组的超声波测距仪设计中,我们单片机先将HC-SR04的T脚置1,持续时间在10us以上就可以,然后拉低到0.当HC-SR04接收到这个高电平后,会自动发出8个约40kHz的脉冲信号给MAX232,然后MAX232将5V和0V的脉冲变换成+12V和-12的脉冲输出,送给超声波发射探头。当超声波发射完成后,HC-SR04会对R引脚进行拉高处理,单片机在检测到这个引脚变为高电平后,将打开定时器,开始定时,当HC-SR04模块接收到超声波反射回来的信号后,会对R引脚进行拉低处理,这样单片机的引脚也会被拉低,我们在单片机程序中对这个引脚的电平不断的判断,当这个引脚为低电平时,我们认为超声波返回了,这时我们将定时器关闭,然后开始计算距离数据,最后显示到1602液晶屏上面。这就是本组设计的超声波测距仪的软件设计思路。3.3.2软件流程图超声波测距的软件流程如图3-4所示:图3-4超声波测距流程图3.3.3软件代码void Conut()/超声波距离计算函数unsigned long s_t=0;unsigned char i=0,j=0;unsigned int k=0,temp=0;/变量的定义,这里要注意变量的范围float ad1=0;time=(unsigned int)(TH0*256+TL0);/将定时器的时间数据整合在一起TH0=0;/清空定时器数据TL0=0;s_t=(time*188.15)/1000;/计算出实际距离数据ss_num=(unsigned int)s_t;s_num+;if(s_num=10)/利用冒泡算法求出10次的平均值s_num=0;for(i=0;i9;i+)for(j=0;jsj+1)temp=sj;sj=sj+1;sj+1=temp;k=(unsigned int)(s2+s3+s4+s5+s6)/5;if(k0)&(k=120)&(k=220)&k=420)&(k=520)&(k=620)&(k=720)&(k=820)&(k=920)&(k=1020)&(k=3020)&(k=4520)&(k=5020)&(k6020)&(flag=0)k=k+16;flag=1;qq5=(k/1000)%10+0X30;/这里是将距离数据转换成1602显示数据qq6=(k/100)%10+0X30;qq7=(k/10)%10+0X30;qq9=(k/1)%10+0X30;display_up(qq);for(i=0;i10;i+)si=0; flag=0;if(flag_time=1)/对电池电压进行检测判断和显示flag_time=0;ad1=ad_av(0x00);zhuanhuan_1602(ad1);if(sj254000)gyd=0;qyd=1;jdq=1;if(sj2=48000)&(sj28;TL1=(65536-40000)%256;TH0=0;TL0=0;ET1=1; /允许T1中断display_up(qq);delay_ms(1);display_down(shuzu);TR1=1;while(1) while(!RX);/当RX为零时等待 TR0=1; /开启计数while(RX);/当RX为1计数并等待 TR0=0;/关闭计数TR1=0;TH1=(65536-40000)8;TL1=(65536-40000)%256;num=0; Conut();/计算 void timer1(void) interrupt 3/这里利用定时器每隔一段时间开启一次超声波进行测距TH1=(65536-40000)8;TL1=(65536-40000)%256;num+;time2+;if(time2=100)time2=0;flag_time=1;if(num=2)num=0; TRIG=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TRIG=0; 3.4 软件整体流程3.4.1软件整体设计方案在根据设计要求,基本确定了硬件后,就要着手进行软件的设计。本组设计的是超声波测距仪,所以整体的软件都是围绕着超声波测距来实现的,首先像1602液晶屏是拥有自己的操作时序,首先编写出这些固定的程序,把整体的框架给搭建好,在仿真电路中,对硬件进行基本的仿真,看看能不能实现。在实现了硬件的基本功能后,就开始设计超声波测距,根据HC-SR04模块的资料,获得操作的时序,进而进行程序的编写,写好了程序后,利用开发板和HC-SR04模块和1602液晶屏进行第一次整机调试,如果程序可行,那么就开始在精度,测距的速度,显示上面优化了。在整体都可行的基础上,进行电池电压部分的设计,在程序里面添加A/D检测程序,然后随便检测一个电压,看看这个检测的电压准不准确,如果准确的话,然后就是所有程序和模块在一起调试了,可以用开发板,也可以直接做出超声波测距仪,然后将程序下载到单片机里面,进行整机调试。3.4.2主函数程序结构主函数程序流程如图3-5所示:图3-5 超声波测距仪软件主函数流程图第四章 系统结果5.1超声波测距仪性能介绍距离测量:本组通过对本组设计的超声波测距仪进行距离测量,得到了本组本次设计的超声波测距仪的的测距范围在3.5cm-5m范围内精确测量,测量精度在1cm范围内。在场地好的情况下,距离测量的范围可以扩展到7m左右,精度也能控制在2cm以内。关于距离测量,我们采用了多重距离补偿系统,把距离误差稳定在1cm以内。达到了本次设计的基本要求。5.2超声波测距仪结果分析在设计过程中,由于场地环境和模块功率、程序算法的限制,本组设计得超声波测距仪的精度并不是很高,有一定的误差,也确实有很多的不足的地方可以改善,(1)软件程序超声波测距距离的算法还可以改进,利用多次测量超声波模块检测到的距离,与实际距离的对比,我们找到两者的比例关系,得到算法,人工补偿超声波模块测距的距离,优良的算法,可以在很大幅度上提高超声波测距仪的测距精度,本组编写的程序算法不算好,还有很大改进的地方。(2)场地环境对于超声波测距仪测距的精度有很大的限制,因为我们的超声波,它的反射部分,需要平滑的物体,而且超声波测距仪的测量角度也有很大的关系,90度是最好的角度。(3)功率因素,我们知道超声波在空气中的损耗是很高的,而且频率和测距距离是反比的关系,频率越高,精度越高,测距距离也就是越低。我们组使用的HC-SR04超声波模块的频率是固定的40kHz,这个频率是超声波在空气中穿透性最好的频率了。现在我们频率一定,只有增加超声波的功率,才能增加测距的距离和精度。HC-SR04超声波模块使用了MAX232电平转换芯片,将5V和0V电压提升到了+12V和-12V电压,这样功率被大大的提升了,所以HC-SR04模块的精度和测距的距离都很高,如果我们想继续增加超声波测距的距离,就必须要再次加大发射功率,可以利用开关三极管和变压器使输出电压的峰峰值大大提升,通过计算得知:MAX232输出的电压峰峰值是24VPP,这个值和超声波测距仪实际使用时电压的峰峰值相比,算是低的了,普通的超声波发射模块可以承受最大80VPP的电压峰峰值,这样的话,超声波的输出功率会被大大提升,将最大测量距离提升到10M以上不是问题。(4)温度补偿系统,这个系统本组在此次设计中,因为电路简洁性和PCB电路板有限制的原因,并没有添加温度补偿系统。超声波也是声波,也就是声音,既然是声音,那么就遵循声波的特性。我们知道声波在不同的介质和温度条件下,声波的速度的是不一样的,所以我们还可以增加温度补偿系统,根据外界的温度实时补偿超声波的测距距离,用以提高超声波检测距离的精度。致 谢本次设计的超声波测距仪整体结构和性能就如上面所述,由于时间有限和个人能力的有限,所以设计的超声波测距仪整体性能并不出色。但是在这里,我还是要向一直帮助我改善产品性能的姚聪老师表示感谢,也向在超声波测距仪设计过程中,提供帮助的杨永强同学和李玉同学表示感谢,正是有了你们的帮助,这次的超声波测距仪才得以设计完成。在这次的设计中,我不仅收获了知识,也收获了师生情和同学情,我相信这份感情会一直持续下去的,最后呢,再次感谢姚老师和两位同学的帮助,谢谢你们!谢谢!参考文献1郭天祥 51单片机C语言教程电子工业出版社20132姚永平 STC12系列单片机手册 STC官网20103郭天祥 51单片机C语言教程电子工业出版社2013指导教师评语:签 名: 日 期: 年 月 日毕业论文成绩评定: 盖 章: 日 期: 年 月 日
展开阅读全文