单片机超声波测距模块_第1页
单片机超声波测距模块_第2页
单片机超声波测距模块_第3页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验总成绩:报告份数:1份西安邮电大学通信与信息工程学院装课程设计实验报告订线专业班级: 电科1003班学生姓名:易海博学号(班内序号):03102085(13)2014 年3 月25 日成绩鉴定表学生姓名易海博班级/学号电科1003班/03102085进行时间2014年3月1日一2014年3月28日成绩鉴定学习内容(20 分)与教学任务计划结合程度(10分)与专业培养结合程度(6分)其它(4分)学习态度 评价(20 分)实践能力(10分)学习态度(6分)学习纪律(4分)报告鉴定(60 分)报告内容与实践过程紧密结合(15分)报告内容与教学计划内容紧密结合(15分)报告质量(主题、结构、观点、

2、逻辑、资料、字数 30 分)评阅教师姓名陈瑞职称讲师成绩评语评阅教师签字年 月日超声波测距模块设计一设计目的本设计利用超声波传输中距离与时间的关系, 采用STC51单片机进行控制和 数据处理, 设计出能够精确测量两点间距离的超声波测距仪。 同时了解单片机各 个管脚的功能,工作方式,计数 / 定时, I/O 口相关的原理,并了解学习单片机 的相关内容知识。二设计要求设计一个超声波测距仪,能够用 1 602屏实时显示测量的数据,并要求设定 一定距离下提示报警。三设计器材元器件 数量电阻 2 个HC-SR04( 超声波测距模块 )1 片HJ1602A( 液晶显示模块 )1 片单片机最小系统板1个四超

3、声波测距原理 在超声探测电路中,发射端得到输出脉冲为一系列方波,其宽度为发射超声 的时间间隔, 被测物距离越大, 脉冲宽度越大, 输出脉冲个数与被测距离成正比。 超声测距有以下方法: 取输出脉冲的平均值电压,该电压(其幅值基本固定) 与距离成正比,测量电压即可测得距离; 测量输出脉冲的宽度,即发射超声波 与接收超声波的时间间隔t,故被测距离为S=1/2vt。本测量电路采用第二种方案。由于超声波的声速与温度有关, 如果温度变化不大, 则可认为声速基本不变。如果测距精度要求很高,则应通过温度补偿的方法加以校正。 超声波在标准空气 中的传播速度为331.45m/s,由单片机负责计时,单片机使用12.

4、0M晶振。超声波测距的算法设计:超声波在空气中传播速度为每秒钟340米(15C时),x1是声波返回的时刻,x2是声波发声的时刻,x2-x1得出的是一个时间差的绝对值,贝U超声波发出遇到反射物返回的距离如下1超声波测距器的系统框图如下 2图1五、设计方案及分析(包含设计电路图)图2系统框图硬件电路设计1单片机最小系统控制模块设计与比较采用 STC51单片机控制。S TC51单片机是一种低功耗、高性能CMOS8位微控制器,具有8KB的 系统可编程Flash存储器。最小系统电路图如图3所示n#i iM-I> i31 dQJ-j . -0H J鈕Jt -4KiM.Jhfs;r -M A XMAa

5、-Ii占HKVBIis*FT3I r-LfiTT-OrLr-K"*llH卅悒亍常!rH p Ai吒m.4 Alls Pll AILW-dl,图3单片机最小系统2.显示模块设计HJ1602A显示,连接电路简单,显示电路连接图如 图49日J-3图4显示屏电路3.超声波测距模块vccj vcc£.cho and 1坦R .廈斓鹿偿取口点口毗h g 謝4神h X 对輕图5超声波电路本系统采用超声波模块URF04进行测距,该模块使用直流5V供电, 理想条件下测距可达500cm,广泛应用于超声波测距领域,模块性能稳 定,测度距离精确,盲区(2cm)超近。超声波测距原理:单片机给超声波传

6、感器模块一个触发电平,超声波传感器的发射管自动发送 8个40KHZ的方波,当超声波检测到障碍 物时就会信号返回,接收管接收到信号返回之后, 单片机处理从单片机 发送信号到接收到返回信号这段时间里超声波传感器模块输出高电平。这段高电平持续时间即为超声波从发射到返回的传播时间。测量距离=(高电平持续时间*波速)/2。4 .其他电路设计a. 复位电路单片机在RESET端加一个大于20ms正脉冲即可实现复位,上电复 位和按钮组合的复位电路如下:图6复位电路在系统上电的瞬间,RST与电源电压同电位,随着电容的电压逐渐 上升,RST电位下降,于是在 RST形成一个正脉冲。只要该脉冲足够 宽就可以实现复位,

7、即(RC(20ms。一般取R(1K(, C(22uF。当人按下按 钮S1时,使电容C1通过R1迅速放电,待S1弹起后,C再次充电, 手动复位。R1 一般取200(。b. 时钟电路当使用单片机的内部时钟电路时, 单片机的XATL1和XATL2用来 接石英晶体和微调电容,如图所示,晶体一般可以选择 3M24M,电容 选择图7时钟电路30pF左右。我们选择晶振为12MHz,电容33pFc ir< III拿用IIMI工图8按键电路c. 按键电路我们通过P1.0来启动测量,程序中通过查询 P1.0的电平来检测是 否按键被按下,电路原理如下:当按下按键时P1.0为低电平,单片机通过 查询到低电平开始

8、测量距离,当松开按键,P1.0即为高电平。在软件中通过软 件延时来消除按键的机械抖动。5.软件程序设计软件分为两部分,主程序和中断服务程序。主程序完成初始化工作、超声波发射和接收顺序的控制。 外部中断服务子程序主要完成时间值的 读取、距离计算、结果的输出、数码管显示等工作。主程序首先是对超声波模块初始化,通过延时函数产生10us的高电平,再将计数器初始化,判断超声波接收端是否收到回波,进而执行 外部中断程序。图9主程序流程图中断程序首先关闭外部中断,关闭计数器,然后读出计数值,根据 公式计算距离,然后将结果送往数码管显示。图10外部中断服务子程序为了避免超声波从发射器直接传送到接收器引起的直射

9、波触发,需要延时约0.1 ms(这也就是超声波测距仪会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。由于采用的是 12 MHz的晶 振,计数器每计一个数,就是 1口§当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按公式计算,即可得被测物体与测距仪之间的距离,设计时取30C时的声速为340 mls则有:d=(c >t)/2=170T0/10000cm 其中,T0为计数器T0的计算值。六、问题分析与解决方法1. 在拿到设计要求之后,我们根据超声波模块的工作原理:给超声 波传感器模块一个触发电平, 超声波传感器的发射管自动发送 8

10、个 40K HZ 的方波,当超声波检测到障碍物时就会信号返回,接收管接收到信 号返回之后, 单片机处理从单片机发送信号到接收到返回信号这段时间 里超声波传感器模块输出高电平。 这段高电平持续时间即为超声波从发 射到返回的传播时间。测量距离 =(高电平持续时间 *波速) /2。我们的 设计方案是利用计数器 0 进行计数, 通过捕获上升沿和下降沿用计数器 来计算高电平的持序时间,实现数据的测量。而且经讨论学习后知道,高电平持续时间二计数值X单片机的机器周期(1us)。2. 在设计数码管显示电路时, 在刚开始连接电路时, 发现连好之后, 数码管不亮,最后我们分析电路,单片机 IO 口输出电流太小,不

11、足以 驱动数码管,于是我们加了一个与门的驱动器,使之前的 3A 电流变为 5A,由此数码管就足以驱动。七、设计结果a.测试环境及工具测试距离:在实验室的特定环境中测量了0.032.15m。测试仪器:数字万用表,直尺。b.测试方法超声波测距测距仪的硬件电路制作完成并调试好后, 便可将程序编 译好下载到单片机试运行。用直尺确定障碍物的距离, 数码管显示测量 的距离。C.测试结果分析测距仪能测的范围为0.032.15m,测距仪最大误差不超过1cm。 系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。由于条件有限,我们忽略温度的影 响,不进行温度补偿,声速选

12、取 340m/s.调试测量的部分测距数据如下表所示:测试序号显示距离(m)实际距离(m)误差(m)10.0350.0340.00121.001.00031.2571.2550.00241.3641.3650.00152.1482.1470.001调试测量的部分数据八、设计体会与收获本次试验目的为设计利用超声波传输中距离与时间的关系,采用STC51单片机进行控制和数据处理,设计出能够精确测量两点间距离的 超声波测距仪。我们这次设计共有三个模块,分别是超声波模块,显示 屏模块和报警模块。一开始搭建完成后,在调试的时候出现了很多问题, 后来经过重新检查,最后才完成。这次课程设计虽然只有短短两周的时间

13、,但却是一次难得的理论与实践相结合的机会,以前只是在书本上学习到单片机可以实现的很多功能,但却没有机会实践,通过本次课程设计我不光复习了模电知识及单 片机知识,锻炼了动手能力,同时也熟悉掌握了proteus仿真软件和Pr otel电路设计软件的使用。对于我们电科专业的学生来说,Proteus和Protel是必须掌握的电路 仿真软件,这次课程设计给我提供了一个很好的机会,让我可以很好地锻炼自己的实践能力。总的来说,此次实习还是收获颇丰的,很感谢学 校可以给我们提供这样的一次机会。附录I:超声波测距仪系统电路原理图图11超声波测距仪系统电路原理图附录U:程序代码'#in clude<

14、reg52.h>#in clude< intrin s.h>#defi ne uint un sig ned int#defi ne uchar un sig ned charsbit trig=P1A2;sbit echo=P3A2;sbit test=P1A3;sbit dula=P2A6;sbit wela=P2A7;sbit BEEP=P2A3;sbit rs=P1A0;sbit rw=P1A1;sbit lcden=P2A5;sbit k1=P3A4;uchar table1="Distance Test:"uchar table2="

15、000.0cm"uchar cache4=0,0,0,0;uint distance,timeh,timel,flag;void delay(uint x)uint a,b;for(a=x;a>0;a-) for(b=10;b>0;b-);void delay1(uint x)uint a,b;for(a=x;a>0;a-) for(b=100;b>0;b-);void delay20us() uchar a;for(a=0;a<100;a+);/*void beer()BEEP=0;delay2(10);*/void initime0()TMOD=0x

16、01;TH0=0;TL0=0;EA=0;ET0=0;EX0=0;voidestern() interrupt 0 timeh=TH0;timel=TL0;flag=1;EX0=0;TR0=0;void write_com(uchar com) P0=com;rs=0; lcden=0;delay(10); lcden=1;delay(10); lcden=0;void write_date(uchar date)P0=date; rs=1;lcden=0; delay(10);lcden=1;delay(10); lcden=0;void init()rw=0; dula=0;wela=0;

17、write_com(0x38);delay(20); write_com(0x0f);delay(20); write_com(0x06);delay(20); write_com(0x01);delay(20);void display(distance)uchar a; cache1=distance/1000; cache2=distance%1000/100; cache3=distance%100;cache4=distance%10;table20=cache1+'0'table21=cache2+'0'table22=cache3+'0&#

18、39;table24=cache4+'0'write_com(0x80+2);delay(20);for(a=0;a<13;a+)write_date(table1a); delay(20);write_com(0xc0+9);delay(50);for(a=0;a<13;a+)write_date(table2a); delay(40);void shixi() EA=0; echo=1; trig=1; delay20us(); trig=0; while(echo=0); flag=0; EA=1; EX0=1; TR0=1; TH0=0; TL0=0;delay1(50);TR0=0;EX0=0;if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论