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.

[参考译文] MSP430FR6043:值不准确

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1228494/msp430fr6043-the-values-are-not-accurate

器件型号:MSP430FR6043

大家好、

1) 1)在静止的水中放置一块管道、使用 ADC Capture 捕获完整波形、波形中的绝对飞行时间为58.12us。 传感器之间的距离为72mm。 房间温度为20°C、水位于室内、确切温度尚不清楚。 如何读取数据?

由此可知、计算过程为:V = s / t = 0.072/0.00005812 = 1238m/s、其中水中的超声波速度为1450m/s、差异有点大。 如何  处理?  

2) 2) 在例程 MSP430FR6043EVM_USS_WATE_Demo 中、iq44DeltaTOF、iq40TotalTOF_UPS、iq40TotalTOF_DNS、iq16VolumeFlowRate、iq16Temperature in algResFixed 如何 与 USS GUI 软件的"Waveforms"选项卡中的 Delta ToF、绝对 ToF、Volume Flow Rate"相对应?  

客户了解 iq44DeltaTOF 对应于 Δ ToF、iq40TotalTOF_UPS、iq40TotalTOF_DNS 对应于绝对 ToF、iq16VolumeFlowRate 对应于体积流速、假设如下所示:

a.为什么 iq44DeltaTOF 中的-129464对应于 Delta ToF 中的32点?

b.为什么 iq40TotalTOF_UPS 中的77026092对应58.12的绝对 ToF、而 iq40TotalTOF_DNS 中的77027416也对应58.12的绝对 ToF?

c.如何理解 iq16Temperature 的47902、它表示多少摄氏度、以及如何计算?  

如果上述理解不正确、您能否在程序中说明它们在 USS GUI 中的"Delta ToF"、"Absolute ToF"、"Volume Flow Rate"值在哪里? 以及如何读取温度值?  

您能帮助检查这个问题吗?  谢谢。

此致、

切里

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

    您好、Cherry:

     在 iq44DeltaTOF 中为-129464:-129464/2^44 =-7.35ns。  77026092 in iq40TotalTOF_UPS:77026092/2^40 = 70.05us, 77027416 in iq40TotalTOF_DNS: 77027416/2 ^40 = 70.05us  ,  

    47902 of iq16温度:47902/2^16 = 0.73摄氏度。

    您可以调用 USS_getResultsInFloat()函数以浮点格式获取这些值。  

    此致、

    现金豪

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

    现金、您好!

    感谢您的支持。

    如果计算出的速度与超声波在水中的传播速度不匹配、该怎么办? 校准是否也无法更改测量的传播时间?

    如何理解0.73摄氏度? 客户的水放在20摄氏度的房间内、不可能接近0摄氏度。 有时此处的温度测量值为0.0、为什么呢?  他们需要做什么才能使其测量温度?  

    谢谢。此致、

    切里

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

    您好、Cherry:

    [报价 userid="496057" url="~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1228494/msp430fr6043-the-values-are-not-accurate/4643409 #4643409"]计算出的速度与超声波在水中的传播速度不匹配该怎么办? 校准是否也无法更改测量的传播时间?

    absTOF 可能不是第一个波瓣接收时间的飞行时间。 可能是第二波 瓣、第三波瓣和其他波瓣的飞行时间、具体取决于配置。 您可以参考 b23.tv/ZBMXaOo 上的算法培训视频、

    [报价 userid="496057" url="~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1228494/msp430fr6043-the-values-are-not-accurate/4643409 #4643409"]如何理解0.73摄氏度? 客户的水放在20摄氏度的房间内、不可能接近0摄氏度。 有时此处的温度测量值为0.0、为什么呢?  他们需要做什么才能使其测量温度?  [/报价]

    要求客户更改 USS_temperatureLUT.h 中 USS_TEMPERATURE_LUT_SENSOR_CONST 的值 。 并 在 USS_userConfig.h 中启用 USS_ALG_ENABLE_ASSEMIST_TEMPERATURE

    此致、

    现金豪

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

    现金、您好!

    absTOF 可能不是第一波瓣接收时间的飞行时间。 可能是第二波 瓣、第三波瓣和其他波瓣的飞行时间、具体取决于配置。 您可以参考 b23.tv/ZBMXaOo
    上的算法培训视频

    客户的阈值应足够小、以便测量第一个波形。

    如下图所示、此测量值的最大值为847、其中11%为847 x 11%= 93.17、这最接近第一个波形(88)。 在清水中、绝对飞行时间为57.21us、转速为传感器之间的距离除以绝对飞行时间、v = s / t = 0.062 / 0.00005721 = 1084m/s。 但是、仍然无法满足1450 m/s 的理论值、环境温度为20摄氏度。  

    请客户更改 USS_temperatureLUT.h 中 USS_TEMPERATURE_LUT_SENSOR_CONST 的值 。 并 在 USS_userconfig.h
    中启用 USS_ALG_ENABLE_ASSESTIMEASE_TEMPERATURE

    启用后读取的温度为215摄氏度、USS_TEMPERATURE_LUT_TRANSMIT_CONST 使用默认值0.04716。 改变它需要做些什么?

    谢谢。此致、

    切里

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

    您好、Cherry:

    客户如何测量传感器之间的距离。 在第一个论坛中、它们使用72mm 作为换能器之间的距离进行计算。 但在最新的一个示例中、它们使用62mm 进行计算。  

    此外、请 在 USS_userConfig.h 中检查此参数 USS_ALG_ADC_additional_cap_DLY。 如果它不为0、则将其更改为0。

    USS_TEMPERATURE_LUT_SENSOR_CONST 应是传感器之间距离的一半。

    此致、

    现金豪

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

    现金、您好!

    换能器的距离实际上是62mm。

    客户将 USS_ALG_ADC_EXAMPLARED_CAP_DLY 更改为0、将 USS_TEMPERATURE_LUT_TRANSMIT_CONST 更改为距离的一半、因此温度为-72。 这也不正确吗? 如何读取正确的值?  

    谢谢。此致、

    切里

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

    您好、Cherry:

    温度读数为-72时、absTOF 结果是什么?

    此致、

    现金豪

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

    现金、您好!

    ℃、我不明白温度值为何为-72、但室温约为20 μ V、我已将  USS_ALG_ADC_additional_cap_DLY 更改为0、并将 USS_TEMPERATURE_LUT_SENSOR_CONST 更  改为0.31。  您能告诉我为了正确调节温度还需要做什么吗?

    谢谢。此致、

    切里

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

    您好、Cherry:

    我不确定它们为什么得到-72的温度值。 如果 absTOF 结果 良好、则他们应获得正确的速度数据。 然后、它将搜索查找表来查找温度数据。 这就是我问此时 absTOF 结果是什么的原因。  

    他们还可以自行检查出现错误温度的原因。 温度计算代码对客户开放。 他们可以在 ussSWLib->source->ussSwLibTmeperth.c 中找到它。

    我建议您在第80行添加一个断点。 它们可以调试 USS_calculateVelocity 函数的输入和输出。 并将知道误差来自哪里。  

    此致、

    现金豪

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

    现金、您好!

    当温度为-72时、absTOF 结果为57.10us、如图2所示。 我不知道57.10us 的数据是否正确、因为包络交叉阈值为11%。

    理论上、采用第一个波瓣。  由于使用了干净的水、因此根据57.10计算得出的传播速度为0.062 / 0.00005710 = 1085 m/s、不是1450m/s。  

    我 在第80行添加了一个断点、结果如图3中所示、 我不知道这是否正确、我不知道以什么标准来检查它。

    图1

    图2

    图3

    谢谢。此致、

    切里

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

    您好!

    让客户将其 USS_user_config.h 文件发送到此处。  

    我 在第80行添加了一个断点,结果显示在图3中, 我不知道这是否正确,我不知道检查的标准是什么。

    检查断点处的 IQ16Velocity 值。 根据客户的配置、您应该获得1085m/s 的速度。

    此致、

    现金豪

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

    现金、您好!

    让客户在此处发送他们的 USS_user_config.h 文件。  [/报价]

    /cfs-file/__key/communityserver-discussions-components-files/150/USS_5F00_userConfig.h

    根据客户的配置,您应获得1085m/s 的速度。

    事实上、客户不明白为什么计算的1085m/s 与理论值1450m/s 有很大差异。

    谢谢。此致、

    切里

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

    您好、Cherry:

    我检查他们的配置文件。 看来你对我很好。" absTOF 结果应正确。 因此、根据公式 V =距离/absTOF。 我会仔细检查传感器之间的距离数据。 客户是否可以与我们分享他们对62mm 距离计算方法的看法?

    此致、

    现金豪

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

    现金、您好!

    他们在网站 https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-22815803607.11.33fd3856ibr0f3&id=673508863286上读取了62毫米并 用尺子测量了距离62毫米。

    谢谢。此致、

    切里

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

    您好、Cherry:

    62mm 是反射器的距离。 换能器和反射器之间的距离是多少?

    此致、

    现金豪

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

    现金、您好!

    感谢您的示意图。

    它们实际上不知道该距离。  文档 TIDM-02005DesignGuide 指出、该距离足够小、可以忽略不计。

    谢谢。此致、

    切里

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

    您好、Cherry:

    为了便于公式推导、我们 在文档中忽略了该距离。 但是、在实际设计中、它可以忽略不计。

    此致、

    现金豪

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

    现金、您好!

    如果为10mm、则计算出的速度约为1450m/s。  但如何获得合适的温度呢?  它是否与 USS_computeTemperature 函数相关?  我看到有一个 USS_calculateVelocity 函数用于测量 其中的速度。 温度是否与速度有关? 我不明白为什么使用速度作为 在表中查找它的第4个参数。

    谢谢。此致、

    切里

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

    您好、Cherry:  

    可以。  温度与速度有关。  

    请参阅 https://www.ti.com/lit/an/slaa959/slaa959.pdf 中的此图

    此致、

    现金豪

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

    现金、您好!

    根据 pic1、C 可由公式3计算:C = L/2 x (1/T12 + 1/T21)= 0.62 / 2 x (1 /(5.71 x 10^-5)+ 1 /(5.71 x 10^-5))= 1088m/s。  在 图2中、没有相应的值10858、因此它显示测量值为-72。 如果这是原因、如何让它测量正常温度

    图1

    图2

    谢谢。此致、

    切里

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

    您好!

    请使用以下公式进行计算。  

     

    在零流量时、v = 0。 因此、C =(2L0+L1)/T1或  C =(2L0+L1)/T2。 要执行平均法、C = 0.5*((2L0+L1)/t1+(2L0+L1)/t2)。

    在实际设计中、L0不可忽略。

    此致、

    现金豪

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

    现金、您好!

    当 L0 = 10mm 时、C =  0.5*((2L0+L1)/T1+(2L0+L1)/T2)= 0.5 x ((2x0.01+0.062)/(5.71 x 10^-5 )+(2x0.01+0.062)/(5.71 x 10^-5))= 1436m/s

    图1℃、1436m/s 对应于约8 ̊ C 的温度、 但为什么结构中的温度显示为-72?

    1

    2

    谢谢。此致、

    切里

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

    您好!

    您能否检查客户在调用 USS_runAlgorithmsFixedPoint 后是否调用 USS_computeTemperature 函数?

    此致、

    现金豪

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

    现金、您好!

    是的、 USS_computeTemperature   在调用 USS_runAlgorithmsFixedPoint 后调用:

    谢谢。此致、

    切里

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

    您好!

    我是否可以知道、对于最新回复、是否有任何反馈?

    谢谢。此致、

    切里

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

    您好、Cherry:

    抱歉、我忘记回复该问题。  

    那么、它们在哪里添加断点来观察温度数据呢? 他们能否在调用  USS_computeTemperature 函数后立即添加断点。

    此致、

    现金豪

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

    现金、您好!

    谢谢你。

    他们能否在调用  USS_computeTemperature 函数后立即添加断点。

    是的、它们在  USS_computeTemperature 后添加断点:

    谢谢。此致、

    切里

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

    您好、Cherry:

    您能让客户 在此发送 USS_temperatureLUT.h 吗?

    此致、

    现金豪

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

    现金、您好!

    请在此处查看:

    /cfs-file/__key/communityserver-discussions-components-files/150/USS_5F00_temperatureLUT.h

    谢谢。此致、

    切里

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

    您好、Cherry:

    客户应将 USS_TEMPERATURE_LUT_SENSOR_CONST 更改为0.041、如本主题中所述。 (2×L0 + L)/2 = 0.041

    此致、

    现金豪

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

    现金、您好!

    客户在 USS_computeTemperature 之后放置断点、USS_temperature_LUT_transfer_const 更改为0.41、温度显示-4。 但客户方面的空调温度是26摄氏度。  

    他们认为温度和距离无关、因为之前是0.04716、而温度仍然不正确。

    谢谢。此致、

    切里

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

    您好、Cherry:

    温度与该距离有关。 如果它们不相关、则更改距离数据不会影响温度结果。  

    根据客户提供的屏幕截图、距离设置为0.041。 而且 absTOF_UPS 和 absTOF_DNS 的平均值约为59.29us。  

    因此速度应为距离*2/平均 absTOF = 2*0.041/59.29us = 1383m/s。 根据温度和速度数据、 我可以看到-4.75摄氏度的温度。

    客户可能需要调整距离数据以获得正确的温度结果。 0.041就 不那么准确了。

    此致、

    现金豪