毕业设计(论文)
标 题: 超声波测距系统设计 学生姓名: ** 系 部: 电子工程系 专 业: 应用电子技术 班 级: 高电子0501班 指导教师: ***
株洲职业技术学院教务处制
目 录
摘要 …………………………………………………………………(Ι) 1、绪论 ………………………………………………………………1
1.1超声波传感器的类型…………………………………………2 1.2压电式超声波发生器原理 ……………………………2 1.3超声传感器的特性 ……………………………………3 1.4速度影响因素及其补偿 ………………………………3 1.5超声波测量距离的原理 …………………………………3 2、超声波测距仪总体结构 …………………………………………5
2.1主控芯片的选择 …………………………………………5 2.2单片机AT89S51 的外围电路 …………………………7 3、超声波发射 ………………………………………………………10
3.1 多谐振荡器特点……………………………………………10 3.2非对称式多谐振荡器工作原理……………………………10 3.3超声波发射电路……………………………………………11 4、超声波接收 ………………………………………………………13
4.1接收放大器的方案设计……………………………………13 4.2超声波接收电路……………………………………………13 5、测温芯片AD590 ……………………………………………………15
5.1 AD590简介 ………………………………………………15 5.2 AD590的工作原理的内部结构……………………………16 5.3 测温电路的设计 ………………………………………17 6 系统软件设计………………………………………………………18
6.1 系统软件结构 ……………………………………………18 结论 ……………………………………………………………………19 参考文献 ………………………………………………………………20 附录 …………………………………………………………………21 后记 ……………………………………………………………………30
1
摘 要
文中介绍了一种以单片机AT89S51作为主控制器,最终用7段数码管显示测量距离的超声波测距仪的设计方法。在设计中通过检测超声波信号从发送到接收的时间间隔t,计算出测量距离s。但是考虑到超声波传播速度受温度的影响较大,因此系统中还采用了温度传感器AD590来检测周围环境温度,对超声波的传播速度进行温度补偿,提高测量的精度。 本设计是以单片机为核心的测距仪器,可以实现预置、多端口检测、显示等多种功能,并且成本低、精度高、操作简单、工作稳定可靠。从而实现直接的查看距离值、显示、输出控制的功能。
关键词:超声波;测距;测量误差;温度补偿; AT89S51
I
1 绪论
虽着电子技术的发展,出现了微波雷达测距、激光测距及超声波测距。前2种方法由于技术难度大,成本高,一般仅用于军事工业,而超声波测距则由于其技术难度相对较低,且成本低廉,适于民用推广。这项技术也可用于工业测量领域。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人的研制上也得到了广泛的应用。随着自动测量和微机技术的发展,超声波测距的理论已经成熟,超声波测距的应用也非常广泛。超声测距是一种非接触式的检测方式。与其它方法相比,如电磁的或光学的方法,它不受光线、被测对象颜色等影响。对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。因此在液位测量、机械手控制、车辆自动导航、物体识别等方面有广泛应用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其它方法为高;而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。因此本设计也是利用超声波来测量距离。
1
1.1超声波传感器的类型
为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。
1.2压电式超声波发生器原理
压电式超声波发生器实际上是利用压电晶体的谐振来工作的。它有两个压
电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。
1.3超声传感器的特性 1.3.1传感器的指向角θ
传感器的指向角是声束半功率点的夹角,是影响测距的一个重要技术参数,它直接影响测量的分辨率。对圆片传感器来说,它的大小与工作波长λ,传感器半径 r 有关由(2π/λ)*r*sin(θ/2)=1.615选 f0=40KHz 时,λ=C/f0=8.5mm。当 f0 选定后,指向角θ近似与传感器半径成反比。指向角θ愈小,空间分辨率愈高,则要求传感器半径 r 愈大。鉴于目前电子市场的压电传感片规格有限,为降低成本,在不降低空间分辨率的条件下,选用国产现有压电传感器片最大半径 r=6.3mm,故θ=2*arcsin(1.615λ/2*π*r)=75° 1.3.2测距仪的工作频率
它的衰减对频率很敏感,要求合理选择超声波频率,一般在 40KHz 左右。太高频率的超声波在空气中是无法传播开去的。传感器的工作频率是测距系统的主要技术参数,它直接影响超声波的扩散和吸收损失,障碍物反射损失,背景噪声,并直接决定传感器的尺寸。
1.3.3工作频率的确定主要基于以下几点考虑
2
(1) 如果测距的能力要求很大,声波传播损失就相对增加,由于介质对声波 的吸收与声波频率的平方成正比,为减小声波的传播损失,就必须降低工作频率。 (2) 工作频率越高,对相同尺寸的还能器来说,传感器的方向性越尖锐测量障碍
物(3) 从传感器设计角度看,工作频率越低,传感器尺寸就越大,制造和安装复就越困难。
杂综上所述,由于本测距仪最大测量量程不大,因而选择测距仪工作频率定为 表44KHz。这样传感器方向性尖锐,且避开了噪声,提高了信噪比;虽然传播损失面相对低频有所增加,但不会给发射和接收带来困难。 越1.4
速度影响因素及其补偿
准稳定准确的超声波速度是保证测量精度的必要条件,而超声波在空气传播中,会受到温度、湿度、粉尘、大气层、气流等逻辑因素的影响。其中温度的影响最而大。超声波在空气中的速度与温度的关系表达式为:c=T237.16/237.16 且由泰勒公式将其展开得: 波 C=331.5+0.607Tm/s
长式中T温度(℃),可见温度对速度的影响很大必须加以修正。 短1. 5
超声波测量距离的原理
,超声波是指频率超过20kHz的声波,因其具有指向性强、在介质中衰减小、传尺
播距离远等特点,经常用于实现距离的测量。超声波测距的常用方法有渡越时间寸
法、频差法、幅值法等。其中,渡越时间法因其原理简单,实现方便,而被广泛分
采用。超声波测距的原理一般采用渡越时间法TOF(timeofflight)。首先测出超声辨
波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声“细节”容易辨识清楚,因此从测量复杂障碍物表面和测量精度来看,工作频率源与障碍物之间的距离 测量距离的方法有很多种,短距离的可以用尺,远距离要求提高。
的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。 由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离的测量。利用超声波检
3
测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。主控制器脉冲调制信号进行超声波发送,采用时间间隔法来检测到障碍物的距离,通过数码管直接对测试距离进行显示,因温度是影响超声波传播速度最重要的因素,考虑到在精度方面的要求,采用了集成测温芯片,对超声波的传播速度进行温度补偿 ,提搞测量的精度。
4
2 超声波测距仪总体结构
超声波测距仪的硬件结构如图2.1所示
超声波发射主控器超声波接收
2.1超声波测距仪总体结构框图
LED显示按键温度传感器
2.1主控制器的选择
方案一:由集成电路单片机组成
本方案只需一片单片机就足以实现方案的所有功能,有着电路简单、成本低功能强大、精度高等优点。另外还可以与PC机通信,实现智能化控制与远程控制。
方案二:由组合逻辑电路组成
采用组合逻辑则所有电路均需用数字逻辑电路和部分分立元件,所以此方案系统体积庞大、所需元器件多、功能少、误差大等缺点,所以该方案不宜采用。
由以上分析,由单片机组成的控制很明显优于由组合逻辑电路组成的控制方案。所以本系统采用由单片机控制来设计超声波测距仪。
2.1.1主控芯片的选择
本文以ATMEL公司生产的51系列家族的AT89S51和AT89C2051两种单片机来讲解,两种单片机是目前最常用的单片机,其中AT89S51为标准51单
5
片机,当然其功能比早期的51单片机更强大,支持ISP在系统编程技术,内置硬件看门狗。
AT89S51单片机引脚介绍
AT89S51有PDIP、PLCC、TQFP三种封装方式,其中最常见的就是采用40Pin封装的双列直接PDIP封装,外形结构如下图4.1.1所示
图4.1.1 AT89S51单片机外形结构
芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口,左边那列引脚逆时针数起,依次为1、2、3、4|、、40,其中芯片的1脚顶上有个凹点在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。
1、主电源引脚(2根),VCC(Pin40):电源输入,接+5V电源,GND(Pin20):接地线。
6
2、外接晶振引脚(2根)
XTAL1(Pin19):片内振荡电路的输入端,XTAL2(Pin20):片内振荡电路的输出端。
3、控制引脚(4根)
RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。 ALE/PROG(Pin30):地址锁存允许信号,PSEN(Pin29):外部存储器读选通信号,EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。 4、可编程输入/输出引脚(32根)
AT89S51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。每一根引脚都可以编程,比如用来控制电机、交通灯、霓虹灯等,开发产品时就是利用这些可编程引脚来实现我们想要的功能,尽情发挥你的想象力吧,实现你想要的。
PO口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7 P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7 P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7 P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7
上面就是AT89S51单片机引脚的简单介绍。
2.2单片机外围电路
本设计中,单片机是核心控制元器件,它控制产生脉冲调制信号来发送超声波,同时接收电路将接收到的反射信号转换成单片机所需的中断信号,使单片机产生中断,从而得到超声波信号从发送到接收的时间间隔,然后对DS18B20送来的信号进行处理,得到环境温度,根据所测的环境温度对超声波传播速度时进行补偿,最后计算出所测量距离,送到数码管进得显示。其电路如图2.2.1所示:
7
图2.2.1 单片机外围电路
2.2.1单片机外围电路结构及功能介绍
(1)由c1和c2和12MHZ晶振组成起振电路。 (2)由c3、R1,R2及按键构成复位电路。 (3)由按键S1和按键S2组成按键电路。
在电路中,按键S1用来控制是否进行测量,当电路上电后,如果按下S1,则进入测量状态,否则等待。在设计中,由于超声波传播速度受温度的影响很大,
8
所以采用了温度传感器进得补偿,为了使该功能更加明显,增加了温度显示功能,按键S2就用实现温度显示和距离测量切换。在测量状态和等待状态下,只要按下S2键,就可直接对环境温度进行显示。在温度显示状态下,按下S1键就可退出温度显示。
(4)由4个8段数码管4个与非门1个排阻组成动态扫描显示电路。
显示部分采用的是动态扫描显示,+5V的正电源通过排阻为LED提供驱动电流,四个非门实现动态扫描的各位选通。当要对最低位进行显示时,通过软件将要显示的数字转换成8段数码管的显示信号,通过P0口送到8段数码管上,然后由P2口送出选通信号,使最低位进行显示,利用人的视觉暂停,因此我们可以看到LED的显示。
9
3 超声波发射单元
3.1 多谐振荡器特点
(1)多谐振荡器没有稳定状态,只有两个暂稳态。
(2)通过电容的充电和放电,使两个暂稳态相互交替,从而产生自激振荡,无需外触发。
(3)输出周期性的矩形脉冲信号,由于含有丰富的谐波分量,故称作多谐振荡器
3.2非对称式多谐振荡器工作原理
单稳态电路由暂态返回到稳态是由于电容的充放电引起的。对于多谐振荡器,控制状态翻转的仍然是电容的充放电,而其中最关键的一点集中体现在vi的电位变化假设门电路的阈值为VTH,则电路的变化过程如下图3.1所示 v
Ci1G1G2v1o11RVddCvovi1vo1G2G1Rvo图3.1 电路的变化过程
(1) 第一暂态及自动翻转过程
设vo1=1,vo=0为第一暂态,这时RC充放电回路如右图。随着时间的增加,vi1增大,当vi1达到VTH时,电路的状态发生翻转,变为: vo1=0,vo=1(第二暂态)。 (2) 第二暂态及自动翻转过程如下图3.2:
10
C vi1G11vo1G21Cvovi1G1vo1VddG2voR图3.2 自动翻转过程 R第二暂态为vo1=0,vo=1,这时RC充放电回路如右图。随着时间的增加,vi1从其初值开始减小,当vi1减小到VTH时,电路的状态发生翻转,变为: vo1=1,vo=0(第一暂态)。
3.3超声波发射电路
超声波发射单元包括振荡电路和驱动电路,振荡电路是由反相器CD4069组成的非对称式多谐振荡器,它产生40kHZ 的方波脉冲电路如图5.1所示电路中G2输出的电压由Rf的调节,可以改变输入到G1输入端的相位 当相位达到同相时,G1和G2实现正反馈,G1和G2就成了稳定的振荡器。 振荡周期公式为T=2.2×Rf ×C 因为CD4069为CMOS 结构,所以逻辑门前的电阻Rp为G1的保护电阻。 当Rp足够大时,G1的输入电流可忽略不计。由于超声波换能器中心频率都有偏差,所以Rf采用电位计,可以调节到最佳谐振点。电路中Z1,Z2同时得到相位相反的2路控制脉冲,提供给驱动电路。
图5.1 振荡电路
驱动控制电路图5.2所示。 它采用了L239 型直流电机PWM 调速芯片,它
11
内部的H桥电路可以产生相位相反的两路脉冲。 驱动电路的直流电源电压可以改变,以适应不同传感器对电压的要求。 振荡电路中产生方波的Z1、Z2端,分别接到驱动电路IN1、IN2端!控制输出电路中EN端为输出使能端,它接到单片机的P1.7端口,该端口精确输出高电平时间来控制发射方波的个数。 这在设计上使得控制和方波产生相对独立,从而使得电路简单,控制精确,易于调试。
图5.2驱动控制电路图
12
4 超声波接收单元
4.1接收放大器的方案设计
接收预放大单元的作用是对有用的信号进行放大,并抑制其它的噪声和干扰,从而达到最大信噪比,以利检测单元的正确检测。
信号的最佳接收在传感器接收到的信号中,除了障碍物反射的回波外,总混有杂波和干扰脉冲等环境噪声。室内环境中噪声主要集中在低频段,远离回波信号频率,因此系统的总噪声系数主要有接收机的内部噪声决定,其功率谱宽度远大于接收机的通频带。我们可以近似的将其作为白噪声处理,根据已有知识,输入为已知信号加白噪声的条件下,匹配滤波器的输出信噪比最大。匹配滤波器具有以下特点:
(1) 输出最大信噪比与信号波形无关
(2) 匹配滤波器对信号的幅度和时延具有适应性,即对只有幅度和出现时间不同 的信号,它们的匹配滤波器是相同的。
(3) 匹配滤波器与相关接收和相关器具有等效性。
实际上很难得到精确的匹配滤波器,由于单个射频脉冲的频谱是连续的,用普通 的窄带滤波器就能把其主峰部分滤波出来,适当的选择滤波器的通带宽度就能取得与匹配滤波器相差不多的效果。
4.2超声波接收电路
超声波接收单元中包括:模拟放大、滤波电路、电平转换电路,如图6.1 所示,模拟放大器选用高精度仪用放大器LM318 作为信号放大与滤波之用,它的单位增益带宽为15MHz,超出音频范围能够满足40kHz 的要求。 在放大电路的负反馈回路中接入电容C1构成低通滤波器。电容的选择可由公式f=1/2πRfC1求出,式中f0为采用的超声波频率,Rf为第一级的反馈电阻。 因为多谐振荡器中有高频分量噪声,所以通过低通滤波器将高频噪声滤掉。经过2极放大后,通过电容耦合,信号与参考电压比较产生高低电平,提供给单片机产生中断。参考电压设定为1V 左右,以提高灵敏度, 第2个比较器仅起反相作用。
13
图6.1 接收电路
发射的超声波被调制成包含.40KHz方波的具有一定时间间隔的矩形波脉冲号,其发射与接收脉冲工作时序图如图7.1所示:
由单片机AT89S51的P1.7口控制H桥电路的使能端EN,送出40KHz的超声波脉冲信号,其脉冲宽度及脉冲间隔均由软件控制.脉冲宽度约为125到200us,即在一个调制脉冲内包含5到8个40KHz的方波.脉冲发送间隔取决于要求测量的最大距离. 若在有效测距范围内有被测物体,则在后一次超声波束发出之前应当接收到前一次发射的反射波,否则认为前方无被测物体. 因此,按有效测距范围可以估
算出最短的脉冲间隔发送时间.
图7.1 发射与接收脉冲工作时序图
14
5 测温芯AD590
5.1 AD590简介
(1)温度传感器的应用范围很广,它不仅广泛应用于日常生活中,而且也大量应用于自动化和过程检测控制系统。温度传感器的种类很多,根据现场使用条件,选择恰当的传感器类型才能保证测量的准确可靠,并同时达到增加使用寿命和降低成本的目的。AD590温度传感器不但实现了温度转换为线性化电量测量,而且精确度高、互换性好、应用简单方便,因此,可把输出的电信号经AD卡转换为数字信号,由计算机采集Vi-t的数据,以发挥其实时和准确的特点。把AD590用于改进一部分物理实验,如空气比热容比的测量、金属比热容的测量及液氮汽化热的测量等,都取得了良好的效果。总之,与水银温度计、铜-康热电偶温度计及半导体热敏电阻温度计相比,AD590具有线性好、测温不需参考点及消除电源波动等优点,因此在常温范围内可以取代它们,广泛的应用于科技和工业领域中。
(2)集成温度传感器实质上是一种半导体集成电路,它是利用晶体管的b-e结压降的不饱和值VBE与热力学温度T和通过发射极电流I的下述关系实现对温度的检测: 式中,K—波尔兹常数; q—电子电荷绝对值。
(3)集成温度传感器具有线性好、精度适中、灵敏度高、体积小、使用方便等优点,得到广泛应用。集成温度传感器的输出形式分为电压输出和电流输出两种。电压输出型的灵敏度一般为10mV/K,温度0℃时输出为0,温度25℃时输出2.982V。电流输出型的灵敏度一般为1mA/K。
5.1.1 AD590的功能及特性
AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。根据特性分挡,AD590的后缀以I,J,K,L,M表示。AD590L,AD590M一般用于精密温度测量电路,其电路外形如图1所示,它采用金属壳3脚封装,其中1脚为电源正端V+;2脚为电流输出端I0;3脚为管壳,
(1)流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数,即:mA/K式中: —流过器件(AD590)的电流,单位为mA; T—热力学温度,单位为K。
15
(2)AD590的测温范围为-55℃~+150℃。
(3)AD590的电源电压范围为4V~30V。电源电压可在4V~6V范围变化,电流 变化1mA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。 (4)输出电阻为710MW。
(5)精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线性误差为±0.3℃ (6)AD590的主特性参数如下:
工作电压:4~30V; 工作温度: -55~+150℃; 保存温度:-65~+175℃; 正向电压:+44V;
反向电压:-20V; 焊接温度(10秒):300℃; 灵敏度:1μA/K。
5.2 AD590的工作原理
在被测温度一定时,AD590相当于一个恒流源,把它和5~30V的直流电源相连,并在输出端串接一个1kΩ的恒值电阻,那么,此电阻上流过的电流将和被测温度成正比,此时电阻两端将会有1mV/K的电压信号。是利用ΔUBE特性的集成PN结传感器的感温部分核心电路。其中T1、T2起恒流作用,可用于使左右两支路的集电极电流I1和I2相等;T3、T4是感温用的晶体管,两个管的材质和工艺完全相同,但T3实质上是由n个晶体管并联而成,因而其结面积是T4的n倍。T3和T4的发射结电压UBE3和UBE4经反极性串联后加在电阻R上,所以R上端电压为ΔUBE。因此,电流I1为:
I1=ΔUBE/R=(KT/q)(lnn)/R
对于AD590,n=8,这样,电路的总电流将与热力学温度T成正比,将此电流引至负载电阻RL上便可得到与T成正比的输出电压。由于利用了恒流特性,所以输出信号不受电源电压和导线电阻的影响。图3中的电阻R是在硅板上形成的薄膜电阻,该电阻已用激光修正了其电阻值,因而在基准温度下可得到1μA/K的I值。
16
5.3 测温电路的设计
在设计测温电路时,首先应将电流转换成电压。由于AD590为电流输出元件,它的温度每升高1K,电流就增加1μA。当AD590的电流通过一个10kΩ的电阻时,这个电阻上的压降为10mV,即转换成10mV/K,为了使此电阻精确(0.1%),可用一个9.6kΩ的电阻与一个1kΩ电位器串联,然后通过调节电位器来获得精确的10kΩ。图5所示是一个电流/电压和绝对/摄氏温标的转换电路,其中运算放大器A1被接成电压跟随器形式,以增加信号的输入阻抗。而运放A2的作用是把绝对温标转换成摄氏温标,给A2的同相输入端输入一个恒定的电压(如1.235V),然后将此电压放大到2.73V。这样,A1与A2输出端之间的电压即为转换成的摄氏温标。将AD590放入0℃的冰水混合溶液中,A1同相输入端的电压应为2.73V,同样使A2的输出电压也为2.73V,因此A1与A2两输出端之间的电压: 2.73-2.73=0V即对应于0℃。
17
6 系统软件设计
6.1 系统软件结构
在系统硬件构架了超声测距的基本功能之后,系统软件所实现的功能主要是针对 系统功能的实现及数据的处理和应用。根据第二节所述系统硬件设计和所完成功能,系统软件需要实现以下功能: (1) 信号控制
在系统硬件中,已经完成了发射电路、远近档开关、程控增益放大、检波及峰值 采样、门限检测的设计。在系统软件中,要完成增益控制信号、门控信号、发射脉冲信号、峰值采集信号、远近控制信号的时序及输出。 (2) 数据存储
为了得到发射信号与接收回波间的时间差,要读出此刻计数器的计数值,然后存 储在RAM 中,而且每次发射周期的开始,需要对计数器清零,以备后续处理。
6.1.1 主程序结构
主程序是单片机程序的主体,整个单片机端系统软件的功能的实现都是在其中完 成的,在此过程中主程序调用了子程序及中断服务程序。如图4.8 所示为系统的主程序流程。程序首先完成初始化过程,然后是一个重复的控制发射信号的过程,即先调用近距发射子程序十遍,再调用远距发射子程序十遍。而且每次发射周期结束都会判断在发射信号后延时等待的过程中是否发生了中断,即是否有回波产生来判断程序得流程。
6.1.2 中断程序
中断服务程序是响应单片机的外部中断。在系统硬件中,发射的44KHz脉冲信号遇到障碍物反射后,经接收检测电路产生外中断信号至单片机。在中断服务程序中,要从把进入中断服务程序处的计数值读出并保存在RAM 中,再对该数据进行处理,计算得到相应的距离值,并转换为十进制,最后送到显示输出。
18
结 束 语
本系统在空气中测量范围为0~3 米左右,对固体,液体表面均可测量,但要求被测表面比较光滑平坦,确保超声波能够被反射回来,并被探头接收。。线性度,稳定性和重复性都比较好。发现影响渡越时间精度有限,因此本系统仍有一些需改善的方面:
1 由于探头限制,在高温、高压等恶劣环境下,测量误差大,可以根据实际情况更换更合适的探头。测量距离与发射功率直接相关,由于探头功率有限,只能在室内小范围测量。更换成大功率探头,测距范围将扩大。
2 温度对声波速度的影响。
3 超声波在传播过程中首空气热对流扰动以及尘埃吸收的影响,接收回波的幅值随传播距离的增加成指数规律衰减,使得远距离回波难以检测。同时其他误差源,比如电阻电容的热噪声,电路延迟引起的渡越时间检测误差。改进方法是改善被测表面条件,和提高探头功率。
4 系统动态性能不够高,被测表面移动速度很小时,可以实现跟踪测量;移动速度过大,误差变大。
5 直达波的影响。有一部分声波从发射探头直接传到接收探头,这部分信号直接加到回波信号中,干扰回波信号的检测。
通过几个月来的细心工作,本人理论及实践能力进一步提高。对于本文中存在的缺憾和错误,望批评指正。
19
参考文献
1、邱平. 略论我国非金属超声波检测仪器的发展状况. 工程质量, 1998 年01 期
2、超声波探伤编写组编著. 超声波探伤. 北京:电力工业出版社, 1980 年 3、王纯正. 超声学. 北京:人民卫生出版社,1993 年
4、戴树荪. 数字技术在雷达中的应用. 北京:国防工业出版社,1981 年 5、中国无损检测学会编译. 超声波探伤. 北京:机械工业出版社, 1987 年 6、 电子工程手册编委会. 国内外小功率晶体管实用手册. 北京:电子工业出版 社, 1993 年
7、 同济大学声学研究室. 超声工业测量技术. 上海:上海人民出版社,1977 年 8、李鸣华,余水宝. 单片机在超声波料位测量中的应用. 电子技术应用,1998 年第9 期
9、 阎福旺,凌青,孪经德. 现代声纳技术. 北京:海洋出版社, 1998 年 10、彭光宇,赵明才. 海洋测量定位与计算. 北京:测绘出版社, 1993 年 11、王立言. 公共信道信号. 北京:人民邮电出版社, 1993 年 12、孙晓峰,周盛. 气动声学. 北京:国防工业出版社,1994 年
13、林理忠,宋敏. 微弱信号检测学导论. 北京:中国计量出版社,1996 年
20
附录 超声波测距离程序设计:
W1 EQU 30H ; 存放乘法的高位
ORG 0040H START: MOV SP,#60H
W2 EQU 31H ; 存放乘法的第二位
W3 EQU 32H ;存放乘法的低位 LED1 EQU 33H ; 存放第一位要显 CPL P1.2 MOV 09H,#00H 示十进制数
LED2 EQU 示十进制数
LED3 EQU 示十进制数
COUNT_L EQU COUNT_H EQU TEMPER_H EQU 低8位
TEMPER_L EQU 高8位
TEMPER EQU 度值
D EQU G EQU FLAGE BIT ORG 0000H AJMP START ORG 0003H AJMP INT0 ORG 000BH AJMP INT_T0 ORG 001BH AJMP INT_T1
MOV TEMPER_L,#00H 34H ; 存放第二位要显 MOV TEMPER_H,#00H MOV TEMPER ,#00H 35H ; 存放第三位要显 MOV W1,#00 36H ; 存放距离低位 MOV W2,#00 37H ; 存放距离高位 MOV W3,#00H 40H ; 保存读出温度的 MOV LED1,#00H 41H ; 保存读出温度的 MOV LED2,#00H MOV LED3,#00H 42H ; 保存所测到的温 MOV COUNT_L,#00H 43H MOV COUNT_H,#00H 44H MM1:
00H ; LCALL DISPLAY JB P1.0 , MM3 LCALL DISPLAY JB P1.0, MM1 MM0:
LCALL DISPLAY JNB P1.0, MM0 LCALL KEY1 MM3:
22
LCALL DISPLAY JB P1.1,MM4 LCALL DISPLAY JB P1.1, MM4
RET
;********************************************************* ;外部中断INT0中断程序
MM5:
LCALL DISPLAY JNB P1.1,MM5 LCALL KEY2 MM4:
SJMP MM1 KEY1:
MOV TMOD,#00010001B ;定时器0工作在方式1,用于控制产生发送超声波的信号.定时器1工作在方式2
MOV IP, #01H ;INT0设为高优先级 SETB IT0 ;INT0为跳变沿触发 MOV TH0,#0FFH ;T0500us定时 MOV TL0,#06H
MOV TH1,#00H ;定时器T1 60us定时 MOV TL1,#00H CPL P1.2 SETB TR0 ; SETB TR1 SETB ET0 SETB ET1 SETB EX0 SETB EA
;********************************************************* INT0:
PUSH ACC PUSH PSW CLR TR1 CLR TR0 CLR EA
LCALL COUNT_DISTANCE LCALL DISPLAY LCALL DISPLAY LCALL DISPLAY LCALL DISPLAY MOV TL1,#00H MOV TH1,#00H
MOV TH0,#0FFH ;500us定时 MOV TL0,#06H SETB TR0 SETB TR1 SETB EA
POP PSW
23
POP ACC RETI
;*********************************************************
;定时器0中断程序 ,分别产生500us定时和29500us定时
;******************************************* SETB TR0 M1:
POP PSW POP ACC RETI ************** INT_T0: PUSH ACC PUSH PSW SETB TR1 NOP NOP
NOP
CPL P1.2
JNB P1.2 ,M0
NOP
NOP
MOV TH0,#0FFH MOV TL0,#06H
SETB TR0
JMP M1
M0:
NOP
NOP
MOV TH0,#8BH MOV TL0,#0CAH
;500us定时
;29500us定时
INT_T1: NOP RETI
;************************************************************************ ;动态扫描显示程序
;************************************************************************ DISPLAY:
MOV A,LED1
MOV R1,A
ANL A,#0F0H
SWAP A
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
ANL P2,#0FEH
LCALL DELAY
MOV A,R1
ANL A,#0FH
MOVC A,@A+DPTR
MOV P0,A
24
MOV A,P2 RL A MOV P2,A LCALL DELAY MOV A,LED2 ANL A,#0FH MOVC A,@A+DPTR MOV P0,A
MOV A,P2 RL A MOV P2,A LCALL DELAY MOV A,LED3 ANL A,#0FH MOVC A,@A+DPTR MOV P0,A MOV A,P2 RL A MOV P2,A LCALL DELAY MOV P2,#0FFH RET DELAY:
PUSH PSW
SETB PSW.4
MOV R6,#50 ;5ms显示延时
D1:
MOV R7,#50 DJNZ R7,$ DJNZ R6,D1 POP PSW RET
;*********************************************************** ;
;********************************************************** COUNT_DISTANCE: LCALL DISPLAY LCALL DIV_2 LCALL DISPLAY LCALL DBMUL LCALL DISPLAY LCALL H_D LCALL DISPLAY RET
;********************************************************** ;
;***********************************************************
DBMUL:
LCALL B20MAIN
LCALL
DISPLAY;********************************* 25
MOV A,TEMPER CLR C MOV B,#6H MUL AB MOV B,#0AH DIV AB ADD A,#4BH MOV R3,A MOV A,#01H ADDC A,#00H MOV R2,A
MOV R6,TH1 MOV R7,TL1 MOV A,R3 MOV B,R7 MUL AB XCH A,R7 MOV R5,B MOV B,R2 MUL AB ADD A,R5 MOV R4,A CLR A ADDC A,B
MOV R5,A MOV A,R6 MOV B,R3 MUL AB ADD A,R4 XCH A,R6 XCH A,B ADDC A,R5 MOV R5,A MOV F0,C MOV A,R2 MUL AB ADD A,R5 MOV R5,A CLR A MOV ACC.0,C MOV C,F0 ADDC A,B MOV R4,A CLR C MOV A,R7 SUBB A,#0A0H JC DD1 MOV R7,A DD4: MOV A,R6
26
CLR C SUBB A,#86H JC DD2 MOV R6,A JMP DD3 DD1: CLR C MOV A,R6 DEC A MOV R6 ,A MOV A,#0FFH SUBB A,#0A0H ADD A,R7 ADD A,#01H MOV R7,A JMP DD4 DD2: CLR C MOV A,R5 DEC A MOV R5,A MOV A,#0FFH SUBB A,#86H ADD A,R6
ADD A,#01H MOV R6,A DD3: MOV A,R5 SUBB A,#01H MOV R5,A MOV W1,R5 MOV W2,R6 MOV W3,R7 NOP RET H_D:
;***********************************************************
;将十六进制数转换成数码管每个显示位的十进制数
;*********************************************************** mov r5,W1 mov r6,W2 mov r7,W3 mov r0,#24 clr a mov r1,a mov r2,a mov r3,a mov r4,a loop4:
27
clr c mov a,r7 rlc a mov r7,a mov a,r6 rlc a mov r6,a mov a,r5 rlc a mov r5,a mov a,r4 addc a,r4 da a mov r4,a mov a,r3 addc a,r3 da a mov r3,a mov a,r2 addc a,r2 da a
mov r2,a mov a,r1 addc a,r1 da a
mov r1,a
djnz r0,loop4
MOV A,R3 CLR C SUBB A,#32H JC H1 CLR C MOV A,R2 ADD A,#1H DA A MOV R2,A JNC H1 MOV A,R1
ADD A,#01H MOV R1,A H1:
MOV LED1,R1 MOV A,R2 ANL A,#0F0H MOV R4,#4 H2: RR A
28
; 标号: DIVD 功能:双字节二进制无符号数除法
SUBB A,#0AH JC S1 INC R1 MOV R2,A
;入口条件:被除数在R2、R3、R4、R5中,除数在R6、R7中。
;出口信息:OV=0 时,双字节商在R2、R3中,OV=1 JMP S3 时溢出。
;影响资源:PSW、A、B、R1~R7 堆栈需求:字节 div_2:
setb psw.3
mov r2,#0
mov r3,#0
mov r4,th1
mov r5,tl1
mov r6,#00h
mov r7,#02h
DIVD: CLR C ;;比较被除数和除数
MOV A,R3
SUBB A,R7
MOV A,R2
SUBB A,R6
JC DVD1 S3: CLR C
S1:
MOV LED1,#00H MOV LED3,R2 MOV LED2,R1
LCALL DISPLAY
JB P1.0 , S6
LCALL DISPLAY
JB P1.0, S6
S5:
LCALL DISPLAY
JNB P1.0, S5
SETB EA
MOV LED1,#00H
MOV LED2,#00H
MOV LED3,#00H
RET
END
29
2
后 记
在研究中,课题受到了许多老师和同学的热心关注和支持。他们对超声波 测距系统的研究开发提出了宝贵意见,并在物质和精神上给予了大力支持。在我即将结束对课题的研究时,整个系统的硬件和软件系统已初步成型,这与支持我的老师和同学的关心是分不开的。
衷心感谢我的导师王维斌,正是因为王老师的悉心指导和谆谆教诲,我的课题才得以顺利完成。王老师渊博的知识、丰富科研经验、不计名利、兢兢业业的治学精神使我深受教益。他无私奉献的高贵品质和平易近人的长者作风,使我在学习科学知识的同时也学会了做人的道理。至此论文完成之际,谨向王老师表示由衷的感谢。
感谢寝室里面人对我的指导和帮助。大学三年里最幸运的是寝室里面几个兄弟,他们教了我很多专业知识,更重要的是跟他们学了很多道理。
尤其感谢我的父母,无论我在顺境还是逆境,他们始终是我最坚强的后盾感谢他们对我多年的培养和支持。
最后感谢所有曾经鼓励过我,帮助过我的人们。
30
因篇幅问题不能全部显示,请点此查看更多更全内容