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.

[参考译文] BOOSTXL-PGA460:对象返回数据输出格式化问题!!!

Guru**** 2610905 points
Other Parts Discussed in Thread: BOOSTXL-PGA460, PGA460, ENERGIA

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/670677/boostxl-pga460-object-return-data-output-formatting-issue

器件型号:BOOSTXL-PGA460
主题中讨论的其他器件: PGA460ENERGIA

可能涉及的人员、

 我有 BOOSTXL-PGA460 / Launchpad、就像我从 GUI 获得的距离测量结果一样。 我已使用 PSoC 4器件将代码移植到我自己的微控制器。 这可能听起来有点愚蠢、但我不知道对象返回数据是如何转换为显示的、例如、在 GUI 中、距离(m):0.403。 我知道 itoa、sprintf 转换等、但想知道如何为我的应用获得更精确的测量输出。 现在、它正在输出整数、例如13、17、19等 我想看到13.456或17.234。 看起来我现在要进行的转换是对数据进行舍入。 我需要更高精度的原因是为了实现液位感应。 如果可能、请向我发送一个代码片段、介绍如何转换 GUI 中显示的输出数据格式。 如果可能、我真正希望看到的最终结果是以英寸为单位。 如果有任何帮助,将不胜感激。

谢谢、

Eric Norton

电子邮件:eric.norton1379@gmail.com

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

    PGA460的等效精度基于1MSPS 的 ADC 采样率(以 mm 分辨率为单位)。
    请参阅 PGA460数据表中的表3、超声波测量结果命令(CMD 5)返回每个对象的四个字节数据:
    1)飞行时间(us) MSB、2)飞行时间(us) LSB、3)物体宽度、4)物体峰值振幅
    因此、要将飞行时间转换为等效距离、请参阅表3脚注2:

    要将飞行时间(以微秒为单位)的物体转换为距离(以米为单位):距离(m)=[343m/s×(MSB<<8 + LSB)÷2×1μs ]。 室温下的声速为343m/s。 根据环境温度调节声速。
    SpeedOfSound (m/s)= 331m/s + 0.6m/s°C *温度(°C)

    如果您更愿意以英寸为单位显示飞行时间与距离的结果:距离(in)=[13503.9in/s×(MSB<<8 + LSB)÷2×1μs ]

    您是否参考了 PGA460 Energia 库和代码示例( www.ti.com/.../slac741 )中的 GetDistance.ino sketch,或者您是否从头开始创建了自己的 PGA460?