1.1课题的提出
随着计算机技术、自动化技术和工业机器人的不断发展,测距与识别问题在
工业中变得十分重要。例如,传统的接触式测量仪器(如钢卷尺)在测量巷道顶底板距离及巷道的变形量时,这种仪器对高于3m的顶板安设困难,且测量不准确;对于巷道横向变形量的测量,若安设于巷道两侧之间,则妨碍人、车来往,若不固定安装,则测量精度低,难以监测微小变形。又如在自动化装配、检测、分类、加工与运输等过程中,要对随意放置的工件进行作业,这就必须对工件的位置、形状、姿势、种类自动地进行判别,尤其在在工件运输过程中进行识别,则问题更为复杂与困难,因此人们急切需要非接触式测距仪。
目前,非接触式测距仪常采用超声波、激光和雷达。但激光和雷达测距仪造价偏高,不利于广泛的普及应用,在某些应用领域有其局限性,相比之下,超声波方法具有明显突出的优点:
1.超声波的传播速度仅为光波的百万分之一,并且指向性强,能量消耗缓慢,因此可以直接测量较近目标的距离;
2.超声波对色彩、光照度不敏感,可适用于识别透明、半透明及漫反射差的物体(如玻璃、抛光体);
3.超声波对外界光线和电磁场不敏感,可用于黑暗、有灰尘或烟雾、电磁干扰强、有毒等恶劣环境中;
4.超声波传感器结构简单、体积小、费用低、信息处理简单可靠,易于小型化与集成化,并且可以进行实时控制。
因此,超声波方法作为非接触检测和识别的手段,已越来越引起人们的重视。在机器人避障、导航系统、机械加工自动化装配及检测、自动测距、无损检测、超声定位、汽车倒车、工业测井、水库液位测量等方面已经有了广泛的应用。 1.2本课题研究内容及科学意义
本文所研究的是开发一个以Atmel89S51单片机为核心, 采用压电超声传感器的超声测距仪。它具有电路简单,集成度高,体积小,功耗低;测量精度及灵敏度高,测量距离广(4cm到4m)到并且价格低廉,开发周期短,调试方便等优点,适合非接触测距的广泛应用。
二 超声传感器的主要参数及选择
2.1.主要参数
2.1.1中心频率
中心频率,即压电晶片的谐振频率。当施加于它两端的交变电压频率等于晶片的中心频率时,输出能量最大,传感器的灵敏度最高。中心频率最高,测距越短,而分辨力越高。常见超声波传感器的中心频率有30KHz、40KHz、75KHz、200KHz、400KHz等。 2.1.2灵敏度
灵敏度的单位是分贝(dB),数值为负,它主要取决于晶片材料及制造工艺。 2.1.3指向角
指向角是超声波传感器方向性的一个参数,指向角越小,方向性越强。一般为几度至几十度。 2.1.4工作温度
工作温度是指能使传感器正常工作的温度范围,其温度上限应远低于居里点温度。以石英晶片为例,当温度达到+290℃时灵敏度可降低6%。一旦达到居里温度点(+573℃),就完全丧失压电性能。供诊断用的超声波传感器的功率较小,工作温度不高,在-20℃~+70℃温度范围内可以长期工作。治疗用的超声波传感器温度较高,必须采取冷却降温措施。
2.2超声传感器的选择
超声波传感器有多种结构形式,可分成直探头(接收纵波)、斜探头(接收横波)、表面波探头(接收表面波)收发一体式探头、收发分体式双探头等。超声波传感器分通用型、宽频带型、耐高温型、密封放水型等多种产品。一般电子市场上出售的超声波传感器常见的有收发一体式和收发分体式两种。其中收发一体式就是发送器和接受器为一体的传感器,即可发送超声波,又可接受超声波;收发分体式是发送器用作发送超声波,接受器用作接受超声波。
在超声波测量系统中,频率取得太低,外界的杂音干扰较多;频率取得太高,在传播的过程中衰减较大,检测距离越短,分辨力也变高。本文中选用的探头是40KHz的收发分体式超声传感器,由一支发射传感器UCM—T40K1和一支接收传感器UCM—R40K1组成,其特性参数如表2-1所示。
表2-1 传感器特性参数表 型 号 UCM─T40K1 UCM─R40K1 结 构 使用方式 中心频率 频带宽 灵敏度 声压 指向角 容量 最低使用温度 最高使用温度 最大输入电压 开放式 发射 40±1KHz 2±0.5KHz 110dBV/ubar 115dBmin(0dB=0.02mPa) 75º 2500±25%pF -20℃ +60℃ 20Vp-p 开放式 接收 38±1KHz 2±0.5KHz -65dBV/ubar -70dBmin(0dB=1V/ubar) 80º 2500±25%pF -20℃ +60℃ 20Vp-p 2.3超声测距原理与方法
超声测距方法有脉冲回波法、共振法和频差法、其中脉冲回波法测距最为常
用,它主要基于超声测距回波信号的识别,多采用模拟方法,用电路来实现。
发 S d h 收 目标 图2-2 超声测距原理图
如图2-2所示,其原理是超声传感器发射超声波,在空气中传播至被测物,经反射后由超声传感器接收反射脉冲, 测量出超声脉冲从发射到接收的时间,在己知超声波声速V的前提下,利用:
即可计算得传感器与反射点之间的距离S,测量距离
当S>>h时,则d≈S,即:
三 超声测距系统总体设计方案
3.1概述
本系统选择了比较合适的传感器,即由一支发射探头UCM—T40K1和一支接收探头UCM—R40K1组成的收发分体式传感器。本系统计划在实验室内实现小范围测距,测试距离约在米以内,系统整体结构如图3-1所示。
显 示 电 路 单片机处理单元 发射探头 发射电路 障碍检测电路 接收电路 接受探头 物
图3-1 系统设计方案图
发射电路采用单片机P1.0端口编程输出40kHz左右的方波脉冲信号,同时开启内部计数器。由于单片机端口输出功率很弱,为使测量距离满足要求,驱动超声传感器UCM40T发射超声波距离足够远,故在此电路上加功率放大电路。
从接收传感器探头UCM40R传来的超声回波很微弱(几十个mV级),又存在着较强的噪声,所以放大信号和抑制噪声是放大电路必须考虑的。本系统设计此部分电路时采用一级放大,和一带通滤波电路,中心频率40KHz左右,放大滤波电路均采用了高速精密运算放大器TL082,输出信号大约在5V左右。
由于放大电路输出的信号是连续的正弦波叠加信号,而单片机所能接受的中断响应信号常为下降沿脉冲信号,故信号在放大电路后通过LM393构成的比较电路,将正弦信号转换成方波信号,用方波的负跳变作单片机的中断输入,目的使得单片机知道已接收到超声信号,内部计数器停止计时。
显示电路采用动态扫描显示,主要是处于节省硬件的考虑。通过单片机编程将内部计数得到的时间数据,转换为距离信息,通过3位LED数码管显示。
3.2 发射电路的设计
发射电路常用方案
发射电路设计的主要目的是抬高输入到发射探头的电压及其功率。本系统用单片机P1.0发射一组方波脉冲信号,其输出波形稳定可靠,但输出电流和输出功率很低,不能够推动发射传感器发出足够强度的超声信号,所以在此间加入一单电源
乙类互补对称功率放大电路①,如图3-2所示。
图3-2 发射电路图
3.3接受电路的设计
接收换能器晶片接收到超声波垂直作用后,因谐振而形成逐步加强的机械振动。因压电效应晶片两面出现交变的等量异号电荷,电荷量很少,只能提供微小交变电压信号,而不能提供电流信号。接收换接收电路的任务是将这一微小交变电压信号充分放大,同时考虑可能出现干扰信号,放大同时加入滤波电路,驱动后面的比较器输出电位跳变,作为确定接收到的时刻。 3.3.1前置放大电路
前置放大电路单元的作用是对有用的信号进行放大,并抑制其它的噪声和干扰,从而达到最大信噪比,以利于后续电路的设计。
图3-3 前置放大电路图
电路如图3-3所示,考虑到超声换能器的输出电阻比较大(一般数百兆欧姆以上),因此前置放大器必须有足够大的输入阻抗;同时,换能器的输出电压很小(数十毫伏),这就要求前置放大电路有很高的精度、很小的输入偏置电压。前置放大电路是由一个高精度、高输入阻抗放大器TL082及电阻R2、R3和Rp构成,组成一反向比例放大电路,这样可以减小地线噪声的影响。
根据本设计系统需要,接收传感器输出电压很小数十毫伏,故分别取R2=1K ;;R3=200K;Rp=1K,即放大电路将输入信号放大200倍。 3.3.2带通滤波电路
在传感器接收的信号中,除了障碍物反射的回波外,总混有杂波和干扰脉冲等环境噪声,而前端放大电路在放大有用信号的同时,会将一部分的噪声信号同时放大,并没有提高输入信号的信噪比.于是设计出一高品质因素的滤波器对于整个系统十分重要。60年代以来,集成运放获得了迅速发展,由它和R、C组成的有源滤
波电路,具有不用电感、体积小、重量轻等优点。此外,由于集成运放的开环电压增益和输入阻抗均很高,输出阻抗又低,构成有源滤波电路后还具有一定的电压放大和缓冲作用。所以拟采用有源滤波电路抑制无用频率干扰信号。
L和高边截止角频率之间所有带通滤波电路的功能是低边截止角频率
频率信号通过,其它频率信号则完成衰减。
由于在本系统中,总噪声包括在低频段主要集中室内环境噪声和50Hz工频干扰,以及在高频率段的接收机内部噪声。故选用由运算放大器,以及外围电阻电容构成的带通滤波电路。经过此滤波电路后,40KHz左右的有用回波信号被保留,之外的无用信号被削弱,为下一级的检波电路提供较高信噪比的输入信号,该单元电路如图3-4所示。
图3-4 带通滤波电路
3.4检测电路设计
接收传感器输出信号经过上述放大滤波电路后,就可以进行信号检测。其目的是确定接收信号的到达时间,这是整个电路中一个关键的地方,因为它不仅决定系统的测量精度,还关系到整个系统是否能正常工作。检测电路设计的要求是保证每次接收信号都能被准确的鉴别出来,通常利用比较器将输入信号与某一固定电平进行比较,输出不同的电平来产生上升或下降沿触发,转换成数字脉冲去触发单片机的外中断引脚。
VO VOH VI O VOL (a)电路图 (b)传输特性 图3-5同相输入门限电压比较器电路图
比较电路的基本结构如图3-5所示,通常可由一比较器和某一固定参考电压构成。参考电压VREF加于运放的反相端,它可以是正值,也可以是负值,图中给出的为正值,输入信号VI则加于运放的同相端。这时,运放处于开环工作状态,具有很高
VREF 的开环电压增益。电路的传输特性如图3-5(b)所示,当输入信号电压VI小于参考电压VREF时,即差模输入电压VID=VI-VREF<0时,运放处于负饱和状态, VO=VOL;当输入信号电压VI升高到略大于参考电压VREF时,即VID=VI-VREF>0,运放立即转入正饱和状态, VO=VOH,如图3-5(b)的实线所示,它表示VI在参考电压VREF附近有微小的减小时,输出电压将从正的饱和值VOH,过渡到负的饱和值VOL;若有微小的增加,输出电压又将负的饱和值VOL过渡到正的饱和值VOH。当VI从反相端输入, VREF改接到同相端时,传输特性如图3-5(b)中的虚线所示。
如果参考电压VREF=0,则一旦输入信号电压VI过零时,输出就要产生突然变化,检测很灵敏。但由于本系统是检测放大电路后的信号,其中含有一定幅值的噪声,这样一来,即使没有接收到信号,也会造成比较器反复触发,从而无法判断那个信号是真正的接收信号,所以以零点平作为比较电平是行不通的,容易产生错误中断。故本单元电路设计时,采用某一高于一般噪声峰值的固定电平,这样做可以消除一般噪声的影响,并且由于比较电平固定,当信号的幅值发生变化时,这一固定电平所对应的门限就能将有用信号鉴别出来。
该单元电路设计如图3-6所示,由比较器LM393和若干电阻电容构成。
图3-6 检测部分电路图
R10。由R9R10于LM393具有集电极开路输出的结构,所以在电源与输出之间,加一上拉电阻,电容C5起简单滤波作用。具体设计时考虑到前级放大滤波电路输出是峰值为5V左右的连续正弦波信号的叠加,所以分别取R9=20K和R10=1K,则参考电压为
通过调整R9和R10阻值产生比较所需要的参考电压,即VREF=VCCR10=238mV;上拉电阻R11=1K,电容C5=1000pF。当进入比较
R9R10器的输入信号高于238mV时,比较器输出电压为5V;输入信号低于238mV时,VREF=VCC比较器输出电压为0V,利用此边沿跳变来控制单片机中断INT0,停止计时。
3.5显示电路的设计
显示器是一个典型的输出设备,而且其应用是极为广泛的,几乎所有的电子产品都要使用显示器,其差别仅在于显示器的结构类型不同而己。最简单的显示器可以使LED发光二极管给出一个简单的开关量信息,而复杂的较完整的显示器应该是CRT监视器或者屏幕较大的LCD液晶屏。由于本系统设计的要求是显示距离范围在4米之内,所以选用位3位LED数码管,通过单片机编程实现显示。
显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的
公共极COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以我们就可以自行决定何时显示哪一位了。
1234DDDS11174721531K*8ABCDEFGDPCOM13LEDCOM2COM3129C8C+VCC10K*3U3123456781K*3U211123456789OCCLK1D2D3D4D5D6D7D8DSN74HC5741Q2Q3Q4Q5Q6Q7Q8Q19181716151413121RQ12RQ23RQ34RQ45RQ56RQ67RQ7GNDVCCULN2003161514131211109B1234567891011121314151617181920P1.0VCCP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6RSTP0.7P3.0/RXDEAP3.1/TXDALE/PROGP3.2/INT0PSENP3.3/INT1P2.7P3.4/T0P2.6P3.5/T1P2.5P3.6/WRP2.4P3.7/RDP2.3XTAL2P2.2XTAL1P2.1GNDP2.089S51U14039383736353433323130292827262524232221+VCCBATitleASizeBDate:File:12NumberRevision10-Jul-2008D:\\LZH\\PROTEL\\MY_SCH\\LZH4.SCH3Sheet of Drawn By:4图3-7 显示部分电路图 本单元电路设计如图3-7所示,采用3位共阴极数码显示管,显示字符
由单片机P2口送至锁存器74HC574锁存,再经显示驱动芯片ULN2003驱动数码管显示, P0.1~P0.3分别控制每一位的动态显示。
四 单片机的软硬件实现
4.1 ATMEL89S51单片机简介
随着计算机技术与微电子技术的发展,智能仪表的功能逐步完善,工作的可靠性也进一步提高,而单片机却是随着功能的不断增强,价格逐渐降低。在本系统设计中,我们使用美国ATMEL公司生产的8位单片机—AT89S51作为控制器件。AT89S51是一种带4K字节可编程可擦除只读存储器的低电压,高性能CMOS结构的8位微处理器。该器件采用高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,并且将多功能8位CPU和FLASH存储器组合在单个芯片中,因而,AT89S51是一种高效的微控制器,为很多智能仪器和嵌入式控制系统提供了一种灵活性高且价廉的方案。
单片机AT89S51引脚图如图4-1所示,引脚定义见表4-1:
引脚序列 1-8 9 10 11 12 13 14 15 16 17 18-19 20 21-28 29 30 31 32-39 40 引脚号 P1.0-P1.7 RST RXD/P3.0 TXD/P3.1 INT0/P3.2 INT1/ P3.3 T0/P3.4 T1/ P3.5 WR/ P3.6 RD/ P3.7 ————————————图4-1 AT89S51引脚图 表4-1 AT89S51引脚定义 功能 8位准双向I/O口 复位输入口 串行接收口、P3.0I/O口 串行输出口、P3.1I/O口
外部中断0输入口、P3.2I/O口 外部中断1输入口、P3.3I/O口 定时计数器0输入口、P3.4I/O口 定时计数器1输入口、P3.5I/O口 外部数据存储器写选通、P3.6I/O口 外部数据存储器读选通、P3.7I/O口 时钟振荡器的输入/输出端 信号地 8位双向I/O口,可作存储器的高八位地址 程序存储允许输出信号端 片外存储器地址锁存信号 外部取指使能信号 数据/低8位地址复用端口 正电源输入 XTAL2-XTAL1 GND P2.0-P2.7 PSEN ALE/PROG EA/Vpp ——————P0.0-P0.7 Vcc 单片机部分设计主要包括端口的分配以及软件设计的流程。按照第
三章的总体设计方案,具体单片机引脚分配如下:
(1).由单片机P1.0引脚发射一组方波脉冲信号经过功率放大电路推动超声传感器发射探头发出超声,同时打开内部定时器计时。
(2).接收探头收到信号经过放大滤波电路,再经过门限比较器产生负边沿跳变来控制单片机中断引脚,同时关闭内部定时器停止计时。
(3).为降低成本本系统采用动态扫描显示,采用3位共阴极数码显示管,显示字符由单片机P2口送至74HC574锁存器锁存,由P3.6引脚控制D触发器74HC574输出要显示的字符,同时由P0.1~P0.3引脚经显示驱动芯片ULN2003进行位选通,以控制驱动数码管具体位显示。
单片机AT89S51的定时器/计数器组成的核心是一个16位加1计数器,其计数脉冲有两个来源:一是由外部事件提供的计数脉冲通过引脚TX端口送加1计数器;另一个是由单片机内部的时钟脉冲经12分频后送加1计数器。所以,单片机AT89S51的定时器/计数器既可以工作于定时方式,也可以工作于对外部事件计数方式,只要置位或者清零其控制寄存器TMOD的设置位即可实现工作方式的选择。TCON寄存器用于控制定时器/计数器的启停和中断请求。我们通过指令对TMOD和TCON这两个特殊功能寄存器的各位进行编程就可以实现整个定时器/计数器功能。
4.2 系统硬件
在系统硬件构架了超声测距的基本功能之后,系统软件所实现的功能主要是针对系统功能的实现及数据的处理和应用。根据系统硬总体设计方案和所完成的功能,系统软件需要实现以下功能:
1.信号发射控制
在系统硬件中,已经完成了发射电路、接收放大电路、滤波及门限检测的设计。在系统软件中,要完成脉冲串的输出。
2.数据存储处理
为了得到发射信号与接收回波间的时间差,要读出此时计数器的计数值,但不能作为距离值直接显示输出,因为计数值与实际的距离值之间转换公式为S0.5*V*T0.5*344*T172*T,其中,T为发射信号到接收之间经历的时间。由于单片机是按照16进制进行运算,所以得出的S并不能直接显示,需要进行转换。在这个部分中,信号处理主要包括计数值与距离值换算,以及二进制与十进制转换。
3.显示输出
数据传输与显示经软件处理得到的距离,送到与单片机P2口用三位LED显示输出。
4.2.1主程序结构
本系统采用了单片机AT89S51,用单片机汇编语言实现软件编程。整个系统软件功能的实现可以分为主程序、子程序、中断服务子程序几个主要部分组成。整个系统的控制流程如图4-2所示,在初始化以及调用发射脉冲串子程序后打开定时器开始计时,程序进入中断响应的等待。程序初始化过程,主要是定时器/计数器工作方式以及初值进行设置,程序如下:
MAIN: MOV TMOD,#01H ;定时器0初始化为定时器方式1
MOV TL0,#00H MOV TH0,#00H
SETBET0 ;开定时器0中断
SETBIT0 ;设置外部中断0为边沿触发 SETB EX0 ;打开外部中断INT0 SETB EA ;开总中断 SETB TR0 ;启动定时器0
LCALL PULSE ;调用发射脉冲子程序
WAIT: AJMP WAIT ;主程序踏步,等待外部中断
开始 单片机初始化 发射脉冲串 打开定时器 有回波 N Y 外部中断子程序 图4-2 主程序流程图 4.2.2 外部中断子程序
如图4-3所示,中断服务程序是响应单片机的外部中断。在系统主程序中,发射的40KHz脉冲信号遇到障碍物反射后,经接收检测电路产生外中断信号至单片机。在中断服务程序中,首先进行必要的现场保护,再把进入中断服务程序处的计数值读出并对该数据进行处理,计算得到相应的距离值,同时转换为十进制,最后送到P2口显示输出。
RECEIVE: PUSH PSW ;中断现场保护 PUSH A
CLR EX0 ;关闭外部中断INT0 MOV R0,TL0 ;读取时间 MOV R1,TH0
LCALL MULD ;调用乘法子程序计算距离 LCALL ADJ ;调用十进制调整子程序 LCALL DISP ;调用显示子程序 SETB EX0 ;打开外部中断INT0 POP A POP PSW RETI
外部中断入口 关外部中断 读取时间值 计算距离 结果输出 开外部中断 返回 图4-3 外部中断子程序流程图
4.2.3定时器中断子程序
定时器中断子程序流程图如图4-4所示。由于51单片机是16位定器,最大计时时间为65536s,当测量的距离很远的时候,定时器就会发生溢出;所以必须对溢出中断进行相应的设置才能使得单片机正常工作。同时由于电路的测量距离有限,最远为5米,当测量距离超出5米时,接收探头就不能检测回波,即不能产出外部中断更不可能关闭定时器。程序如下:
TIME0: PUSH PSW ;中断现场保护
PUSH A
CLR EX0 CLR TR0
MOV TL0,00H MOV TH0,00H SETB TR0 SETB EX0
LCALL PULSE ;调用发射脉冲子程序 POP A POP PSW RETI
定时中断入口 关闭定时器 定时器初始化 发射脉冲串 打开定时器 返回 图4-4 定时中断子程序流程图
五 总 结
超声波方法作为非接触测量,己经在很多领域得到应用。实验证明, 本系统在空气中测量范围为0~4米左右,测量时要求被测表面比较光滑平坦,确保超声波能够被反射回来, 并被探头接收。在实验中,对4~400cm范围进行测量,经误差补偿后最大误差2cm。线性度,稳定性和重复性都比较好。
本文就基于单片机的超声测距系统作了硬件电路方面的分析,对于 发射电路的设计,接受电路的设计,显示电路的设计都给予了电路图及简单描述,而对于检测电路的设计则给予了详细的描述和分析计算。在软件设计方面,给出了流程图及相关程序,一些细节性的调用小程序没有给出。本文肯定有很多缺点和不足,望老师给予指正。
因篇幅问题不能全部显示,请点此查看更多更全内容