超声波传感器课程设计_第1页
超声波传感器课程设计_第2页
超声波传感器课程设计_第3页
超声波传感器课程设计_第4页
超声波传感器课程设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、 传感器课程设计学生姓名: 叶琳专 业: 自动化学 号: 121141135所属学院: 航空自动化学院 二一四年十二月目 录1、 设计目的22、 设计任务及要求23、 超声波传感器模块23.1、特点23.2、工作原理23.3、实物图23.4、电气参数23.5、超声波时序图34、硬件电路分析34.1、发射电路44.2、接收电路44.3、检测电路55、 程序设计66、 思考问题67、 课程设计感悟7 附录8101、 设计目的:1) 掌握超声波传感器测距的工作原理;2) 了解超声波传感器的具体应用3) 加深对电子电路方面知识的理解;4) 掌握智能控制系统的设计方法,及c语言软件编程及调试方法;5)

2、加强学生的实际动手能力,建立学生将课程内容与实际生活相结合的意识。2、 设计任务及要求:1) 要求以at89c51单片机为控制器,以超声波传感器模块为传感单元,设计一个测距系统。2) 系统根据所测到的距离,点亮不同的led灯,要求当系统与障碍物的距离为1m时点亮1个led灯,2m时点亮2个led灯,5m时点亮5个led灯。3) 当距离小于0.5m时驱动蜂鸣器报警,该系统不需要显示具体距离。3、 超声波传感器模块1、 特点:hc-sr04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。2、 工作原理:基本工作原理:(1

3、)采用io 口trig 触发测距,给最少10us 的高电平信呈。(2)模块自动发送8 个40khz 的方波,自动检测是否有信号返回;(3)有信号返回,通过io 口echo 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340m/s)/2;3、 实物图: 如右图接线,vcc 供5v电源, gnd 为地线,trig 触发控制信号输入,echo 回响信号输出等四个接口端。4、 电气参数: 5、超声波时序图: 以上时序图表明你只需要提供一个10us 以上脉冲触发信号,该模块内部将发出8 个40khz 周期电平并检测回波。一旦检测到有回波信号则输出回响信号。

4、回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式:us/58=厘米或者us/148=英寸;或是:距离=高电平时间*声速(340m/s)/2;建议测量周期为60ms 以上,以防止发射信号对回响信号的影响。4、 硬件电路分析:系统硬件电路主要包括3个部分:发射电路、检测电路、显示电路。系统整体框图如下图所示。发射电路采用单片机端口编程输出40khz左右的方波脉冲信号,同时开启内部定时器t0。单片机的输出端口一般驱动能力较弱,为增大测量距离可在发射电路上增加功率放大电路。从接收传感器探头传来的超声回波很微弱(几十个mv级),又存在较强的噪声,所以必

5、须增加放大电路和抑制噪声电路。1、 发射电路:发射电路主要目的是抬高输入到发射探头的电压及功率。单电源乙类互补对称功率放大电路就有此功能。该电路如图所示:2、 接收电路:接收电路主要包括两部分:前置放大电路和带通滤波电路。前置放大电路单元的作用是对有用的信号进行放大,并抑制其他的噪声和干扰,从而达到最大信噪比。电路如图所示:在传感器接收的信号中,除了障碍物反射的回波外,总混有杂波和干扰脉冲等环境噪声,而前端放大电路在放大有用信号的同时,会将一部分噪声信号同时放大,并没有提高输入信号的信噪比。可用运算放大器构成一带通滤波器,滤除干扰。电路如图所示:3、 检测电路:检测电路要求保证每次接收信号都能

6、被准确地鉴别出来,通常利用比较器将输入信号与某一固定电平进行比较,输出不同的电平来产生上升或下降沿触发,转换成数字脉冲去触发单片机引脚。电路如图所示:5、 程序设计:根据超声波传感器的原理可以设计程序,整个系统软件结构分为主程序、延时程序、定时器中断程序。 延时程序 定时器中断 主程序 p00接蜂鸣器p01-p05分别接5分led发光二极管p34 超声波模块的触发io口p32 超声波模块的接收io口6、 思考问题:测距时,被测物体的面积不少于0.5平方米且平面尽量要求平整,否则影响测量的结果。为什么? 本次实验采用的hc-sr04超声波测距模块可提供2cm-400cm的非接触式距离感测功能。也

7、就是最大测量距离为4m,由于距离较远,超声波的峰峰值有可能超过0.5-1m,造成不能反射回波,所以被测物体面积不少于0.5平方米可测量最大值4m。7、 课程设计感悟: 两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。附录:程序代码#includeunsigned int counter=0;/用来中断计数double time=0.0;/时间变量,单位是msdouble

8、distance=0.0;/距离变量,单位是cmsbit trig=p34;/超声波模块的触发io口sbit echo=p32;/超声波模块的接收io口void timer0init()/定时器0初始化,每1us中断一次tmod=0x01;th0=(65536-1)/256;tl0=(65536-1)%256;ea=1;et0=1;void delay(int z)/简略延迟函数,延迟z毫秒int i,j;for(i=z;i0;i-)for(j=110;j0;j-);void main()timer0init();/定时器0初始化trig=0;/超声波模块置低电平,初始化echo=0;/同上p

9、1=0x01;/初始化,让灯不亮,蜂鸣器不响delay(5);/延迟5mswhile(1)tr0=1;/打开定时器0,开始计数trig=1;/给出发端20us的高电平while(counter=20);trig=0;tr0=0;/关闭定时器,停止计数counter=0;/计数值清0while(!(echo=1);/等待接收端返回高电平的信号,接收不到(也就是说为低电平)就继续等待tr0=1;/接收到返回信号后开始计时while(!(echo=0);/等待返回信号结束tr0=0;/停止计时time=counter*1.0/1000.0;/计算时间,单位为mscounter=0;/counter作用已经结束,所以清0distance=time*17.0;/计算距离,单位为cmif(distance=50.0)p1=0x00;else if(distance=100.0)p1=0x03;else if(distance=200.0)p1=0x07;else if(distance=300.0)p1=0x0f;else if(distance=400.0)

温馨提示

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

评论

0/150

提交评论