基于单片机控制的超声波测距系统设计与实现内容摘要:

面的面积扩大导致的声强减弱,若声源辐射的是球面波 (波阵面是同心球面 ),其波阵面随 r的平方增大,声强随 2r 规律减弱。 声波的描述方程与电磁波是类似的 :      c os tA t A x k x () 上式 中 , AxA(x)为振 幅,  为传播角频率, t 为传播时间, x 为传播距离, 2/k  为波 速 ,  为声波波长。 由于声波的衰减,使得 Ax 随传播距离的变化而变化。 声学理论证明,吸收衰减和散射衰减都遵从指数衰减规律。 对沿 X方向传播的平面波而言, 由于不需要计算扩散衰减,则 Ax 的变化规律可以由下式表示 :   0 xA x A e  () 0A 为声源处质子振幅,为不变量 ;  为衰减系数。 衰减系数与声波所在介质及频率的关系为 : 20f () 其中, 0 为介质常数, f 为振动频率。 在空气中, 11 20 2 10 /s cm  ,当振动的声波频率 40f KHz 时,可得 10 cm  ,即 1/  。 它的物理意义在于 :超声波在空气媒介中传播,因空气分子运动摩擦等原因,能量被吸收损耗,在长度 上, 平面声波的振幅衰减为原来的 1/e。 而且,频率越高,衰减系数 a越大,传播的距离也越短。 在实际的应用中 ,一般选用 30100KHz的超声波进行距离测量,比较的典型的频率为 40KHz。 主要技术指标 测量范围: ~ 3m 测量精度: 1cm 总结 以上对超声波测距的基本原理及超声波传感器作了介绍。 关于超声波的发射电路,接收前置放大,脉冲形成与记忆电路,电源电路,以及码分制超声波测距电路中的编码与解码电路,脉冲调制与解调电路。 可以参考红外发送电路。 在设计超声波传感器测距电路时应注意以下几点: ,驱动时所需电流较小,一般仅为几毫安到十几毫安。 但要有一定幅度的驱动 电压,驱动电路不加限流电阻。 ,设计时元件参数 经过比较精确的计算。 调试时要注意通过频率计来监测频率。 要选用阻抗较高的前置放大器,以获得较高的接收灵敏度和选择性。 3 硬件电路设计 AT89C51 和 AT89C2051 的区别 AT89C51和 AT89C2051都是 AT89系列的典型代表,价格便宜,都可以用于超声波测距仪中。 表 1 AT89C51和 AT89C2051主要性能表 AT89C51 AT89C2051 4KB可编程 Flash存储器(可擦写 1000次) 2 KB可编程 Flash存储器(可擦写 1000次) 三级程序 存储器保密 两 级程序 存储器保密 静态工作频率: 0Hz-24MHz 静态工作频率: 0Hz-24MHz 128字节内部 RAM 128字节内部 RAM 2个 16位定时计数器 /计时器 2个 16位定时计数器 /计时器 一个串行通讯口 一个串行通讯口 六个中断源 六个中断源 32条 I/O引线 15条 I/O引线 片内时钟振荡器 一个片内模拟比较器 从上表可以看出它们大体相同,由于 AT89C2051的 IO线很少,导致它 无法外加 RAM和程序 ROM,片内 Flash存储器也很少,但它的体积比 AT89C51小的多,价格也便宜一些。 由于超声波测距仪的电路比较简单, AT89C2051已经足够使用,所以使用 AT89C2051作为主控制器。 AT89C2051是一个 2k字节可编程 EPROM的高性能微控制器。 它与工业标准MCS51的指令和引脚兼容,因而是一种功能强大的微控制器,它对很多嵌入式控制应用提供了一个高度灵活有效的解决方案。 AT89C2051的特点除了表中所描素的以外它还 支持二种软件可选的电源节电方式。 空闲时, CPU停止,而让 RAM、定时 /计数器、串行口和中断系统继续工作。 可掉电保存 RAM的内容,但可使振荡器停振以禁止芯片所有的其它功能直到下一次硬件复位。 AT89C2051有 2个 16位计时 /计数器寄存器 Timer0 Timer1。 作为一个定时器,每个机器周期寄存器增加 1,这样寄存器即可计数机器周期。 因为一个机器周期有 12个振荡器周期,所以计数率是振荡器频率的 1/12。 作为一个计数器,该寄存器在相应的外部输入脚。 由于需要二个机器周期来辨认一次 1到 0的变化,所以最大的计 数率是振荡器频率的 1/24,可以对外部的输入端 ,便于测量脉冲宽度的门。 充分利用 AT89C2051的片内资源,即可在很少外围电路的情况下构成功能完善的超声波测距系统。 R S T /V P P1( R X D ) P 2( T X D ) P 3X T A L 24X T A L 15( I N T 0) P 6( I N T 1) P 7( T 0) P 8( T 1) P 9GND31V C C20P 19P 11P 18P 17P 16P 15P 14P ( A I N 1)13P ( A I N 0)12A T 89C 2051 图 31 AT89C2051的管脚图 表 2 AT89C2051管脚功能 管脚 接脚符号 方向 信号 I/ O(输入/输出)方向与功能 12 ~19 ~( P1) I/O P1 口:是一个 8位双向 I/ O 口,具有内部提升电阻, P1 口的输出缓冲能够吸收或者供应 4个TTL 负载 电流, P1接脚被写入 1后,由内部提升拉为高电位状态,此时可做为输入脚;做输入时, P1口如果被外部信号拉低电位( Pull low),将因内部提升而提供电流( I) 管脚第二功能: AIN0 电压输入比较器 管脚第二功能: AIN1 电压输入比较器 2~ 3 6~ 9 11 ~ ~ ( P3) I/O P3 口:是一个 8位双向 I/ O 口,具有内部提升电阻, P3 口的输出缓冲能够吸收或者供应 4个TTL 负载电流, P1接脚被写入 1后,由内部提升拉为高电位状态,此时可做为输入脚;做输入时, P1 口如果被外部信号拉低电位( Pull low),将因内部提升而提供电流( I) P3 口还做为特殊功能接脚,详见下面列表 管脚第二功能: RXD (串行口输入端) 管脚第二功能: TXD (串行口输出端) 管脚第二功能: INT0 (外部中断 0) 管脚第二功能: INT1 (外部中断 1) 管脚第二功能: T0 (定 时器 0 外部输入) 管脚第二功能: T1 (定时器 1 外部输入) 5 XTAL1 I 时钟振荡器输入脚:输入信号接到单片机内部的反相振荡放大器及内部时钟脉冲发生器电路。 4 XTAL2 0 时钟振荡器输出脚:此脚接到单片机内部的反相振荡放大器( Oscillator39。 s amplifier)的输出端 1 RST I 复位( RESET):一个高电位输入此脚将重新启动单片机程序,该信号须在振荡器起振以后持续两个机器周期 20 VCC 电源正端: ~ 6V 10 GND 电源地端 硬件电路的 总体设计 根据设计要求并综合个方面的因素,本设计决定采用 AT89C2051单片机为主控制器,用动态扫描法实现 LED数字显示,超声波驱动信号用单片机的定时器完成,超声波测距仪系统设计框架如图 32所示。 图 32 超声波测距器系统设计框图 测距原理 超声波测距的方法有多种,如相位检测法、声波幅值检测法和往返时间检测法等。 相位检测法虽然精度高,但检测范围有限 ; 声波幅值检测法易受反射波的 单片机 控制器 超声波接收 超声波发射 LED显示 扫描驱动 影响。 本论文硬件设计采用超声波往返时间检测法,其原理为 :检测从超声波发射器发出的超声波 (假设传播介质为气体 ),经气体介质的传播到接收器的时间,即往返时间。 往返时间与气体介质中的声速相乘,就是声波传输的距离。 而所测距离是声波传输距离的一半 ,即: /2s ct () 式中, c 为超声波在空气中的传播速度。 在文章的前面已经说过 c 的计算方法。 当温度不便或者常温时可以认为 c 时固定不变的。 图 33 超声波测距原理图 超声波测距系统的工作过程 ,系统控制部分初始化整个系统 1)初始化 LED 2)初始化计数控制部分,清除计数值,使之恢复为 0 超声波 脉冲信号,脉冲宽度为 12us左右 “ 1”,打开计时器,等待回波信号。 1:回波信号到达,关闭计时器, “ 0”,清 “ 0” 情况 2:回波信号没有到达,关闭计时器,清 , “ 0” 继续重一开始。 ,显示在 LED上。 超声波测距部分硬件实现 硬件电路主要分为单片机系统、显示电路、超声波发射电路和超声波检测接收电路四个部分组成。 下面就对每一个部分进行介绍。 单片机系统部分 单片机采用 89C2051。 采用 12M高精度的晶振,以获得较稳定的时钟频率,减小测量误差。 单片机用 40KHz方波信号,利用外中断 0口监测超声波接收电路输出的返回信号。 电路如图 34所示。 图 34 单片机系统部分电路图 显示部分 显示电路采用简单实用的 4位共阳 LED数码管,段码 2千欧姆的电阻驱动,位码用 PNP的三级管 9012进行驱动。 显示部分电路如图 36所示。 数码管的介绍: 一位数码管的接法和驱动原理: 一支七段数码管实际由 8个发光二极管构成,其中 7个组形构成数字 8的七段笔画,所以称为七段数码管,而余下的 1个发光二极管作为小数点。 作为习惯,分别给 8个发光二极管标上记号: a,b,c,d,e,f,g,h。 对应 8的顶上一画,按顺时针方向排,中间一画为 g,小数点为 h。 我们通常又将各二极与一个字节的 8位对应, a(D0),b(D1),c(D2),d(D3),e(D4),f(D5),g(D6),h(D7),相应 8个发光二极管正好与单片机一个端口 Pn的 8个引脚连接,这样单片机就可以通过引脚输出高低电平控制 8个发光二极的亮与灭,从而显示各种数字和符号;对应字节,引脚接 法为: a(), b(), c(), d(), e(), f(),g(), h()。 如果将 8个发光二极管的负极(阴极)内接在一起,作为数码管的一个引脚,这种数码管则被称为共阴数码管,共同的引脚则称为共阴极, 8个正极则为段极。 否则,如果是将正极(阳极)内接在一起引出的,则称为共阳数码管,共同的引脚则称为共阳极, 8个负极则为段极。 本系统采用四位一体的 LED显示器,其原理与上面介绍的 LED显示器相同。 在四位一体的 LED显示器中,各个相同的段连在一起(构成 LED显 示器的 8个引脚),再加上连接位控线的 4个引脚,总共 12个引脚,如图 35所示。 通常点亮 LED显示器有静态和动态两种方法。 所谓静态显示,就是当显示器显示一个字符时,相应的发光二极管恒定地导通或截止。 当显示器位数少时,适合用静态显示地方法。 所谓动态显示,就是一位一位地循环点亮显示器各个位(扫瞄),对于显示器地每个位来说,每隔一段时间点亮一次。 显示器的亮度既与导通电流有关,也与点亮时间和间隔时间有关,调整电流和时间参数,可以实现亮度较稳定的显示。 本设计采用动态显示方式。 R S T /V P P1( R X D ) P 2( T X D ) P 3X T A L 24X T A L 15( I N T 0) P 6( I N T 1) P 7( T 0) P 8( T 1) P 9GND31V C C20P 19P 11P 18P 17P 16P 15P 14P ( A I N 1)13P ( A I N 0)12A T 89 C 20 51+51212M30 P FC130 P FC220uFC310KR 13+5 1 a f 2 3 be d dp c g 4abc。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。