已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
短距离超声测距系统的设计与实现学生姓名: 学 号: 班 级: 专 业: 学 部: 指导教师: 2011年11月目录摘 要1绪论21硬件电路设计31.1基本功能31.2 原理电路设计31.3 pcb版图设计62 软件设计72.1 基本功能72.2 程序设计思路72.3 设计技巧83系统电路调试93.1电路仿真遇到困难及解决方案93.2硬件电路遇到困难及解决方案93.3测量数据结果及分析10设计小结124.1实际硬件电路图124.2小结12附 录12a计划书12b电路图12c 元件清单18d程序清单19摘 要超声波测距系统在上个世纪70年代已经实用化,从70年代末期开始广泛应用于生产领域。于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在工农业生产上到了广泛的应用。如倒车雷达,测水深,机器人壁障等。 本次的超声波短距离统可以完成近距离的距离检测(2cm-300cm),并可以通过按键对其测量状态进行手动控制,使使用者更好的进行数据的读取工作。 硬件方面我们以stc89c52单片机为核心,8段4位共阳极数码管显示和超声波模块进行测距。使用proteus进行电路仿真。软件方面我们以keil4软件为平台用c语言进行程序编写。关健词:超声波;传感器;单片机。绪论用于短距离测量及其测量数值的显示。测量范围在0.20-3.50m,测量精度2cm,测量时与被测物体无直接接触。能够清晰稳定地在显示器上显示测量结果,并可以通过按键对其测量状态进行手动控制,使使用者更好的进行数据的读取工作。测距系统可以安装在倒车雷达或壁障机器人等需要短距离检测的设备中。在初选方案是我们有三个测距方案,分别为:方案1:使用红外线测距。方案2:使用激光测测距。方案3:使用超声波测距。通过比较我们发现。方案一精度达标,设备器材价格合理,但测量距离较短,易受到周围环境影响,特别是较强光照对检测信号的影响,会造成系统不稳定,不可测量透明物体。方案二精度达标,测量距离远,系统运行稳定,但是需要注意人体安全,而且光学系统需要保持干净,否则将影响测量,且成本较高。所以我们选用检测比较迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到实验要求的方案3:超声波测距系统。此系统通过超声波测距模块完成超声波的放送,接收以及温度补偿。通过动态扫描的方式用数码管进行显示。用stc89c52进行其它模块的控制。在12周的实验中我们完成了电路的仿真,实物电路的焊接,及软件的调试。实体电路可以很好的完成我们实验初设计的技术指标。在这个过程中我们收获颇丰。如仿真软件的使用更加熟练,了解了c语言在单片机中的运用,购买电子器件时对价钱的掌握,电子焊接时需要注意事项和技巧等等。1硬件电路设计1.1基本功能采用stc89c52单片机作为主控制器,12mhz高精度的晶振。用动态扫描法实现3位共阳极数码管的显示,使用9012(pnp)进行数码管的驱动。超声波驱动信号则用单片机的外部中断0完成,用定时器1来在做返回信号的时间计算。并且可以通过p1.3口的开关进行测量状态进行手动控制,使使用者更好的进行数据的读取工作。超声波测距系统原理如图1。图1超声波测距系统原理1.2 原理电路设计首先要了解超声波测距原理。只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的基本原理。如图2 公式s=340t/2 超声波发射 障碍物 s h 超声波接收图2超声波测距原理图图3是系统的实体完整电路图图3 实际电路完整电路图图4仿真电路完整电路图。因为超声波仿真电路较为复杂,所以我们通过用button按键的方式来模拟发射及接收信号的过程。仿真电路完整电路图,调试过程中只要按下显示距离的button(相当于接收到了返回的信号)此时定时器1开启计时。当松开button(相当与信号接收完毕),定时器1关闭并进行距离测算。可以通过按下p1.7口的button做到测量距离及定时器测得时间的显示转换。493为仿真电路中测量距离,单位cm。图4仿真电路完整电路图在超声波发送接收的选择上我们选用了一体式的超声波收发模块。接收一共有5个。1口vcc,2口发送trig/t,3口接收echo/rx,4口滞空,5口接地。采用电瓶触发的工作原理。只需要在trig/tx管脚输入一个10us以上的高电平,系统便可发出8个40khz的超声波脉冲,然后检测回波信号。当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过echo/rx管脚输出。模块将距离值转化为340m/s时的时间值的2倍,通过echo端输出一高电平,可根据此高电平的持续时间来计算距离值。即距离值为:(高电平时间*340m/s)/2。超声波收发模块分解后的原理图如图5发送模块。发射电路主要由反向器74ls04和超声波换能器构成,单片机p1.0端口输出的40khz方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路级两级反向器后送到超声波换能器的另一个电极,用这种推挽形式将方波信号加到超声波换能器两端可以提高超声波的发射强度。图5超声波发射电路原理图接收模块如图6主要通过cx20106a进行检测接收,它的主要功能是进行检波,滤波等功能。适当地更改电容c4的大小,可以改变接收电路的灵敏度和抗干扰能力。图6超声波检测接收电路原理图仿真电路通过多次调试已可以很好的显示测量距离与测量时间,如图7中40us的接收时间及40*34/2=680cm的测量距离。图7 仿真调试结果1.3 pcb版图设计pcb版图如图8所示。在设计过程中我们发现proteus里没有我们想要的封装,因此我们选用了一些相同封装格式的其他原件作为代替。如超声传感器,开关组及led7seg-56。因为我们使用的4位8段数码管,所以在排线过程中,我们只连接了期中一个数码管的段位焊点,其它数码管连接位选端作为代替。超声波传感器开关组图8 pcb版图2 软件设计2.1 基本功能通过p3.3发送一个脉冲信号,让超声波传感器发送超声波。通过外部中断0判断是否有回波。当有回波时,超声波传感器r端会发送一个高电平信号。高电平持续的时间由定时器1进行计时。由p0口进行数码管的显示,p2.5,p2.6,p2.7为位选端。并可以通过p1.3口的开关暂停以上过程并只显示当前测量数值。2.2 程序设计思路在编程语言的选择上,本次设计主要考虑使用所学过的汇编语言和c语言。汇编语言是一种面向机器的低级的程序设计语言。它直接利用机器提供的指令系统编写程序,该类程序的可执行指令是与机器语言程序的指令一一对应的。缺点是程序的通用性和可移植性差;程序比较繁琐,调试困难;目标程序比较庞大,运行速度慢。c语言是一种编译型的程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。c语言有功能丰富的库函数,运算速度快,编译效率高,有良好的可移植性,而且可以直接实现对系统硬件的控制。综合以上对两种编程语言特点的比较,并考虑到单片机之间采用串行数据传送,采用c语言编写的话又可以简化许多使用汇编语言时进行浮点运算的不便。再加上本人对c语言程序更加熟悉一点,所以最终决定使用c语言为本次设计的编程语言。程序流程如图9程序初始化数码管显示数码管显示是否接收发送超声波发送超声波程序初始化开始开关0/1距离计算低电平关闭定时器高电平开启定时器图9 程序流程图10数码管显示数码管显示yn2.3 设计技巧显示模块进行动态扫描的方式代码如下void disp(uint t) ge=shi=bai=1; /各位的显示 shi=1; /关闭十位显示 bai=0; ge=1; /打开个位显示 p0=at%100%10; /让个位显示3 delays(5); p0=0xff; /显示清0 /十位的显示 bai=1; ge=1; /打开个位显示 shi=0; /关闭十位显示 p0=at%100/10; /让个位显示3 delays(5); p0=0xff; /显示清0/百位的显示 ge=0; /打开个位显示 shi=1; /关闭十位显示g bai=1; p0=at/100; /让个位显示3 delays(5); p0=0xff; /显示清0 接收发送模块主要由外部中断,定时子程序及主函数来完成。外部中断0,用做判断回波电平void exter() interrupt timeh =th1; /取出定时器的值timel =tl1; /取出定时器的值succeed_flag=1;/至成功测量的标志ex0=0; /关闭外部中断disp(t) ; 通过以上程序可以很好的完成设计实验的性能指标。定时器1中断,用做超声波测距计时void timer1() interrupt 3 / th1=0; tl1=0; m+; disp(t) ; 主函数进行回波判断,计算,显示。while(1) for(c=0;c100;c+)disp(t) ;c=0; while(k=0);ea=0; /关总中断trig=1; /超声波输入端delay_20us(); /延时20ustrig=0; /产生一个20us的脉冲while(echo=0);/等待echo回波引脚变高电平succeed_flag=0; /清测量成功标志ea=1; ex0=1; /打开外部中断0th1=0; /定时器1清零tl1=0; /定时器1清零tf1=0; /计数溢出标志tr1=1; /启动定时器1delays(20); /等待测量的结果tr1=0; /关闭定时器1ex0=0; /关闭外部中断0if(succeed_flag=1) time=timeh*256+timel; t=time*0.172*0.1; /厘米 if(succeed_flag=0)distance=0; /没有回波则清零disp(t) ; 3系统电路调试3.1电路仿真遇到困难及解决方案1.数码管驱动9012在proteus元件库中没有找到。 解决方案:最终选取2n3906pnp元件代替。2.超声波收发的模拟很难用proteus完成。 解决方案:最终通过按键的方式来模拟传感器的收,发状态。3.声速较快,按键手点方式很难达到实际时间的检测范围。 解决方案:修改定时器初值,减慢测量时间,使实际时间:模拟时间为1:10。4.测量一次结果后需要复位清零才可重新计时。 解决方案:修改程序做到每次测试前计数器清0。3.2硬件电路遇到困难及解决方案1.实际电路使用面包板进行插线连接。完成后系统不能正常工作。 解决方案:因接线过于复杂,决定直接进行实际电路的焊接,放弃面包板模拟。2.显示模块的焊接中发现,如果要用仿真时的程序,数码管与单片机的接口焊接时会过于复杂,不利于系统的运行。解决方案:修改当前程序,让电路焊接更为简单。修改前程序:a=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;下表为修改程序的进制转换如表1表一进制转换二进制十六进制h b g c f a d e01010 0000a011111 1001af21001 10009831000 10018941000 01118751100 0001c161100 0000c071010 1011ab81000 00008091000 0011833.有较多vcc,gnd管脚,用导线连接后过于交叉,影响系统正常运行。解决方案:将所有vcc至于焊板最上端,将所有gnd至于焊板下端。让每个焊点与其成为t字型。4.仿真电路因为与硬件电路有差异,所以无法直接套用仿真程序。 解决方案:适当修改程序,使其可以在硬件电路上运行。5.系统测量时,单位时间内测量次数过多,导致显示数字的停留时间过短。解决方案:修改程序,让其每隔2秒进行一次距离测算。3.3测量数据结果及分析图10是最终调试结果展示图10 实际电路测试结果我们对0-3m内的范围进行了多点多次测量表2是测量结果表2测量数据统计通过数据生成的折线图可以看出测量结果基本于实际值平行,可以达到设计初期制定的指标。如图11图11数据分析折线图通过误差数据分析我们得出,在0.1-4cm内是超声波测距的盲区,不能正常的测量与计算。随后的5cm-300cm误差平均是正负1cm,还要考虑物体的实际距离有可能有偏差,所以可以初步确定次系统的有效范围在5cm-300cm。误差图如图12。图12误差分析图设计小结4.1实际硬件电路图硬件电路如图13图13实际硬件电路参考文献1高建平,赵龙庆.温室计算机控制与管理技术的发展概况及在我国的应用前景j. 计算机与农业,2003,2:12152王宝芹等.基于单片机的控制系统设计j. 林业机械与木工设备,2008,36(3):39403江力.单片机原理及应用技术m.北京:清华大学出版社,2006:12704李现明.声波传感器的结构应用.北京:机械工业出版社20055周海燕等.c语言程序设计.北京 应用型本科人才培养创新教材出版工程20066 胡汉才. 单片机原理及其接口技术. 北京清华大学出版社.1996年附 录a计划书短距离超声测距系统的设计与实现一、实现功能1.用于短距离测量及其测量数值的显示。2.测量范围在0.10-3.00m,测量精度1cm,测量时与被测物体无直接接触。3.能够清晰稳定地在显示器上显示测量结果。二、方案选择方案1:使用红外线测距离传感器。主控芯片是atmega16芯片,红外发射电路,红外接收驱动电路,rs485通讯,led显示构成。电路如图1。(主控芯片、外围电路)。缺点在于,测量距离较短,易受到周围环境影响,特别是较强光照对检测信号的影响,会造成系统不稳定,不可测量透明物体。软件方面:对atmega16单片机初始化,用汇编语言编编写程序。图1红外线测距电方案2:硬件方面,使用激光测距仪,由激光器、激光检测器和测量电路组成。电路如图2.激光测距能实现无接触远距离测量,速度快,精度高,量程大,抗光等,但是需要注意人体安全,成本较高,而且光学系统需要保持干净,否则将影响测量。图2激光测距仪原理图方案3:硬件方面,使用超声波传感器测距。以at89s51单片机为核心。使用收发分体式超声波传感器,或者用cx20106a接收芯片和tct40-10系列超风波转换模块控制。led显示。电路设计如图3。用超声波检测比较迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到工业实用的指标要求,因此为了使移动机器人能够自动躲避障碍物行走,就必须装备测距系统,以使其及时获取距障碍物的位置信息。软件方面:使用c语言进行编写。图3 超声波测距基于上述考虑,为了提高测量数据的准确性,我们采用方案三。三、总体框图及各模块功能1.根据设计要求并综合各方面因素,本例决定采用at89s51单片机作为主控制器,用动态扫描法实现led数字显示,超声波驱动信号用单片机的定时器完成。超声波测距器系统设计如图4所示。超声波接收单片机控制器超声波发送led显示扫描驱动图4超声波测距器系统设计框图2.单片机采用at89s51。系统采用12mhz高精度的晶振,以获得较稳定的时钟频率,并减小测量误差。单片机用p1.0端口输出超声波换能器所需的40khz方波信号,利用外中断0口检测超声波接收电路输出的返回信号。3.显示电路采用简单实用的4位共阳led数码管。断码用74ls244驱动,位码用pnp三极管9012驱动。4超声波发射电路原理图5所示。发射电路主要由反向器74ls04和超声波换能器构成。超声波发送40khz方波信号后送到超声波换能器的另一个电极,用这种推挽形式将方波信号加到超声波换能器两端可以提高超声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力。图5超声波发射电路原理图4超声波检测接收电路图6,集成电路cx20106a是一款红外线检波接收的专用芯片。红外遥控常用的载波频率38khz于测距的超声波频率40khz较为接近,可以利用它制作超声波检测接收电路。图6超声波检测接收电路图四、课题进度计划第一周:了解课程设计目的和任务、收集课题材料第二周:确立课题方案,完成计划书第三周:进行电路原理及编程思路讨论,初步完成电路设计,确定程序设计思路第四周:*、*、模块电路(及程序)仿真调试第五周:*、*、模块电路(及程序)仿真调试第六周:系统电路(及程序)仿真调试,课外完成元器件采购第七周:硬件焊板调试,完成电路板图,完善程序设计第八周:系统调试(软硬件)第九周:系统调试完善第十周:写设计报告、准备答辩提纲(ppt文档制作)、讨论答辩思路第十一周:完善设计报告、答辩提纲(ppt文档制作)、答辩思路第十二周:答辩五、设计环境硬件pc机、tct40-10-10t/r压电陶瓷超声传感器、红外检测接受专用芯片cx20106a、at89s51单片机。软件protel99、multisim、proteus99se。六、预测困难1.电路原理和器件功能分析2.仿真软件的使用3.焊接调试过程中遇到难题4.基于外界因素导致测量结果不准确。七、参与人员及分工组长:陈宇组员:张昊、刘斐然分工情况:1.材料收集及总体方案确定:陈宇、张昊、刘斐然2.电路设计:陈宇、张昊、刘斐然3.焊接调试:陈宇、张昊、刘斐然4.程序设计:张昊、刘斐然5.记录归档:陈宇6.原件采购:陈宇、张昊、刘斐然7.论文:陈宇、张昊、刘斐然b电路图硬件电路图仿真电路图发送模块 接收模块pcb版图实物电路c 元件清单 名称型号数量单片机stc98c521传感器模块t40-161led共阳极8段1三极管90124晶振12mhk1开关button2电源开关1电容330p133p2电阻4.7k51k10d程序清单#include#define uint unsigned int/#include reg2051.h#include /#include math.h#define uint unsigned int#define uchar unsigned char#define led_data p0 /定义led显示数据为p1口#define off p3sbit ge=p25; /个位控制sbit shi=p26; /十位控制sbit bai=p27; /百位控制sbit trig=p33;sbit echo=p32; sbit k=p13; sbit test=p10; sbit succeed_flag=p11;uchar code a=0xa0,0xaf,0x98,0x89,0x87,0xc1,0xc0,0xab,0x80,0x83; double t,timel,timeh,time,l;uint i,c;uint m;void delays(uint xms) /延时子函数uint i,j; for(i=xms;i0;i-) for(j=123;j0;j-);void disp(uint t) ge=shi=bai=1; /各位的显示 shi=1; /关闭十位显示 bai=0; ge=1; /打开个位显示 p0=at%100%10; /让个位显示3 delays(5); p0=0xff; /显示清0 /十位的显示 bai=1; ge=1; /打开个位显示 shi=0; /关闭十位显示 p0=at%100/10; /让个位显示3 delays(5); p0=0xff; /显示清0/百位的显示 ge=0; /打开个位显示 s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 空调项目合作协议书
- 社区商铺合租协议书
- 花园设计师合同范本
- 祛斑加盟约合同范本
- 畜牧疫苗防疫协议书
- 电子合同就业协议书
- 破产公司修复协议书
- 电商与平台合同范本
- 砸墙拆除合同协议书
- 社保局劳动合同范本
- 烘干塔买卖合同范本
- 扬修2SA8电动执行器使用维护
- 2025云南省科技投资管理有限公司招聘二次(19人)笔试考试参考试题及答案解析
- 光伏支架项目可行性研究报告
- (完整)特种设备专项应急预案
- 2025中国电信股份有限公司重庆分公司社会成熟人才招聘考试笔试备考试题及答案解析
- 2025年广东省春季高考(学考)英语真题(试题+答案)
- 2025年4月自考03450公共部门人力资源管理试题
- 黄瓜杂交种子生产技术
- 国际海域划界测量技术方法
- 大学英语四级 700核心高频词
评论
0/150
提交评论