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.

[参考译文] MSP430FR5989:ESI 模块未检测到水表上的旋转情况

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/876557/msp430fr5989-esi-module-doesnt-detect-rotation-on-water-meter

器件型号:MSP430FR5989

大家好!

我想就 msp430fr5989中的 ESI 模块寻求一些帮助。

当我测试代码时,我使用金属螺丝作为“旋转盘”,主要是可以完成 SET_DAC()函数。 然后、我可以使用该螺钉模仿旋转。

但是、当我将设备连接到水表时、它无法检测到其旋转情况。 我不知道如何解决这个问题。

我尝试了以下操作:

  • 我在 SET_DAC()函数中将分隔系数增加到了10
  • 确定噪声级别后、我尝试增大它
  • 我尝试将线圈移至更靠近圆盘的位置(小于3-4 mm)

我还注意到,如果噪声高于5,SET_DAC()在没有旋转盘的情况下完成。

我认为(只是猜测)旋转盘是由铝或锡制成的。

我已阅读 SLAA639中的第4.6节。

我要附上一些图片和代码。

感谢您的任何帮助。

  e2e.ti.com/.../ESI_5F00_MAIN_5F00_2LC_5F00_2020_5F00_01_5F00_30_5F00_e2e.zip

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

    您好 

    我将对此进行深入研究、并将返回给您。

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

    您好、Balint、

    仪表轮旋转引起的磁失真与您的测试设置引起的磁失真不同。 您需要使用仪表重新校准设置。 为此、仪表需要运行... 其最终安装配置中的车轮需要旋转...

    为此、您需要使用速度控制泵进行水循环;或者、您可以使用阀门来控制流量... 您的设置能够做到这一点。

    Johann

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

    尊敬的 Johann:

    我每次执行测试时都会校准设置。  

    如果我在水表上或用螺钉测试器件、情况就不会有什么不同。 此外,如果 SET_DAC()在没有任何旋转的情况下完成,这也不会产生任何影响。

    如果需要、我可以提供更多设置图片。

    Bálint μ A

    编辑:

    我有一个完全相同的旋转轮、目前已从水表上拆下、我也可以使用它进行校准。

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

    此外、如果校准无法自动完成、则我使用水表等方法完成校准。 之后、我旋转水表、但除了 ESIIFG1、ESISTOP 标志之外、我不会得到任何 ESI 中断。

    我想我可能会得到错误的 DAC 值、但我无法证明它(我不知道如何解决它)、这正是我的理论。

    Bálint μ A

    编辑:

    在 TSM_auto_cal 功能中、我很难满足以下条件: if (mathTemp >12)

    如果我设法通过 TSM_auto_cal、我注意到如果 Noise_level 大于8、我无法完成校准。

    如果我完成校准、上 DAC 值与下 DAC 值之间的差值介于2-6和之间

    这是预期值吗?

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

    此外、我使用的代码是通过 FLOWESI GUI 生成的、使用 SMCLK=2MHz 的代码、由于我使用 SMCLK=8MHz、我更改了几个方面:

    在 ESI_TSM_INITPARAMS_DEFAULT 结构中、我将 ESI_TSM_SMCLK_DIV_1更改为 ESI_TSM_SMCLK_DIV_4

    我在 esiConfig()函数中添加了2个额外的行

    希望这对您有所帮助。

    Bálint μ A

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

    更新:

    我们发现我们的定制板上有一个故障电容器。 它是造成一些问题的原因。

    该器件可以完成校准、检测旋转并正确计算脉冲。 然而、测试表明、如果器件持续计数、大约 一小时后、器件停止计数。 程序不会冻结、如果我将线圈移动得更近一点、它会再次开始计数。  

    我不知道是什么原因导致了这种情况、但我认为这是因为没有重新校准 。 是否有人可以确认/拒绝此操作?

    • 如果噪声级别小于5 (这是一个问题还是这一个问题?),Set_DAC()仍会完成
    • 分隔系数为8
    • DAC1高位和低位寄存器之间的差值介于6 - 10之间

    我们非常感谢您的任何帮助。

    Bálint μ A

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

    是否有人可以向我提供一些信息/帮助?

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

    您好 Bálint、

    如果你要求友谊…… 这将允许以更高的效率关闭此例中的火线;结果将在稍后再次在此处进行设置

    Johann