0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于AT89C2051单片机+放大器LM318+MC14489的超声波测距系统设计方案

基于AT89C2051单片机+放大器LM318+MC14489的超声波测距系统设计方案

来源: dzsc
2021-11-18
类别:工业控制
eye 121
文章创建人 拍明

原标题:基于AT89C2051的超声波测距系统设计方案

基于AT89C2051、LM318与MC14489的超声波测距系统设计方案

超声波测距技术因其非接触、实时性、易于实现等优点,在工业自动化、机器人导航、液位测量、汽车倒车雷达等领域得到广泛应用。本设计方案旨在构建一个基于AT89C2051单片机、LM318高速运算放大器和MC14489超声波接收专用集成电路的超声波测距系统,通过软硬件结合,实现高精度、高可靠性的距离测量。本系统将详细介绍各核心元器件的选择理由、功能及其在系统中的作用,并对整体系统设计、工作原理、软件流程及潜在优化方向进行深入探讨。

image.png

1. 系统概述与工作原理

本超声波测距系统主要由超声波发射模块、超声波接收模块、信号处理模块、主控模块和显示模块组成。其基本工作原理是:由AT89C2051单片机控制超声波发射器(通常为压电陶瓷换能器)发射出一串脉冲超声波。超声波在空气中传播,当遇到障碍物时,会被反射回来。反射回来的超声波被超声波接收器接收。接收到的微弱超声波信号经过LM318放大器和MC14489专用接收芯片的处理,转换成可供单片机识别的电信号。AT89C2051单片机通过定时器/计数器精确测量从超声波发射到接收之间的时间间隔。由于超声波在空气中的传播速度是已知且相对恒定的(约340m/s,会受温度、湿度等因素影响),因此可以根据时间间隔和传播速度计算出超声波传播的距离,即障碍物的距离。最终,计算出的距离值可以通过数码管或液晶屏进行显示。

2. 核心元器件选择与分析

在设计超声波测距系统时,合理选择元器件是确保系统性能、成本和可靠性的关键。本方案将详细阐述AT89C2051单片机、LM318高速运算放大器和MC14489超声波接收专用集成电路的选择理由及其在系统中的具体作用。

2.1 主控单元:AT89C2051单片机

选择理由:AT89C2051是一款高性能、低功耗的CMOS 8位微控制器,它基于Intel 80C51指令集兼容的精简指令集(RISC)架构。尽管现在有更先进的32位微控制器,但在许多成本敏感且对处理速度要求不极致的应用中,89C51系列仍具有其独特的优势。对于超声波测距这种实时性要求高但数据量不大的应用,AT89C2051提供了足够的处理能力和丰富的片上资源,如定时器/计数器、中断系统、并行I/O口等。其集成度高,外围电路简单,有助于降低系统复杂度和成本。此外,其Flash存储器允许在系统内进行程序擦写,方便开发调试和功能升级。其功耗低,适用于电池供电的应用。

元器件功能:

  • 程序控制: 存储并执行测距系统的控制程序,包括超声波发射脉冲的生成、定时器的启动与停止、距离计算、显示数据更新等。

  • I/O控制: 控制超声波发射模块的工作状态,接收MC14489输出的超声波回波信号,控制数码管或液晶显示器的显示内容。

  • 定时/计数: 内置的定时器/计数器是测距的核心。它用于精确测量超声波从发射到接收的时间间隔。通过设置定时器工作模式,可以实现微秒级甚至更小的计时精度,直接影响测距的准确性。

  • 中断处理: 当MC14489检测到有效的超声波回波信号时,可以触发单片机外部中断,使得单片机能够及时响应并停止计时,确保测量时间间隔的准确性。

  • 数据处理与存储: 进行距离的计算(距离=时间×声速/2),并将计算结果进行格式化处理,以便在显示设备上正确显示。

2.2 信号放大与处理:LM318高速运算放大器

选择理由:LM318是一款高速、高输入阻抗的运算放大器,具有较宽的带宽和较快的转换速率(典型值为70V/μs)。在超声波测距系统中,超声波接收器(通常是压电陶瓷换能器)接收到的回波信号非常微弱,可能只有几毫伏甚至更低。为了使后续的信号处理电路(如MC14489)能够有效识别和处理这些信号,需要对其进行前置放大。LM318的高速特性确保了在超声波高频信号下仍能保持良好的放大效果,而高输入阻抗则可以减少对接收器信号源的负载效应,避免信号衰减。此外,LM318价格适中,易于获取,是通用型高速放大器的优秀选择。

元器件功能:

  • 前置放大: 作为超声波接收端的第一级放大电路,将压电陶瓷接收器输出的微弱超声波回波信号进行初步放大,提高信噪比,使其达到MC14489芯片可接受的输入电平范围。

  • 信号匹配: 在放大电路设计中,可以通过配置LM318的外围电阻电容网络,实现对信号的适当匹配和滤波,抑制噪声干扰,优化信号质量。

  • 电压跟随器/反相放大器/同相放大器: 根据具体的电路设计需求,LM318可以灵活配置成不同的放大模式,例如,如果接收器输出阻抗较高,可以配置为电压跟随器,以提供高输入阻抗;如果需要较大的增益,则可以配置为反相或同相放大器。通常会采用多级串联放大,以达到足够的总增益。

2.3 超声波接收专用芯片:MC14489

选择理由:MC14489(或其升级版,如HC-SR04模块中常见的专用芯片,或独立的超声波接收IC)是一款专门用于超声波接收的集成电路。它集成了信号放大、滤波、比较器和数字输出等功能,极大地简化了超声波接收电路的设计。相较于完全由分立元件搭建的接收电路,MC14489具有更高的集成度、更好的抗干扰能力和更高的灵敏度。其内部通常包含自动增益控制(AGC)电路,能够根据接收信号的强度自动调整放大倍数,从而在近距离和远距离都能获得稳定的输出。其输出信号通常是数字脉冲,可以直接送入单片机进行处理,无需额外的模数转换。这大大降低了硬件设计的复杂性,提高了系统的可靠性和一致性。

元器件功能:

  • 信号放大与滤波: MC14489内部集成了多级放大器和带通滤波器,能够对LM318放大后的超声波回波信号进行进一步的放大和滤除带外噪声,确保只有超声波频率范围内的信号被有效处理。

  • 自动增益控制(AGC): 这是MC14489的关键功能之一。由于超声波信号强度随距离衰减,近距离回波强而远距离回波弱。AGC功能可以根据信号强度自动调整放大倍数,确保在不同距离下都能提供稳定的输出,避免近距离信号饱和和远距离信号无法检测的问题。

  • 包络检测与比较: 芯片内部会对放大滤波后的超声波信号进行包络检测,提取出信号的轮廓。然后通过比较器将包络信号与设定的阈值进行比较。当信号强度超过阈值时,输出一个数字电平信号(通常是高电平),指示超声波回波的到达。

  • 数字输出: MC14489的最终输出通常是数字脉冲信号。这个脉冲信号的边沿(上升沿或下降沿)可以作为超声波回波到达的标志,直接连接到AT89C2051的外部中断引脚或定时器捕获引脚,实现精确计时。

3. 系统硬件设计

3.1 超声波发射模块

  • 超声波发射器: 优选型号为T40-16或类似型号的40KHz压电陶瓷发射器。选择40KHz是因为这个频率在空气中传播衰减适中,且人类听不到,避免噪声污染。发射器通常需要一个驱动电路来产生足够的激励电压。

  • 驱动电路: 通常采用一个或多个N沟道MOSFET(如IRF540N)或BJT(如2N2222A)作为开关管,由AT89C2051的I/O口输出脉冲信号进行控制。为了产生足够强的超声波,可能需要一个升压电路或共振电路来提供更高的驱动电压(例如,通过一个自激振荡电路或由单片机控制的H桥驱动)。驱动脉冲的持续时间通常为几个周期(例如8个周期),以确保足够的能量发射出去。

3.2 超声波接收模块

  • 超声波接收器: 优选型号为R40-16或类似型号的40KHz压电陶瓷接收器。与发射器配套,确保频率匹配。

  • 前置放大电路:

    • LM318运算放大器: 如图1所示,LM318可以配置成反相放大器或同相放大器。考虑到接收器输出阻抗,常将其配置为高输入阻抗的非反相放大器。为了达到足够的增益,可能需要采用多级放大。

    • 电阻、电容: 配合LM318构建放大电路,确定增益、带宽和滤波特性。例如,反馈电阻决定增益,RC滤波网络用于滤除高频噪声。优选精密电阻(1%精度)和低损耗电容,以确保信号稳定性。

  • MC14489专用接收芯片: MC14489的输入端连接到LM318的输出端。其输出端(通常是TOUT或ECHO引脚)连接到AT89C2051的外部中断引脚(如INT0或INT1)或定时器捕获引脚。芯片需要合适的电源电压(通常为5V)和地线连接。

3.3 主控模块

  • AT89C2051单片机: 核心处理器。需要为其提供稳定的5V电源。

  • 晶振: 优选12MHz晶振。因为8051系列单片机一个机器周期通常是12个时钟周期,12MHz的晶振可以使得定时器计数更为方便,且易于实现微秒级计时。

  • 复位电路: 包含一个复位按键和RC复位电路(电阻10KΩ,电容10μF),确保系统稳定上电和手动复位。

  • 电源模块: 通常使用AMS1117-5.0等线性稳压器将外部9V/12V直流电源转换为稳定的5V供电电压。为了降低电源纹波,在稳压器输入输出端并联瓷片电容和电解电容。

3.4 显示模块

  • 数码管显示: 如果采用数码管,通常需要多个共阳极或共阴极数码管。优选型号为标准数码管(如5641AS或5641BS),配合七段译码器(如74LS48)或直接由单片机I/O口驱动(通过限流电阻)。为了节省I/O口,可以采用动态扫描方式显示。

  • LCD显示: 如果选择LCD,优选1602 LCD显示屏。它具有两行16列字符显示能力,易于与单片机接口(通常采用4位或8位并行总线模式),并具有背光功能,在不同光照条件下都能清晰显示。

4. 系统软件设计

软件是超声波测距系统的“大脑”,负责协调各硬件模块的工作,实现精确的测距功能。

4.1 初始化

  • 端口初始化: 配置AT89C2051的I/O口方向,例如,P1口作为控制发射器和接收MC14489信号的输入/输出,P3口作为显示输出。

  • 定时器初始化: 配置定时器/计数器工作模式(例如,模式1,16位定时器/计数器),预设初值,并开启定时器中断。定时器用于测量时间间隔。

  • 中断初始化: 开启外部中断(如INT0或INT1),并设置为边沿触发(通常是MC14489输出脉冲的下降沿),用于捕获超声波回波信号。

4.2 超声波发射

  • 单片机通过I/O口向超声波发射器发送一个持续时间为若干个脉冲(如8个40KHz脉冲)的触发信号。例如,通过改变I/O口的高低电平,利用延时函数控制脉冲宽度和周期。

  • 在发射脉冲的同时,启动定时器/计数器开始计时。

4.3 超声波接收与计时

  • 在等待超声波回波期间,单片机进入低功耗模式或循环检测外部中断标志。

  • 当MC14489检测到超声波回波并输出一个有效的数字脉冲时,触发AT89C2051的外部中断。

  • 在中断服务程序中,立即停止定时器/计数器,并读取其计数值。这个计数值就是超声波从发射到接收的总时间。

  • 清除中断标志,为下一次测量做好准备。

4.4 距离计算

  • 根据读取到的定时器计数值,结合晶振频率和定时器分频系数,计算出超声波传播的总时间T(单位:微秒)。

  • 超声波在空气中的传播速度V会受到环境温度、湿度等因素的影响。在常温(25°C)下,近似取V=343m/s。为了提高精度,可以考虑加入温度补偿,利用热敏电阻测量环境温度,并通过查表法或公式对声速进行修正。

  • 距离计算公式:D=(V×T)/2。这里的T是往返时间,所以需要除以2。

  • 将计算出的距离值进行单位转换(例如,从厘米转换为米)并进行浮点数或定点数处理。

4.5 显示更新

  • 将计算得到的距离值格式化为字符串或BCD码。

  • 通过I/O口控制数码管或LCD显示模块,将距离值显示出来。如果是数码管,需要实现动态扫描;如果是LCD,则通过LCD指令集进行数据写入。

4.6 循环测量

  • 系统进入主循环,重复执行发射、接收、计时、计算和显示的过程,实现连续的距离测量。在两次测量之间,可以加入适当的延时,以避免前一次发射的回波影响下一次测量。

5. 潜在优化与改进

5.1 精度提升

  • 温度补偿: 超声波在空气中的传播速度受温度影响较大。通过增加一个温度传感器(如DS18B20或NTC热敏电阻)来测量环境温度,并根据温度对声速进行实时修正,可以显著提高测距精度。声速与温度的关系近似为V=331.3+0.606×T摄氏度 (m/s)。

  • 多次测量取平均: 连续进行多次测量,并对测量结果取平均值,可以有效减小随机误差。

  • 滤波算法: 在软件层面,可以采用中值滤波、滑动平均滤波等算法对测量结果进行处理,滤除异常值和噪声,提高数据的稳定性。

  • 硬件增益控制: 除了MC14489内部的AGC,也可以在LM318级联放大电路中设计可编程增益放大器,根据测距范围手动或自动调整放大倍数,以适应不同距离下的回波信号强度。

5.2 范围与可靠性

  • 发射能量: 增加超声波发射能量,可以扩大测距范围。这可以通过提高发射驱动电压或优化发射电路实现。

  • 方向性: 使用带有指向性的超声波换能器,可以减小旁瓣干扰,提高测量的定向性。

  • 抗干扰能力: 在电路设计中,注意电源滤波、地线布局,以及信号线的屏蔽,以减小电磁干扰。软件上,可以加入看门狗定时器,防止程序跑飞。

  • 信号阈值调整: 优化MC14489的信号检测阈值,在保证检测到微弱回波的同时,尽量避免噪声的误触发。

5.3 功能扩展

  • 通信接口: 增加UART(串口)接口,可以将测距数据发送到PC或其他上位机进行数据分析、存储或远程监控。

  • 报警功能: 当测量距离低于或高于设定阈值时,通过蜂鸣器、LED灯或继电器输出报警信号,实现报警功能。

  • 多传感器: 如果需要对多个方向进行测距,可以扩展为多路超声波收发系统,通过时分复用或多路选择器实现。

  • 图形化显示: 更换为点阵LCD或OLED显示屏,可以显示更丰富的图形信息,如距离曲线、障碍物位置示意图等。

6. 系统调试与测试

在系统设计完成后,需要进行严格的调试和测试,以验证系统的性能和可靠性。

6.1 硬件调试

  • 电源稳定性测试: 检查各芯片的供电电压是否稳定在额定值。

  • 晶振工作状态: 使用示波器观察晶振波形是否正常。

  • 发射电路调试: 观察超声波发射器的驱动波形,确保其频率和幅值符合要求。

  • 接收电路调试:

    • LM318输出: 使用示波器观察LM318输出的放大信号,看其是否能正确放大接收到的微弱信号。

    • MC14489输出: 观察MC14489的数字输出引脚,在接收到超声波回波时,是否能输出正确的脉冲信号。

  • 单片机I/O调试: 检查单片机对各模块的控制信号是否正确。

6.2 软件调试

  • 定时器精度验证: 利用精确时钟源(如函数发生器)模拟回波信号,测试定时器的计时精度。

  • 中断响应时间: 测量从超声波回波信号触发中断到单片机停止计时的时间间隔,确保中断响应足够快。

  • 距离计算正确性: 在已知距离下进行测试,比较计算结果与实际距离的差异。

  • 显示功能测试: 检查显示屏能否正确显示测量结果。

6.3 性能测试

  • 测距范围测试: 在不同距离下测试系统的测量能力,记录最大和最小可测距离。

  • 测距精度测试: 在固定距离下进行多次测量,计算测量结果的平均值和标准差,评估系统的精度和稳定性。

  • 抗干扰测试: 在有噪声源的环境下(如风扇、其他超声波设备)测试系统的抗干扰能力。

  • 功耗测试: 测量系统在工作和待机状态下的功耗,评估其节能特性。

7. 总结

本设计方案详细阐述了基于AT89C2051单片机、LM318高速运算放大器和MC14489超声波接收专用集成电路的超声波测距系统。通过对核心元器件的深入分析,明确了其选择理由、功能和在系统中的作用。详细的硬件和软件设计流程,为构建一个稳定、可靠、高精度的超声波测距系统提供了全面的指导。尽管AT89C2051是较早的单片机型号,但其稳定性和易用性使其在许多入门级和成本敏感的应用中依然具有竞争力。LM318保证了高速信号的有效放大,而MC14489则极大地简化了复杂的超声波接收信号处理,提高了系统的集成度和抗干扰能力。通过合理的软硬件设计和细致的调试优化,本系统能够满足大部分非接触式距离测量的应用需求。未来的改进方向可以集中在提高测距精度、扩大测距范围、增强环境适应性以及加入更智能的控制和通信功能等方面。例如,可以考虑更换为更高性能的单片机(如STM32系列),集成更多外设,以支持更复杂的功能和更高的数据处理需求。同时,结合数字信号处理(DSP)技术,对超声波信号进行更精细的分析,可以进一步提高测距的鲁棒性和准确性。

责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

拍明芯城微信图标

各大手机应用商城搜索“拍明芯城”

下载客户端,随时随地买卖元器件!

拍明芯城公众号
拍明芯城抖音
拍明芯城b站
拍明芯城头条
拍明芯城微博
拍明芯城视频号
拍明
广告
恒捷广告
广告
深亚广告
广告
原厂直供
广告