超声波测距系统设计现代测控技术课程设计内容摘要:

能力将决定最小的可测距离。 为了增加所测量的覆盖范围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射/接收的设计方法。 由于超声波属于声波范围,其波速 C与温度 有关。 系统软件的设计 超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。 我们知道 C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用 C语言和汇编语言混合编程。 超声波测距的原理为超声波发生器 T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器 R所接收到。 这样只要计算 出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。 距离的计算公式为: d=s/2=(ct)/2 其中, d为被测物与测距仪的距离, s为声波的来回的路程, c为声速, t为声波来回所用的时间。 在启动发射电路的同时启动单片机内部的定时器 T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。 当收到超声波反射波时,接收电路输出端产生一个负跳变,在 INT0或 INT1端产生一个中断请求信号,单片机响应外部中断请 求,执行外部中断服务子程序,读取时间差,计算距离。 13 软件分为两部分,主程序和中断服务程序。 主程序完成初始化工作、各路超声波发射和接收顺序的控制。 定时中断服务子程序完成三 个 方向超声波的轮流发射,外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。 程序流程图如图 , (a)为主程序流程图, (b)为定时中断子程序流程图,(c)为外部中断子程序流程图。 (a) (b) (c) 图 程序流程图 用单片机编程产生 40kHz 方波,可用延时程序和循环语句实现。 先定义一个延时函数 delays(),然后可用 for 语句循环,并且循环一次同时改变方波输出口的电平高低,从而产生方波。 部分程序如下: void delays() {} //延时函数 void main() { for(a=0。 a200。 a++) //产生 100 个 40KHz 的方波 有 无 定时初使化 发射超声波 停止发射 清中断 发射 完否 是是 否 读取时间值 计算距 离 保存结 果 清中 断 初使化 定时中断子程序 有回波否 外部中断子程序 定时中断入口 外部中断入口 等待 返回 返回 14 { P36=!P36。 //每循环一次,输出引脚取反 delays()。 } } 单片机每隔一段时间产生一串 40kHz 方波,同时定时器开始计时,当收到回波,产生中断信号后,单片机执行中断程序。 在中断程序中,先让定时器停止计数,然后读取时间,通过时间计算出所测距离,输出结果。 中断程 序如下: void intersvro(void) interrupt 0 using 1 //INTO 中断服务程序 { uint bwei,shwei,gwei。 uchar DH,DL。 ulong COUNT。 ulong num。 TR0=0。 //停止计数 DH=TH0。 DL=TL0。 COUNT=TH0*256+TL0。 num= (344*COUNT)/20200。 //计算距离 bwei=num/100。 //取百位 gwei=(numbwei*100)/10。 //取十位 shwei=num%10。 //取个位 P1=tab[bwei]。 //输出百位 P0=tab[shwei]。 //输出十位 P2=tab[gwei]。 //输出个位 TH0=0。 TL0=0。 } 15 本设计的 LED 显示 采用了静态显示方式,并用单片机内部软件译码。 这样简单方便,省去了复杂的外部译码电路。 软件译码只需要定义一个数组便可,程序语句如下: uchar data tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}。 这是共阳 LED 显示从 0 到 9的字形码。 5 系统电路的调试与误差分析 电路的调试 通过多次实验,对电路各部分进行了测量、调试和分析。 首先测试发射电路对信号放大的倍数,先用信号源给发射电路输入端一个40kHz 的方波信号,峰 峰 值为。 经过发射电路后,其信号峰 峰值放大到10V 左右。 40kHz 的方波驱动超声波发射头发射超声波,经反射后由超声波接收头接收到 40kHz 的正弦波,由于声波在空气中传播时衰减,所以接收到的波形幅值较低,经接收电路放大,整形,最后输出一负跳变,在单片机的外部中断源输入端产生一个中断请求信号。 该测距电路的 40kHz方波由单片机编程产生,方波的周期为 1/40ms,即 25181。 s,半周期为。 每隔半周期时间,让方波输出脚的电平取反,便可产生 40kHz方波。 由于 12M 晶振的单片机的时间分辨率是 1181。 s, 所以只能产生半周期为 12181。 s或 13181。 s 的方波信号,频率分别为 和。 本系统在编程时选用了后者,让单片机产生约 的方波。 系统的误差分析 声速引起的误差 声波是媒质中传播的质点的位置、压强和密度对相应静止值的扰动。 高于20kHz 时的机械波称为超声波,媒质包括气体、液体和固体。 流体中的声波常称 16 为压缩波或压强波,对一般流体媒质而言,声波是一种纵波,传播速度为 2Ec „„„„ „„„„„„„„„„„ ② 式②中 E为媒质的弹性模量,单位 kg/mm2; ρ 为媒质的密度,单位 kg/mm3;E 为复数,其虚数部分代表损耗。 c也是复数,其实数部分代表传播速度,虚数部分则与衰减常数 (每单位距离强度或幅度的衰减 )有关,测量后者可求得媒质中的损耗。 声波的传播与媒质的弹性模量密度、内耗。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。