1、 超声波传感器及超声波测距摘要:介绍了一种基于 AT89C52 单片机的超声波测距系统,由 555 和运放及比较器配合超声波传感器有效组成了超声波的发射电路和接收电路。同时在数据处理,盲区消隐方面提出了有效解决方法! 从而提高了检测的精度及灵敏度,以及用 LCD液晶显示器配合美妙的音乐进行显示。本文主要阐述了超声测距系统的硬件电路构成、工作原理及软件设计方法。该系统硬件结构简单、工作可靠,有良好的测量精度和灵敏度。关键字 超声波 测距 LCD 液晶前言随着科技的迅猛发展越来越多科技成果被广泛的运用到人们的日常生活当中,给我们的生活带来了诸多方便。这一设计就是本着这个宗旨出发,利用超声波的特性来
2、为我们服务。人们能听到声音是由于物体振动产生的,它的频率在 20HZ-20KHZ 范围内,超过 20KHZ 称为超声波,低于 20HZ 的称为次声波。常用的超声波频率为几十 KHZ-几十 MHZ。由于超声波指向性强,因而常于距离的测量。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人,汽车安全,海洋测量等上得到了广泛的应用。本设计提供一种液晶显示测距装置,该装置利用了发射接收一体化的超声波传感器和微处理器。采用超声波传感器分时工作于发射和接收,利用声波在空气中的传播速度和发射脉冲到接收反射脉冲的时间间隔计算出障碍物到超声波测
3、距器之间的距离。距离是在不同的场合和控制中需要检测的一个参数,所以,测距就成为数据采集中要解决的一个问题。尽管测距有多种方式,比如,激光测距,微波测距,红外线测距和超声波测距等。但是,超声波测距不失为一种简单可行的方法。虽然超声波测距电路多种多样,甚至已有专用超声波测距集成电路。但是,有的电路复杂,技术难度大,有的调试困难,有的元件不易购买。本文介绍的电路,成本低廉,性能可靠,所用元件易购,并且利用测距原理,结合单片机的数据处理,使测量精度提高,电路实现容易,无须调试,工作稳定可靠。目 录前言 .I第一章 绪论 .11.1 选题背景及研究意义 .1第二章 方案论证 .22.1 超声波测距原理
4、.22.2 系统的工作原理 .2第三章 系统硬件电路的设计 .43.1 AT89C52 单片机 .43.2 超声波发射电路 .53.3 超声波接收电路 .8第四章 系统软件设计 124.1 超声波接收发射软件设计 .124.2 LCD 液晶显示部分软件设计 .134.3 超声波传感器程序 15结论 19参考文献 20第一章 绪论1.1 选题背景及研究意义1.1.1 选题背景在日常生活中,有各种各样的测距仪。与激光测距、红外线测距相比,超声波对外界光线、色彩和电磁场不敏感,更适于黑暗、电磁干扰强、有毒、灰尘或烟雾的恶劣环境,在识别透明及漫反射性差的物体上也更有优势。而且超声波还有其指向性强、能量
5、消耗缓慢、传播距离较远等优点。超声波测距是一种非接触式测量,广泛应用于倒车防撞雷达、机器人接近觉、海洋测量、物体识别等领域。距离是在不同的场合和控制中需要检测的一个参数,所以,测距就成为数据采集中要解决的一个问题。1.1.2 研究意义本设计是超声波测距仪装置,该装置利用了发射接收一体化的超声波传感器和微处理器。采用超声波传感器分时工作于发射和接收,利用声波在空气中的传播速度和发射脉冲到接收反射脉冲的时间间隔计算出障碍物到超声波测距器之间的距离。因此经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。在日常生活中起了广泛的作用。第二章 方案论证2.1 超声波测距原理 为了研究和利用
6、超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器超声波测距通常采用度越时间法,即利用 s=vt/2 计算被测物体的距离。式中s 为收发头与被测物体之间的距离, v 为超声波在介质中的传播速度 (v = 331. 41+T/273m/s),t 为超声波的往返时间间隔。工作原理为:发射头发出的超声波以速度 v 在空气中传播,在
7、到达被测物体时被其表面反射返回,由接收头接收,其往返时间为 t,由 s 算出被测物体的距离。T 为环境温度,在量精度要求高的场合必须考虑此影响,但在一般情况下,可舍去此法,由软件进行调整补偿。由于超声波也是一种声波,其声速 c 与温度有关,附表 1 列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,就可以求出距离。这就是超声波测距原理。表 1 温度与声速的关系温度() 30 20 10 0 10 20 30 100声速(m/s ) 313 319 325 333 338
8、344 349 3862.2 系统的工作原理 系统的工作是由软件和硬件的配合过程。先由微机使 555 使能端置 1,继而555 送出 40kHz 频率的方波信号经过压电换能器(超声波发射头)将信号发射出去及发射超声波,同时该时刻启动定时器开时计时。该信号遇到障碍物反射回来在此称为回波。同时,压电换能器(超声波接收头)将接收的回波及接收超声波,通过信号处理的检波放大,及通过三级放大后再送到比较器进行比较输出比较电压, 输出电压经过三极管以后,使之电压与 AT89C52 的 I/O 口相匹配最后送至微机处理。最后进行 LCD 液晶显示同时配上美妙的音乐。超声波测距系统设计框图如图2.1 所示。微处
9、理器AT89C52LCD 液晶显示温度采集超声波发射超声波接收音乐播放5V 电源图 2.1 超声波测距系统组成框图第三章 系统硬件电路的设计硬件电路主要分为单片机系统及显示电路、超声波发射电路、超声波接收电路和电路音乐回放电路等部分组成。3.1AT89C52 单片机AT89C52 是美国 ATMEL 公司生产的低电压、高性能 CMOS 8 位单片机,片内含8KB 的可反复檫写的程序存储器和 12B 的随机存取数据存储器(RAM) ,器件采用Atmel 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令系统,片内配置通用 8 位中央处理器(CPU)和 Flash 存储单元,功能强大
10、的 AT89C52 单片机可灵活应用于各种控制领域。单片机正常工作时,都需要有一个时钟电路,和一个复位电路。本设计中选择了内部时钟方式和按键电平复位电路,来构成单片机的最小电路。如图 3.1 所示。AT89C52VccGNDGNDC322UFR21KR1200RESET晶振 C230PFC130PFVcc XTAL1RST XTLL2Vss图 3.1 单片机的最小电路3.1.1 时钟电路计算机工作时,是在统一的时钟脉冲控制下一拍一拍的进行的,这个脉冲是由单片机控制器中的时序电路发出的。单片机的时序就是 CPU 在执行指令时所需控制信号的时间顺序。为了保证各部件间的同步工作。单片机内部电路就在惟
11、一的时钟信号控制下严格的按时序进行工作。要给单片机提供时序要有相关的硬件电路,即振荡器和时钟电路。因此选择了内部时钟方式。利用蕊片内部的振荡器,然后在引脚 XTAL1 和 XTAL 两端跨接晶体或陶瓷谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路如图 1 所示,外接晶振时,C1 和 C2 值通常选择为 30PF 左右。C1,C2 对频率有微调作用。晶体的频率范围可在 1.212MHZ 之间选择。在实际连接中,为了减少寄生电容,更好地保证振荡器稳定。可靠地工作,振荡器和电容应尽可能安装得与单片机蕊片靠近。3.1.2 复位电路有图可以看出,是按键电平复位电路,相当于按复位键后复
12、位端通过电阻与Vcc 电源接通。复位是单片机的初始化操作。单片机在启动运行时,都需要先复位,其作用是使 CPU 和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路来实现。3.2 超声波发射电路发射电路由 555 构成的多谐振荡器和超声波发射头组成。3.2.1 多谐振荡器采用 555 构成多谐振荡器可以实现宽范围占空比的调节!并且电路设计简单!占用面积小。 如图 3.2 所示 ,由单片机 AT89C52 的 P2.3 口发出同步脉冲信号!该同步脉冲启动多谐振荡器!使其输出 40KHZ 的高频电
13、压信号! 经过整形直接加至超声波换能器探头! 根据逆压电效应! 产生振动频率为 40KHZ 的超声波。TRIG2Q 3R4CVolt5 THR 6DIS 7VCC8GND1U1NE555R110KR210K5VC10.1UFC20.01UFP2.3VC图 3.2 超声波发射电路接通电源后,电容 C 被充电,VC 上升,当 VC 上升到 2/3VCC 时,触发器被复位,同时放电 BJT T 导通,此时 Vo 为低电平,电容 C 通过 R2 和 T 放电,使 VC 下降。当 VC 下降到 1/3VCC 时,触发器又被置位,Vo 翻转为高电平。电容器 C 放电所需的时间为 Rtpl 27.0ln2当
14、 C 放电结束时,T 截止,VCC 将能过 R1,R2 向电容器充电,VC 由 1/3VCC上升到 2/3VCC 所需的时间为CtPH217.0ln21当 VC 上升到 2/3VCC 时,触发器又发生翻转,如此周而复始,在输出端就得到一个周期性的方波,其频率为 RtfPLH2143.由于 555 内部的比较器的灵敏度较高,而且采用差分电路形式,它的振荡频率受电源电压的温度变化的影响很小。Vc PHtLtVo2/3vcc 1/3vcc 图 3.3 555 的工作波形图从 555 的工作波形图,可看出占空比是固定不变的。为了调解的方便,我把R1 和 R2 都换成了电位器,就形成了占空比可调的电位器
15、。使的超声波的发射电路更加具有高效性。也能满足波尽可能的减小失真。从面达到测距更长的效果。3.2.2 超声波传感器从图 3.2 超声波的发射电路上看还有一个超声波传感器。它具有把电信号转化为机械信号,同时又能把机械信号转化为电信号的功能。在设计中选择了压电式超声波发声器。压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部结构如图 3.4 所示,它有两个压电晶片和一个共振板。压电晶体组成的超声波传感器是一种可逆传感器,它可以将电能转变成机械振荡而产生超声波,同时它接收到超声波时,也能转变成电能,所以它可以分成发送器或接收器。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡
16、频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。本文所采用的超声波传感器是 T/R-40-16(其中 T 表示发送,R 表示接收,40 表示频率为 40KHZ,16 表示其外径尺寸,以毫米计)压电晶片电极共振板图 3.4 超声波传感器结构3.3 超声波接收电路超声波接收电路包括由 MC3403 构成的三级回波放大电路以及 LM358 电压比较整形电路两部分,与超声波接收传感器 T-40-16 配合使用,实现超声波的接收功能。32 1411U3AMC3403
17、56 7U3BMC3403109 8U3CMC3403C81000PC91000PC121000PC130.1UFR110KR210K R310KR410KR510KR61MR71M5VR?POT2R?POT2R?POT2R?POT2R110K5V 5VC130.1UFC130.1UF32184U?ALM358R?POT2R?RES25VQ1NPNR105.1K 5VP2.5图 3.5 超声波接收电路3.3.1 放大电路及其参数的设计当测量距离较大时,超声波的回波较弱,这时候就需要将信号放大,否则其转换成电信号的幅值也会比较小。如图 3.5 所示,设计中,采用三级放大电路,将信号最大能放大 5
18、0 万倍。其中运算放大器 IC3A、IC3B 放大倍数为 100 倍,IC3C 放大倍数为可调的。根据公式 Au=R6/R4(以第一级放大电路为例),可以求得各放大电路的参数。计算后,取值如下,R3=10K,R4=10K,R6=1M,R7=1M。第三给放大是可调的 Au=Rx/R2.其中 R2=10K。Rx 为 500K 可调的滑动变阻器。所以放大倍数是在(050)之间。从图 3.5 中,可以看到各个运放的基准电压都是可调的。这样更有利于达到自己想要的理想结果。超声波接收头接收到的 40 kHz 反射波交流信号。电容 C5、C9、C12 的作用为滤掉直流信号,对电容的大小无特别要求,所以一律选
19、为 1000PF。其中的放大电路是由 MC3403 构成的。MC3403 是四低功耗运算放大器。它的引脚结构如图 3.6 所示。图 3.6 MC3403 的引脚结构3.3.2 电压比较电路及其参数的设计电压比较器的功能是比较两个电压值的大小,例如,将一个信号电压 U1 和另一个参考电压 UR 进行比较,在 U1UR 和 U1#include #include #define uchar unsigned char#define uint unsigned intsbit rs=P22;sbit rw=P21;sbit lcden=P20;sbit StartKey=P11;sbit C_sen
20、d = P10;uchar table1=“Times:0000us“;uchar table2=“Dista:0000cm“;uint CTime=0,CDistan=0;uchar sendNum = 0;void delay(uint x)uint a,b;for(a=x;a0;a-)for(b=10;b0;b-); void write_com(uchar com)rs=0;rw=0;P0=com;/ lcden=0;delay(5);lcden=1;delay(5);lcden=0;void write_date(uchar date)rs=1;rw=0;P0=date;/ lcde
21、n=0;delay(5);lcden=1;delay(5);lcden=0;void LCDinit()write_com(0x38);write_com(0x0f);write_com(0x06);write_com(0x01);void LCDDisp(uint time ,uint distance)uchar a;write_com(0x80);delay(20);table16 = 0x30 + time/1000;table17 = 0x30 + time%1000/100;table18 = 0x30 + time%1000%100/10;table19 = 0x30 + tim
22、e%10;table26 = 0x30 + distance/1000;table27 = 0x30 + distance%1000/100;table28 = 0x30 + distance%1000%100/10;table29 = 0x30 + distance%10;for(a=0;a12;a+)write_date(table1a);delay(20);write_com(0xc0);delay(50);for(a=0;a12;a+)write_date(table2a);delay(40);void Time_init(void)TMOD = 0x11; /设置定时器 1,定时器
23、0 均为 16 为定时/ 计数器TH1 = 0xff;TL1 = 0xf4;TH0 = 0x00;TL0 = 0x00;ET1 = 1; /打开计数器 1 中断/ ET0 = 1;void sysinit(void)EA = 0;Time_init();IT0 = 1; /INT0 上的电平从高到低的负跳变有效EX0 = 1;void ChaoSend(void)C_send = 1;sendNum = 0;TR1 = 1; /启动定时器TR0 = 1;void interrupt3() interrupt 3TR1 = 0;C_send = C_send;TH1 = 0xff;TL1 = 0
24、xf4;if(sendNum = 20)TR1 = 0;elsesendNum+;TR1 = 1;void interrupt0() interrupt 0TR1 = 0;TR0 = 0;EA=0;CTime = (TH0* 256 + TL0) * 12.0/11.0592;/ CDistan = 340 * CTime/1000000/2*100;CDistan = 170*CTime/1000000*100;TH0 = 0x00;TL0 = 0x00;void main()/ uchar a;sysinit();LCDinit();while(1)/ EA = 1;if(StartKey
25、 = 0)EA = 1;ET0 = 1;ChaoSend();LCDDisp(CTime, CDistan);/ CTime=0;/ CDistan=0;EA = 0;结论系统测量范围较大(最大限定 2.5 m),测量误差小,所用都是常规部件,具有较强的实用价值。另外,由于其结构简单、体积小、抗干扰性能好,所以比较适用于行走机器人。当然,要满足更高的精度要求,还须进行适当改进,例如可增加温度补偿单元;在某些特殊场合的应用中,还要考虑超声波的入射角、反射角以及超声波传播介质的密度、表面光滑度等因素。在设计中感觉在硬件方面还存在的诸多问题。在超声波发射电路中,曾经试用过晶体管来加大功率,但是无法达
26、到预想的效果。在超声波接收接收电路中,波形失真太大,而且杂波信号也非常的强,有时候甚至超过接收到的信号,结果是肯定达不到灵敏度和精度要求。也尝试过在放大电路后出来加上整流电路,把交流信号转化直流信号送到比较器进行比较结果也无法达到预想的效果。而且整个系统相当的不稳定,必须要时不时地进行调试,才能使系统正常的工作。如果要进一步展开研究,在超声波发射电路中,加上达林顿管,进行两级功率放大,可能能过使超声波发射的更长,达到距离更远的效果。在超声波接收电路中,可以当超声波接收到信号,将机械信号转化为电信号时,就进行整流,把交流信号转化为直流电压信号,然后进行三级放大,可能能达到比较好的果。也可以在超声
27、波接收电路加上高阻滤波电路和低阻滤波电路,滤除杂波,只让 40KHZ 的信号能过,这样就可以消除外界的干扰。或者还可以,将比较器换在音频译码集成块 LM567,把它调成只让 40KHX 的信号通过,当接收到 40KHZ 的信号时,输出端就变成低电平,可以触发单片机,这样就可以使系统更稳定。参考文献1 LM567.PDF. MAXIM INTEGRATED PRODUCTS 19972 MAX232.PDF. TEXAS INSTRUMENTS INCORPORATED 19983 MC3403.PDF. STMICROELECTRONICS 19984 ULN2004.PDF. STMICRO
28、ELECTRONICS 20025 DS18B20.PDF.DALLAS SEMICONDUCTOR CROP 20006 何立民.单片机应用技术选编(5).北京:北京航空航天大学出版社 19977 楼然苗等.51 系列单片机设计实例.北京:北京航空航天大学出版社 20038 胡汉才.单片机原理及接口技术.北京:清华大学出版社 19969 张迎新等.单片机初级教程.北京:北就航空航天大学出版社 200010 康华光.电子技术基础模拟部分.北京:高等教育出版社 199711 康华光.电子技术基础数字部分.北京:高等教育出版社 199712 刘文涛.单片机应用开发实例.北京:清华大学出版社 200513 李光飞等.单片机课程设计实例指导.北京:北京航空航天大学出版 200414 余永权.ATMEL89 系列单片机应用技术.北京:北京航空航天大学出 200215 付家才.单片机控制工程实践技术.北京:化学工业出出版社 2004