This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/BOOSTXL-PGA460:使用 PGA-460计算物体与传感器之间的距离

Guru**** 2551110 points
Other Parts Discussed in Thread: MSP430F5242, PGA460, PGA460-Q1

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/866569/ccs-boostxl-pga460-using-pga-460-to-calculate-the-distance-from-an-object-to-the-sensor

器件型号:PGA460
主题中讨论的其他器件:MSP430F5242

工具/软件:Code Composer Studio

您好!

我需要计算物体与超声波传感器之间的距离。 我有一个 PCB 和组件来实现这一目的、但我对使用正确的命令有疑问。 我使用 USART 接口。

我使用 MSP430F5242与 PGA 460进行通信。

首先,我尝试使用“传感器回波数据转储”命令(pga460q1.pdf 第38页中的命令7)执行此操作。 对于每次测量、我获得了128个数据字节。 我认为该解决方案用于数据分析、而不是最终测量系统(FMS)。 要获得使用命令7自动计算距离的算法,我们需要做一项艰苦的工作,特别是要区分“正常区域”和“盲区”(物体距离传感器近25厘米的区域)。

对于 FMS,我们可以使用“超声波测量结果”(pga460q1.pdf 第38页中的命令5)。 我怀疑如何使用此功能来检测物体是否在“盲区”中。 如果对象位于“正常区域”,则可以正确使用命令5,例如,在开始时“阈值级别”较高,在盲区之后接近56。 但是、如果物体的距离小于25cm、则执行命令5获得的结果是错误的(例如–如果距离等于15cm、则结果为443cm)。

为了检测盲区、我尝试使用命令8–检测衰减时间、但我对答案有疑问。 例如、如果我考虑 SAT_TH = 14 (0xE)并在附近没有物体的情况下进行测量、我将获得十进制的衰减时间值–79。 将 µs µs 转换为时间(以 μ s 为单位)、我们得到79x16 = 1264 μ s。 在附件中、我发送一个 Excel 文件、其中包含前99个值的命令7、以及根据所选配置的数据距离和时间。

我的疑问是:

  • 是否可以使用命令5和命令8计算物体到传感器的距离?
  • 如果是、如何访问 possiblee2e.ti.com/.../Post17_2D00_12_2D00_2019.xlsx
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jose、

    PGA460具有内置的飞行时间计算器、因此您无需提取回波数据转储以进行后处理。 当 DATADUMP_EN=0时、超声波测量结果(UMR)在每个突发/监听周期后更新。 要提取 UMR、请使用 USART 命令5。 这是从 PGA460读取飞行时间数据的最基本方法。

    关于您的疑问:

    要将命令5的飞行时间结果转换为距离、请使用以下公式: 距离(m)=[v_sound *(MSB<8 + LSB)/ 2 * 1us]

    数据表的表3" UART 接口命令列表"的脚注2详细介绍了该公式。 如果您的物体太近、由于换能器表面和目标物体之间多次回波往返、可能会在两倍距离处获得虚假读数。 但是、命令8 (系统诊断)可用于监控近场检测(NFD)或盲区时间、以首先检查是否有非常靠近传感器的东西。 请参阅 数据表的第7.3.5节"系统诊断"以查看有关"衰减周期时间捕获"的说明:

    在记录间隔的衰减阶段捕获衰减周期时间执行传感器衰减时间测量、以验证传感器是否正常运行。 该诊断与传感器频率测量相结合、通常用于超声波系统、以检测超声波传感器的外部阻塞。 衰减周期时间在数字数据路径的输出端测量。 测量在突发阶段完成时同时开始、只要回波电平高于由 SAT_TH 参数在 EEPROM 中定义的饱和阈值电平、就会测量衰减周期。 ìs 提供的结果可通过使用任何 PGA460-Q1接口进行提取、而该值以16 μ s 时间增量表示。 如果测得的衰减时间大于4ms、则提取的值将为0xFF。

    简而言之、您可以将 SAT_TH 的值设置为0xF 以最大限度地提高饱和诊断阈值水平、发送突发/监听命令、然后通过命令8读回系统诊断结果。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Akeem、您好!  

    我有一个问题要问 、PGA460的 ping 每秒最大值是多少。

    谢谢。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    器件型号:PGA460

    工具/软件:TI C/C++编译器

    您好!

    如何设置 1m 和1.5m 之间距离的最大突发频率?

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Mustafa、

    每秒的最大 Ping 速率取决于您在设备上选择的预设记录长度时间。 每个突发/监听周期的选项范围为4.096ms 至65.536ms。 您可以根据需要检测的最大距离选择记录长度时间、最大距离将分别在70cm 到1100cm 之间。 您可以按以下公式计算所需的预设记录长度:

    RecLen [s]= TimeOfLight [s]=(MaxDistance [m]* 2)/SpeedOfSound [m/s]

    其中

    • 用户提供了以米为单位的 maxDistance
    • 在室温下、SpeedOfSound 的单位为米/秒、空气中为343m/s

    示例:如果我的最大范围为1.5m、则:RecLen =(1.5m * 2)/343m/s = 8.746.ms

    在这种情况下、PGA460所选的预设记录长度应四舍五入为12.288ms、以实现2.107m 的最大可检测距离。

    回到有关 ping /秒速率的问题、您必须考虑使用与 PGA460 (即 UART 或 SPI)通信的接口。 UART 在最大11.5kBaud 速率下要慢得多、而 SPI 支持高达8MHz 的时钟接口。 此外、每次迭代从器件中提取哪些信息:超声波测量结果、回波数据转储、系统诊断、温度等?

    我始终建议您在每次突发/监听迭代之间留出至少20ms 的裕度(足以应对标称通信延迟并避免重影回波)、因此您可以假设 ping 间隔为大约35mS、用于1.5m 物体检测、即大约每秒28次 ping。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    非常感谢