基于51单片机的超声波测距电路_第1页
基于51单片机的超声波测距电路_第2页
基于51单片机的超声波测距电路_第3页
基于51单片机的超声波测距电路_第4页
基于51单片机的超声波测距电路_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、超声波测距电路简介(论文)题目:基于单片机的超声波测距电路摘要距离,也称为位移,是五个工业尺度之一。测距广泛应用于汽车倒车、水平检测、智能避障等方面。距离的测量对于生产工作至关重要。现有测距方法有多种,本电路采用超声波测距方案。由于超声波的方向性强、传输距离远,超声波测距是一种方便快捷的方法。本方案采用MCS-51单片机作为主控芯片,采用集成芯片CX20106A作为超声波接收电路的主芯片,大大简化了外围电路的复杂度,提高了电路的稳定性。通过测试,该电路基本可以测量探头到障碍物的距离,达到目的。关键词:超声波测距, MCS-51单片机, CX20106A目录1.作品名称. (4)2、方案比选三、

2、电路设计思路及整体结构(5)4.电路设计与成型(5)4.1 电源部分(5)4.2 单片机部分(6)4.3 超声波发射部分(6)4.4 超声波接收部分 . (7)4.5 温度补偿部分(8)4.6 显示部分 (9)4.7 整体电路及其PCB图(9)5.电路软件设计5.1 初始化部分 (11)5.2 超声波发射部分 (12)5.3 温度检测部分5.4 时序与中断部分 (13)5.5 液晶显示部分(13)5.6 主程序(14)六、总结 (14)7. 参考文献 (15)一、作品名称:基于单片机的超声波测距电路。2、方案比较与选择:目前常用的基于电子技术的测距方法主要有雷达测距、激光测距、光电测距和超声波

3、测距等。其中,由于雷达测距和激光测距条件恶劣,成本高昂,在方案的选择中不予考虑。下面重点对比光电测距和超声波测距两种方案。计划一:采用光电测距。一般来说,光电测距采用红外光电池作为发射和接收传感器,红外发光二极管和接收管如图2.1所示。图 2.1 红外发射/接收管红外线发射/接收信号滤波和放大信号处理、计算距离显示图 2.2 系统流程图红外测距反应灵敏、安全可靠,但测量范围较窄,如果需要提高精度,则需要增加成本。场景二:采用超声波测距。图 2.3 超声波发射/接收头超声波发射/接收信号滤波和放大信号处理、计算距离显示图 2.4 系统流程图使用超声波测距的优缺点如下:优点:超声波对颜色和照度不敏

4、感,可用于黑暗、多尘、透明的环境;超声波对电磁干扰不敏感,可在电磁干扰等恶劣环境下工作;超声波易于集成和小型化。缺点:超声波会受温度、气流、材质等影响,超声波测距若要达到一定的精度,需要复杂的外围电路支持。确定方案:对比方案一和方案二可以看出,超声波测距是一种可行的方法。超声波测距主要有三种方法:相位检测、声幅检测和渡越时间检测。相位检测法测量精度高,但检测范围有限;声波幅度检测方法容易受到环境反射波的影响;该渡越时间检测方法工作原理简单直观,在硬件控制和软件设计上易于实现。本电路采用渡越时间检测方法。其原理是检测超声波发射和接收之间的渡越时间t,通过公式s=vt计算障碍物距离,其中v是超声波

5、在空气中的传播速度。三、电路设计思路及整体结构:单片机显示部分温度补偿部分该电路的方案分析一般分为以下几个部分:电源部分超声波发射部分超声波接收部分图 3.1 结构框图根据整体结构,该电路的工作流程如下:超声波发射 - 超声波接收 - 检测时间差 - 计算距离 - 显示这样,每个环节的工作都可以细分。下面将详细分析每个部分。4、电路设计与成型:根据整体结构,电路可以分解为以下几个部分,这里详细分析。4.1 电源部分:电源部分为整个电路提供可靠的电源。图为4.1.1电源电路部分。图4.1.1电源电路电源电路部分仍采用78系列稳压芯片作为稳压芯片。由于该电路只需使用5V电压,该方案简单、方便、适用

6、。4.2 单片机部分:本电路采用STC 89C52作为主控电路,图为单片机电路。4.2.1图4.2.1单片机电路STC 89C52是STC公司的通用单片机,操作简单,功能强大,适用于简单控制系统的数据处理和动作控制。4.3 超声波发射部分:超声波发射部分需要利用单片机产生频率约40kHz的方波,驱动发射头的压电芯片振动,从而发射超声波。图4.3.1。 4.3.2 压电超声换能器的结构图为4.3.3超声波发射部分电路:图4.3.3超声波发射电路由于单片机端口输出功率不够,将单片机产生的40kHz方波脉冲信号T分为两路,一路经过后送到超声波换能器的一个电极第一级逆变器;到超声波换能器的另一个电极。

7、再加上两个上拉电阻TR1和TR2,可以有效提高74LS04的负载能力。4.4 超声波接收部分:超声波接收部分的任务是接收返回的超声波信号并对其进行滤波、放大和整形。由于用分立元件搭建超声波接收电路效果很差,而且电路元件的参数用普通元件不容易达到,所以超声波接收电路采用索尼公司生产的集成芯片CX20106,负脉冲致到单片机的P3.2。 (INT0) 引脚产生中断。 CX20106的部分结构4.4.1如图:图4.4.1CX20106部分结构CX20l06A是日本索尼公司生产的红外接收芯片,也适用于超声波接收。采用单排8针直插式,小封装, +5V供电,超声波接收电路如图4.4.2图4.4.2超声波接

8、收电路超声波接收电路如下:接收到的回波信号先经过前置放大器和限幅放大器,将信号调整为幅度合适的矩形脉冲。到输出脚7。当接收到与CX20106滤波器中心频率38kHz相匹配的回波信号时,其输出脚7将输出低电平。将此低电平信号输出到单片机的外部中断 0 以产生中断信号。4.5 温度补偿部分:从常识可知,空气中声波的传播速度受温度影响。如果在计算距离的时候忽略了这个影响,就会造成很多误差,尤其是对距离测量精度有要求的时候,温度因素是不能忽略的。因此,本电路特地增加了温度补偿环节。图为4.5.1测温电路。图4.5.1测温电路本电路采用DALLAS公司生产的集成温度传感器DS18B20作为测温电路芯片。

9、具有结构小、操作简单、功耗低等优点,广泛应用于各种测温场合。4.6 显示部分:本电路采用12864液晶显示器作为显示部分,其突出优点是可以显示汉字等字符,与单片机的接口简单易操作。图为显示部分的电路图4.6.1。图为4.6.1部分电路图4.7 整体电路及其PCB图:整个电路的电路图(不包括单片机部分)如图4.7.1所示。图4.7.1整体电路如图所示,接口P1用于与单片机通信。PCB图如图4.7.2所示。图4.7.2 PCB5、电路软件设计:图 5.1 软件流程图从图中可以看出,软件部分包括初始化部分、超声波发射部分、定时与中断部分、温度检测部分和液晶显示部分。下面列出了这些部分:5.1 初始化

10、部分:初始化部分完成温度检测部分、液晶显示部分和定时中断部分的初始化。功能如下:温度检测初始化函数:无效init_18B20(无效)reset_18B20();/总线复位wbyte_18B20(0 xcc);/忽略检查ROM匹配操作wbyte_18B20(0 x4e);/设置写模式(写暂存器)wbyte_18B20(0 x 1f);/写温度计配置寄存器12864液晶初始化函数:无效的init_12864()delay_ms_12864(40); /延时程序大于40MSpsb=1; /设置为8BIT并口工作模式延迟_12864(1); /延迟水库=0; /重置延迟_12864(1); /延迟水库

11、=1; / 复位高位延迟_12864(10);worder_12864(0 x30); /功能设置延迟_12864(37); /延时程序大于37uSworder_12864(0 x08); /显示状态开/关延迟_12864(100); /延时程序大于100uSworder_12864(0 x10); /光标或显示移位控制延迟_12864(100); /延时程序大于100uSworder_12864(0 x 0c); /显示状态,D=1,显示on延迟_12864(100); /延时程序大于100uSworder_12864(0 x01); /清除显示延迟_12864(10); /延时程序大于10

12、mSworder_12864(0 x06); /Enry Mode Set,光标从右向左移动加1位延迟_12864(100); /延时程序大于100uS定时器中断初始化程序:无效 int_init()TMOD=0 x02; /设置定时器为8位自动重载模式TH0=206;/定时器0,定时器中断一次为50us,用于记录INT0时间TL0=206;EA=1; /开启总中断ET0=1; /开启定时器0中断EX0=1;IT0=1;TR0=0;5.2 超声波发射部分:超声波发射部分通过空函数“_nop_()”进行延时,端口反相,这样在延时合适的时候就可以从端口得到40kHz的方波脉冲。超声波发射部分的作用

13、如下:无效波()_nop_();_nop_();_nop_();_nop_();_nop_();wave=wave;5.3 温度检测部分:由于DS18B20是单总线结构,所有数据都是串行输入和输出的,所以需要单片机来控制。这里需要注意的是,单总线协议的时序要求非常严格,所以在编写程序的时候需要更加小心。以下是温度检测部分的流程。uint getdat_18B20()浮动 c;单位温度;uchar h,l;conv_18B20();重置_18B20();delay_18B20(1);/轻微延迟wbyte_18B20(0 xcc);wbyte_18B20(0 xbe);/致命令读取温度数据l=rb

14、yte_18B20();/读取低8位h=rbyte_18B20();/读取高8位flag_18B20=h&0 x80;if(flag_18B20) /最高位为1,温度为负温度=h;temp=temp8;/读取数据的高8位加载到temp的高8位中温度=温度|l;温度=温度+1;c=温度*0.0625;温度=c*100+0.5;别的温度=h;温度=温度8;温度=温度|l;c=温度*0.0625;温度=c*100+0.5;返回(温度); /温度整数部分为2位,小数部分为2位5.4 定时和中断部分:定时部分用于测量超声波发射和接收之间的时间差,中断部分用于确定接收回波的具体时间。下面是定时和中断的程序

15、:定时器 0:无效 timer0() 中断 1蒂姆+;外部中断 0:无效 EX0_int() 中断 0TR0=0;卡尔();展示();其中,定时器0中的tim用于计数,代表tim计时时间,超声波来回运行;在外部中断中,先关闭定时器,然后调用cal()子函数处理过境时间,然后计算距离。最后,调用 display() 函数将结果显示在 LCD 屏幕上。5.5 LCD显示部分:液晶显示部分是用来显示数据的,下面是它的功能。void worder_12864(uchar dat)/写指令到12864rs=0;/rs为0表示指令,1表示数据rw=0;/rw为0写,1读延迟_12864(10);恩=1;延

16、迟_12864(10);P0=convert(dat);/convert()只用在开发板上,如果自己做正常的12864,去掉延迟_12864(10);恩=0;无效 wdata_12864(uchar 数据)rs=1;rw=0;延迟_12864(10);恩=1;延迟_12864(10);P0=转换(数据);延迟_12864(10);恩=0;5.6 主要功能:为了节省篇幅,本程序的测温部分和显示部分都封装在头文件中。主函数只需要负责初始化部分和脉冲部分。下面是函数体:无效的主要()uchar q=10;init_12864();init_18B20();int_init();而(1)TR0=1;而

17、(q-)waveo();q=10;延迟();在main函数的循环体while(1)中,先发出5个40kHz的脉冲,然后延迟20ms。延迟后检测回波信号,避免接收头直接接收到发射头发出的信号,避免出错。6.总结:看到之前学长们跑的车上有两个大眼球之类的东西,还能自动挡,很羡慕。后来知道是超声波探头,就决定玩玩。但当时技术水平有限,没有合适的材料,所以才推迟了。上个月老师布置了一个题目,其中一个是关于超声波测距的。我只是想这样做。不这样做会很可惜。此外,这两个探头非常漂亮。当我真正开始做的时候,我意识到这远非简单。在网上查了很多资料,最后选择了交通大学一位大四的毕业设计。读完学长的报告后,我才意识

18、到我原来的论文是多么的不规则。出色地!好在有这样一篇文章,看来我们需要加强论文的写作技巧了。其实硬件电路是前辈抄的,原理也是经过详细研究才明白的。由于硬件电路只用了两个芯片和几个外围电路进行超声波的发射、接收和信号处理,除了单片机最小的系统部分外,从画原理图到画图只用了一个下午PCB板。然后只用了一个上午就完成了电路板。然后是软件部分,也就是在软件部分,我卡住了。卡住的地方是一个生成 40kHz 方波脉冲的定时器程序。由于在记录回声时间时需要打开一个计时器,这很好。高时序自动屏蔽低时序,无论怎么调整都不能同时工作。不,找书!翻了很多书,找遍了所有与51定时器相关的地方,还是找不到。就这样,调试了两天,发现错误,又调试了,唉!真是小硬件大问题啊!最后也没办法,只能用延迟功能试一试。由于要求的频率很高,对时序的要求也很高,所以我一开始就淘汰了带延时功能的时序方案。没想到最后还要请老兵出去,唉!调试完方波产生的程序,打开电源,居然有反应!嘿!结果发现真的很有用!那么后续的调试和优化程序

温馨提示

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

评论

0/150

提交评论