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:MSP430FR5989:如何提高 LC 传感器(ESI)的灵敏度。

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1276032/msp430fr5989-msp430fr5989-how-to-increase-sensitivity-of-lc-sensor-esi

器件型号:MSP430FR5989
主题中讨论的其他器件:EVM430-FR6989TIDM-LC-WATERMTR

大家好!

我正在使用 MSP430进行 LC 传感器旋转检测、但在检测金属圆盘时灵敏度非常低、无金属圆盘和金属圆盘之间的差值电压为160mV。

i 使用 L =235uH (GT1128-0、GEMPHIL)且 C=470pF。

如何提高 LC 传感器的灵敏度?

谢谢。

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

    您好,

    您是否见过 https://www.ti.com/lit/slaa639?

    您是否在两信号差值峰值处测量该160mV?

    我对电磁阻尼的理解相当生锈、但金属圆盘中的感应电流是对振荡信号的阻尼效应的实际作用。 我预计使金属盘和 LC 传感器更接近会增加阻尼幅度。 对金属盘使用较高电导材料也会有所帮助。  

    此致、
    布兰登·费舍尔

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

    尊敬的 Brandon:

    • 我已经宣读了 slaa639号文件。
    • 您是否在两信号差值峰值处测量该160mV? =>是。 您是否能够共享两个 EVM430-FR6989传感器之间的基准峰值。
    • 我无法将金属盘和 LC 传感器靠近(因为它受沙漏限制)。 我无法更改金属盘的兆位。

    谢谢

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

    您好,

    您是否在两个信号之间峰值的差值处测量出160mV? =>是。 您是否能够共享 EVM430-FR6989的两个传感器之间的基准峰值。

    我目前正在检查我们是否手头有这其中一项、否则可能必须订购才能获得测量结果。  

    此致、
    布兰登·费舍尔

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

    尊敬的 Brandon:

    我正在询问  EVM430-FR6989表格供应商。 我在未使用任何评估板的情况下启动了我的项目。 我想我错过了更多的信息。

    我遇到了一个大问题、当水表运行很长时间、有时计数器会错过 几十到几百个脉冲。

    谢谢。

    LOC,

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

    您好,  

    我已经请求发送一个板给我,但它可能是几天.  

    我遇到了一个大问题、当水表运行很长时间、有时计数器会错过 几十到几百个脉冲。

    [/报价]

    您是否在代码中进入了任何低功耗模式? 这是自定义软件吗?  

    听起来可能是溢出问题。  

    此致、
    布兰登·费舍尔

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

    尊敬的 Brandon:

    好的、我会将原理图和 PCB 布局发送给您。

    您是否在代码中进入了任何低功耗模式?  =>是

    这是自定义软件吗? =>是的、这是客户软件。

    请检查链接(PCB 布局、原理图、金属圆盘、PCB)。

    链接: https://drive.google.com/file/d/1cRKrXxMYnjKaEvgf725NB359FCmSK9Ks/view?usp=sharing

    谢谢。

    LOC,

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

    尊敬的 Brandon:

     金属盘的材料看起来像 不锈钢(与磁体的弱相互作用)。

    谢谢。

    LOC,

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

    尊敬的 Brandon:

    听起来可能是溢出问题。  

    => I RESET 计数器每4次计数。

    ////////////////////////////////////////// 代码

    Rotation_Cnt = ESI_getCounter1 ();

    if ((Rotation_Cnt > 3)||(Rotation_Cnt <-3))
    {
      ESI_PSM_resetCounter (ESICNT2RST|ESICNT1RST|ESICNT0RST);

      Rotation_Cnt += Surplus_Rotation_Cnt;
      Integer_Rotation_Cnt = Rotation_Cnt / 4;
      Surplus_Rotation_Cnt = Rotation_Cnt% 4;
      //
      FlowVolume += Integer_Rotation_Cnt;

    谢谢

    LOC,

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

    感谢您共享文件 Loc、我将查看它们。  

    => I RESET 计数器每4次计数。

    ////////////////////////////////////////// 代码

    Rotation_Cnt = ESI_getCounter1 ();

    if ((Rotation_Cnt > 3)||(Rotation_Cnt <-3))
    {
      ESI_PSM_resetCounter (ESICNT2RST|ESICNT1RST|ESICNT0RST);

      Rotation_Cnt += Surplus_Rotation_Cnt;
      Integer_Rotation_Cnt = Rotation_Cnt / 4;
      Surplus_Rotation_Cnt = Rotation_Cnt% 4;
      //
      FlowVolume += Integer_Rotation_Cnt;

    [/报价]

    这似乎应该在保持 Rotation_Cnt 受限、 Integer_Rotation_Cnt 的大小、多余 Rotation_Cnt 和 FlowVolume 方面发挥作用?  

    此致、
    布兰登·费舍尔

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

    尊敬的 Brandon:

     Integer_Rotation_Cnt、多余 Rotation_Cnt 和 FlowVolume 的大小是多少?  

    =>

    短接 Rotation_Cnt
    长 Integer_Rotation_Cnt
    长 Surplus_Rotation_Cnt  

    长流量    

    此致、

    谢谢。

    LOC,

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

    尊敬的 Brandon:

    我可以检查一下是否有任何更新吗?

    谢谢。

    此致、

    欧内斯特.

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

    Ernest、Loc、

    您是否在程序中的任意时刻运行了一个重校准例程? 如果是、多长时间? 这些故障需要多长时间才能开始发生?  

    到目前为止、根据用户分享的内容、我看不出发生溢出或软件条件导致丢失周期的明显原因、但这些系统确实需要由于漂移而进行定期重新校准。  

    此致、
    布兰登·费舍尔

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

    尊敬的 Brandon:

    您是否在程序中的任意时刻运行了一个重校准例程? 如果是、多长时间?

    =>每10分钟设置一次 Recalib_ESI 函数。

    这些故障需要多长时间才能开始发生?  

    => 是随机的。  几天或几小时。

    到目前为止、根据用户分享的内容、我看不出发生溢出或软件条件导致丢失周期的明显原因、但这些系统确实需要由于漂移而进行定期重新校准。  

    =>我不认为原因是溢出。 我检查了水表的体积、当它为 false (计数器值不增加)时、没有任何中断事件。 计数器将正常工作后,它丢失了几十到几百升。

    =>您认为原因是 两个信号之间差值的峰值很小吗?

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

    您好,

    您的采样率是多少? 如果最大旋转次数超过了由采样率设置的上限、则可能会错过一些计数。 您的流速在此设置中是变化还是恒定?  

    =>我不认为原因是溢出。 我检查了水表的体积、当它为 false (计数器值不增加)时、没有任何中断事件。 计数器将正常工作后,它丢失了几十到几百升。

    [/报价]

    只是为了澄清一下、您是说您在某个故障事件期间能够观察计数值和中断吗? 这会向我指示信号电平或配置可能有问题。  

    =>您认为原因是 两个信号之间差值的峰值很小吗?

    [/报价]

    这是可能的、但160mV 足够了、我 希望如果正确设置了 DAC 电平、它就能够进行区分。 不过、在系统运行时、峰峰值差异可能会有所不同。  

    此致、
    布兰登·费舍尔

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

    尊敬的 Brandon:

    您的采样率是多少? 如果最大旋转次数超过了由采样率设置的上限、则可能会错过一些计数。 您的流速在此设置中是变化还是恒定?  

    =>同样的速率是72、它是恒定的。  最大旋转次数为2000个 周期/小时(2 m3/h)=> 0.55个周期/秒(0.55升/秒 )

    只是为了澄清一下、您是说您在某个故障事件期间能够观察计数值和中断吗? 这会向我指示信号电平或配置可能有问题。  

    =>是的、我可以通过 NFC 读取器读取计数器的值和中断状态。 当我检查计数器的值不改变、但是水表正在运行(金属盘正在运行)时、我可以检查 NFC 读取器没有发生任何中断事件。 我会将我的配置发送给您(请检查链接: esi_configuration.c)。

    不过、在系统运行时、峰峰值差异可能会有所不同。  

    =>如果你说"你的峰间差异可能会变化,而系统运行",为什么计数器可以再次工作,因为 它丢失了几十到几百升。

    谢谢。

    此致、

    LOC,

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

    尊敬的 Brandon:

    这有什么更新吗? 非常感谢。

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

    您好,

    感谢您分享代码。

    您未使用 ESI_TSM_copyTable 函数或 ESI_TSM/PSM_copyTable 函数是否有原因? 您在使用这些时是否遇到问题?

    您是否使用 FlowESI GUI 生成 TSM/PSM 表?  

     Write_Calib_Value 函数的内容是什么?
    此致、
    布兰登·费舍尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Brandon:

    您未使用 ESI_TSM_copyTable 函数或 ESI_TSM/PSM_copyTable 函数是否有原因? 您在使用这些时是否遇到问题?

    =>我使用了  TIDM-LC-WATERMTR V1中的 PSMtable 和 TSMtable、  由于要直接向寄存器进行写入、因此我没有使用 ESI_TSM_copyTable

    您是否使用 FlowESI GUI 生成 TSM/PSM 表?  

    =>是、但我不使用  FLowESI GUI Generate 的 TSM_TABLE。 您认为我需要尝试使用  FLowESI GUI 中的 TSM_table 吗?

    //TMStable FLowESI Generate (可堆叠 FLowESI 生成)

    uint16_t gTSMTable[]={
    0x0400、// DAC=OFF、CA=OFF、1xACLK
    0x202C + CHANNEL_0_SELECTION、// DAC=OFF、CA=OFF、5xESICLK、EXCITATION
    0x0404 + CHANNEL_0_SELECTION、// DAC=OFF、CA=OFF、1xACLK
    0x0024 + CHANNEL_0_SELECTION、// DAC=OFF、CA=OFF、1xESIFCLK、可调延迟
    0x0024 + CHANNEL_0_SELECTION、// DAC=OFF、CA=OFF、1xESIFCLK、可调延迟
    0x0024 + CHANNEL_0_SELECTION、// DAC=OFF、CA=OFF、1xESIFCLK、可调延迟
    0x0024 + CHANNEL_0_SELECTION、// DAC=OFF、CA=OFF、1xESIFCLK、可调延迟
    0x0024 + CHANNEL_0_SELECTION、// DAC=OFF、CA=OFF、1xESIFCLK、可调延迟
    0xF134 + CHANNEL_0_SELECTION、// DAC=ON、CA=ON、31xESIFCLK、
    0x5974 + CHANNEL_0_SELECTION、// DAC=ON、CA=ON、启用输出锁存器、12xESICLK
    0X0401 + CHANNEL_0_SELECTION、// DAC=OFF、CA=OFF、1xACLCK、内部阻尼
    0x202C + CHANNEL_1_SELECTION、// DAC=OFF、CA=OFF、5xESICLK、EXCITATION
    0x0404 + CHANNEL_1_SELECTION、// DAC=OFF、CA=OFF、1xACLK
    0x0024 + CHANNEL_1_SELECTION、// DAC=OFF、CA=OFF、1xESIFCLK、可调延迟
    0x0024 + CHANNEL_1_SELECTION、// DAC=OFF、CA=OFF、1xESIFCLK、可调延迟
    0x0024 + CHANNEL_1_SELECTION、// DAC=OFF、CA=OFF、1xESIFCLK、可调延迟
    0x0024 + CHANNEL_1_SELECTION、// DAC=OFF、CA=OFF、1xESIFCLK、可调延迟
    0x0024 + CHANNEL_1_SELECTION、// DAC=OFF、CA=OFF、1xESIFCLK、可调延迟
    0xF134 + CHANNEL_1_SELECTION、// DAC=ON、CA=ON、31xESIFCLK、
    0x5974 + CHANNEL_1_SELECTION、// DAC=ON、CA=ON、启用输出锁存器、12xESICLK
    0x0200、//停止
    };

    ////////////////////////////////////  TIDM-LC-WATERMTR V1可设置 TMStable
    //ESI_TSM_copyTable (gTSMTable、sizeof (gTSMTable));
    ESITSM0 = 0X0400;// DAC=OFF、CA=OFF、1xACLK、用于 ACLK 同步
    ESITSM1 = 0x202C;// DAC=OFF、CA=OFF、5xESICLK、激励 CH.0
    ESITSM2 = 0x0404;// DAC=OFF、CA=OFF、1xACLK CH.0
    ESITSM3 = 0x0024;// DAC=OFF,CA=OFF,1xESIFCLK,延迟可调通道0
    ESITSM4 = 0x0024;// DAC=OFF,CA=OFF,1xESIFCLK,延迟可调通道0
    ESITSM5 = 0x0024;// DAC=OFF,CA=OFF,1xESIFCLK,延迟可调通道0
    ESITSM6 = 0x0024;// DAC=OFF,CA=OFF,1xESIFCLK,延迟可调通道0
    ESITSM7 = 0x0024;// DAC=OFF,CA=OFF,1xESIFCLK,延迟可调通道0
    ESITSM8 = 0xF134;// DAC=ON、CA=ON、31xESIFCLK、CH.0
    ESITSM9 = 0x5974;// DAC=on、CA=on、输出锁存器启用、12xESICLK CH.0
    ESITSM10 = 0X0401;// DAC=OFF、CA=OFF、1xACLCK、内部阻尼 CH.0
    ESITSM11 = 0x20AD;// DAC=OFF、CA=OFF、5xESICLK、励磁 CH.1
    ESITSM12 = 0x0485;// DAC=OFF、CA=OFF、1xACLK CH.1
    ESITSM13 = 0x00A5;// DAC=OFF,CA=OFF,1xESIFCLK,延迟可调通道1
    ESITSM14 = 0x00A5;// DAC=OFF,CA=OFF,1xESIFCLK,延迟可调通道1
    ESITSM15 = 0x00A5;// DAC=OFF,CA=OFF,1xESIFCLK,延迟可调通道1
    ESITSM16 = 0x00A5;// DAC=OFF,CA=OFF,1xESIFCLK,延迟可调通道1
    ESITSM17 = 0x00A5;// DAC=OFF,CA=OFF,1xESIFCLK,延迟可调通道1
    ESITSM18 = 0xF1B5;// DAC=ON、CA=ON、31xESIFCLK CH.1
    ESITSM19 = 0x59F5;// DAC=ON、CA=ON、输出锁存器启用、12xESICLK CH.1
    ESITSM20 = 0x0200;//停止

     Write_Calib_Value  函数的内容是什么?
    =>此函数用于将校准值写入 EEPROM。

    谢谢。

    此致、

    LOC,

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

    您好,

    =>是、但我不使用  FLowESI GUI Generate 的 TSM_TABLE。 您认为我需要尝试使用  FLowESI GUI 中的 TSM_table 吗?

    [/报价]

    是的、如果您还没有、我会尝试一下。

    出于好奇心、这个设置是否与这个问题有关、或者您是否在多个电路板上看到过这个设置?

    是否可以将磁盘移到更近的位置进行临时测试? 似乎我们已经检查了这里的大多数其他潜在项目。 我知道您的外壳使用了一段固定的距离、但如果您能够找出一种解决方法、它会告诉您振幅是否确实是问题所在。  

    此致、
    布兰登·费舍尔

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

    尊敬的 Brandon:

    我正在尝试使用  FLowESI GUI Generate 的 TSM_table。

    这是一种解决此问题的单一设置还是您是否在多个板上看到过此问题?

    =>我已经测试了100多个器件。

    我将尝试将磁盘移到更近的位置进行临时测试(我将查看如何进行测试)。

    谢谢。

    此致、

    LOC,