超声波测距仪硬件电路的设计
第三章超声波测距仪硬件电路的设计
3.1
超声波测距仪硬件电路
硬件电路可分为单片机系统及显示电路、 超声波发射电路和超声波检测接收 电路三部分。
3.1.1单片机系统及显示电路
本系统采用AT89S52来实现对超声波传感器的控制。单片机通过 P1.0引脚 经反相器来控制超声波的发送,然后单片机不停的检测INTO 引脚,当INTO 引脚 的电平由高电平变为低电平时就认为超声波已经返回。 计数器所计的数据就是超 声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。 超声波 测距的硬件示意图如图3所示:
单片机采用89S52或其兼容系列。采用12MHz 高精度的晶振,已获得较稳定 的时钟频率,减少测量误差。单片机用P1.0端口输出超声波换能器所需的40KHZ 的方波信号,利用外中断0 口检测超声波接收电路输出的返回信号。
3.1.2显示的输出
显示的种类很多,从液晶显示、发光二极管显示到CRT 显示器等,都可以与 微机连接。其中单片机应用系统最常用的显示是发光二极管数码显示器(简称 LED 显示器)0液晶显示器简LCD LED 显示器价廉,配置灵活,与单片接口方便, LCD 可显示图形,但接口较复杂成本也较高。
该电路使用7段LED 构成字型“8”,另外还有一个发光二极管显示符号及小 数点。这种显示器分共阳极和共阴极两种。这里采用共阳极LED 显示块的发光二 极管阳极共接,如下图3-1所示,当某个发光二极管的阴极为低电平时, 该发光 二极管亮。它的管脚配置如下图 3-2所示。
实际上要显示各种数字和字符,只需在各段二极管的阴极上加不同的电平,
i
e
f g dp
VCC
5
图3-图3-2
com E £ a b a d c dp
can
就可以得到不同的代码。这些用来控制LED 显示的不同电平代码称为字段码 (也 称段选码)。如下表为七段LED 的段选码。
表3-1七段LED 的段选码
显示字符
共阳极段选码 dp gfedcba
显示字符 共阳极段选码
dp gfedcba
C0H
A 88H
1 F9H B 83H
2 A4H C C6H
3 B0H D A1H
4 99H E 86H
5 92H F 8EH
6 82H P 8CH
7 F8H y 91H
8 80H 8.
00H 9
90H “灭”
FFH 本系统显示电路采用简单实用的4位共阳LED 数码管,位码用PNP 三极管 8550驱动。单片机系统显示电路如图 3-3所示。
3.1.1超声波发射电路
超声波发射电路原理图如图3-4所示。发射电路主要有反向器 CD4069和超
1
”
r 亠- --W 丈于一
--
H U
声波发生换能器T 构成,单片机P1.0的端口输出40KHZ 方波信号一路经一级反 向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器 的另一个电极。用这种推挽形式将方波信号加到超声波换能器两端, 可以提高超 声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力。上拉电阻 R10, R11 一方面可以提高反向器741S04输出高电平的驱动能力,另一方面可以 增加超声波换能器的阻尼效果,缩短其自由震荡的时间。
3.1.2超声波检测接收电路
集成电路CX20106A 是一款红外线检波接收的专用芯片,常用于电视机红外 遥控接收器。考虑到红外遥控常用的载波频率 38KHZ 与测距的超声波频率40KHZ 较为接近,可以利用它制作超声波检测接收电路(如图 3-5)。实验证明用
CX2O1O6A S 受超声波(无信号时输出高电平),具有很高的灵敏度和较强的抗干 扰能力。适当更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。
图5图3-5
超声波检测接收电路原理图
图3-4超声波发射电路原理图
第四章 超声波测距仪系统程序的设计
4.1
超声波测距仪的程序设计
超声波测距器的软件设计主要由主程序, 超声波发生子程序,超声波接受中 断程序及显示子程序组成。我们知道C 语言程序有利于实现较复杂的算法,汇编 语言程序则具有较高的效率并且容易精确计算程序运行的时间, 而超声波测距器 的程序既有较复杂的计算(计算距离时),有要求精确计算程序运行时间(超声 波测距
时),所以控制程序可采用C 语言和汇编语言混合编程。下面对超声波测 距器的算法、主程序、超声波发生子程序和超声波接收断程序逐一介绍。
4.1.1超声波测距器的算法设计
图4-1示意了超声波测距的原理,即超声波发生器T 在某一时刻发出一个超 声波信号,当这个超声波信号遇到被测物体后反射回来,就被超声波接收器 所接收到。这样只要计算出从发出超声波信号到接收到返回信号所用的时间, 可以计算出超声波发生器与反射物体的距离。
距离的计算公式:
d=s/2=(c*t )/2
其中d 为被测物与测距器的距离,s 为声波的来回路程,c 为声波,t 波来回所用的时间。
由于超声波也是一种声波,其声速c 与温度有关,表4-1列出了几种不同温 度下的超声波声速,在使用时,如果温度变化不大,则可认为声速是基本不变的, 如果测距精度要求很高,则应通过温度补偿的方法加以校正。 声速校正后,只要
测得超声波往返的时间,即可求得距离。
表4-1不同温度下超声波声速表
温度/C -30
-20 -10 0 10 20 30 100 声速 c/m/s 313 319 325 323 338 344 349 386
4.1.2主程序
主程序首先是对系统环境初始化,设定定时器 TO 工作模式为6位定时计数 器模式,置位总中断允许位 EA 并给显示端口 P0和P2清0。然后调用超声波发 生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起 的直射波触发,需要延时约0.1ms
为声
T R
图4-1超声波测距的示意图
(这也就是超声波测距器会有一个最小测距离的原因)后,才打开外中断0接收返回的超声波信号。由于采用的是12MHZ勺晶振,计算器每计一个数就是1us,,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式(1-2 )计算,即可得被测物体与测距器之间的距离,设计时取20r时的声速为344m/s则有
D=(c*t)/2=172T0/10000cm 1-2
其中T0为计数器T0的计数值。
测出距离后结果将以十进制BCD码方式送往LED显示约0.5s,然后再发超声波脉冲重复测量过程。为了有利于程序结构化和容易计算出距离,主程序采用C语言编写。图4-1为主程序流程图。
图4-1主程序流程图
系统程序流程图如图4-2所示:
图4-2超声波测距程序流程图
工作时,微处理器AT89S52先把P1.0置0,启动超声波传感器发射超声波,同时启动内部定时器T0开始计时。由于我们采用的超声波传感器是收发一体的,所以在发送完16个脉冲后超声波传感器还有余震,为了从返回信号识别消除超声波传感器的发送信号,要检测返回信号必须在启动发射信号后 2.38ms才可以
检测,这样就可以抑制输出得干扰。当超声波信号碰到障碍物时信号立刻返回,微处理器不停的扫描INT0引脚,如果INT0接收的信号由高电平变为低电平,此时表明信号已经返回,微处理器进入中断关闭定时器。再把定时器中的数据经过换算就可以得出超声波传感器与障碍物之间的距离。
4.2超声波发生子程序和超声波接收中断程序
超声波发生子程序的作用是通过P1.0端口发送2个左右超声波脉冲信号(频率约为40kHz的方波),脉冲宽度为12us左右,同时把计数器T0打开进行计时。超声波发生子程序较简单,但要求程序运行时间准确,所以米用汇编语言编程。
超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平)立即进入中断程序。进入该中断程序后立即关闭计时器T0停止计时,并将测距成功标志字赋值1。
如果当计时器溢出是还未检测到超声波返回信号,则定时器T0溢出中断将
外中断0关闭,并将测距成功标志字赋值2以表示本次测距不成功。
第五章超声波测距仪误差分析与调试
5.1 误差来源分析
由超声波测距原理可知,它是基于声波速度不随频率变化为基础的,利用声波行进于待测距离的时间为测量参量确定待测间距。主要误差来源有:
(1)声波速度变化引起的误差,这与空气的元素含量以及空气温度有关。
由声波传播速度Y M可知,声速是与空气的分子量Y与M以及空气温度
T有关。
(2)脉冲计数频率的稳定性是直接导致“等效标准尺”长度变化的因素。
N C
mL =———m = L m / f
由测长误差关系式f可得,当脉冲频率准确到10-5时,
如果测量距离L是W 100米的话,m L =0.001米,此误差远小于超生测长误差。
(3)开关门的可靠性是标志超声波测距可靠性的关键,即同步门控制。也就是说,超声波发射与脉冲计数必须同步开门。所以,非同步性带来的随机误差
会影响结果。
5.2 调试过程
超声波测距仪的制作和调试都比较简单,其中超声波发射和接收采用①15
的超声波换能器TCT40-10F(T发射)和TCT40-10S1R接收),中心频率为40kHz, 安装时应保持两换能器中心轴线平行并相距4?8cm其余元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C4的大小,以获得合适的接收灵敏度和抗干扰能力。
制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测的范围为0.07?5.5m,测距仪最大误差不超过1cm系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。
调试注意事项:
超声波探头表面严禁用手及其它物体触摸以免产生信号滞后性及损坏
所有IC器件最好拔下烙铁插头再焊接,以免损坏.
按图安装完毕后接上12V电源,测距部分只要安装正确不必进行调试即可正
常工作,同时接收电路应用铁皮屏蔽以增加抗干扰的性能.以上所有芯片采用DIP封装如要缩