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.

[参考译文] INA233:校准和加载问题

Guru**** 2589300 points
Other Parts Discussed in Thread: INA233, MSP430FR4133

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/712856/ina233-calibration-and-load-issue

器件型号:INA233
主题中讨论的其他器件: MSP430FR4133

您好!

问题1:我正在尝试使用数据表中的公式使用 stm24f4来校准 INA233

   R = 0.002f;
   MAX_CURR = 10;
   Current_LSB = max_Curr/powl (2、15);
   CAL = 0.00512f /(CURRENT_LSB * R);
   M = 1/ CURRENT_LSB;
   CAL_LSB = CAL;
   CUR_LSB [2]= CAL_LSB;
   CUR_LSB [1]=CAL_LSB>>8;  

问题是 stm24发送3个字节0xD4、0x20、0xC4来校准 IC、当我检查此部分时、它会发回0x20和0x44。

问题2:即使考虑到校准错误、电流值也会错误返回:小电流会膨胀、大电流会被低估

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

    感谢您关注我们的 INA233。
    您是否验证了 CUR_LSB[2]和 CUR_LSB[1]是否包含预期它们具有的值? 至于您发送的字节、我没有看到任何与从地址相对应的字节。 您是否首先发送了读取或写入位为低电平的从器件地址? 需要注意的另一点是、您应该首先传输最低有效字节、这意味着0xC4应该在0x20之前。
    设置 MFR_CALIBRATION 寄存器后、能否读取该寄存器并确认其中包含正确的值? 如果您遇到一些不合理的情况、您能否为我们提供一些您的发送和接收位模式的示波器截图?

    我怀疑问题2仍然与问题1相关、我们可以再次指出、问题1修复后、您仍然会得到错误的值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好!

    在我更正字节顺序后、您为我的代码编写的所有内容都是 tru、但仍然错误地返回当前值。

    HAL_I2C_Master_transmit (&hi2c2、0x80、CUR_LSB、3、1000);   //为电流测量设置 INA233 MFR_CALIBRATION 寄存器
     HAL_I2C_Master_transmit (&hi2c2、0x82、CUR_LSB、3、1000);   //为电流测量设置 INA233 MFR_CALIBRATION 寄存器
     HAL_I2C_Master_transmit (&hi2c2、0x84、CUR_LSB、3、1000);   //为电流测量设置 INA233 MFR_CALIBRATION 寄存器
     HAL_I2C_Master_transmit (&hi2c2、0x86、CUR_LSB、3、1000);   //为电流测量设置 INA233 MFR_CALIBRATION 寄存器
     HAL_I2C_Master_transmit (&hi2c2、0x88、CUR_LSB、3、1000);   //为电流测量设置 INA233 MFR_CALIBRATION 寄存器
     HAL_I2C_Master_transmit (&hi2c2、0x8A、CUR_LSB、3、1000);   //为电流测量设置 INA233 MFR_CALIBRATION 寄存器
     HAL_I2C_Master_transmit (&hi2c2、0x8C、CUR_LSB、3、1000);   //为电流测量设置 INA233 MFR_CALIBRATION 寄存器
     HAL_I2C_Mem_Read (&hi2c2、0x80、CUR_LSB[0]、1、CUR_LSB_CHECK、 2、100);

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

    因此、这可能是由于传输的地址不正确所致。 我之所以这么说、是因为某些微控制器处理的地址信息与数据信息略有不同。 例如、对于我们的微控制器、我们将有一条与地址相关的代码行、另一条与读取和写入位是高电平还是低电平相关的代码行。 下面我将举例说明。

    假设 A1= GND、A2=GND、从器件地址= 1000000。

    要使用 MSP430FR4133写入该从器件地址、我需要使用以下两行:

    UCB0I2CSA = 0x0040; //从器件地址。 虽然包含 R/W 位的0x80是正确的、但微控制器会向左旋转1以包括在内
    //R/W 位在单独的控制寄存器中定义
    UCB0CTLW0 |= UCTR;//设置控制寄存器中确保写入发生的位。

    因此、我将检查这是否是您的问题。 您的位流的示波器快照对于确定这是否是您的问题非常有帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Aleksandr、您好!

    是否有调试更新? 您是否能够排除我在上面建议的原因?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    抱歉、您未回答。 我发现其他传感器工作正常。 只有第一个问题仍然是发送关于电流的错误信息并与之关联、尽管它会发送有关 Vout 的正确信息。

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

    Aleksandr、您好!

    因此、如果我理解正确、您有多个板载 INA233、并且只有1个不能正常工作。  我很高兴知道你让其他人工作。  听起来好像第一个传感器已损坏。  我建议您替换该示波器、并在启动或加电时使用示波器探头来监控您的输入。  这样、我们就可以知道是否存在任何可能导致未来其他器件故障的瞬变。

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

    感谢您的帮助。