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.

[参考译文] INA220:处理电流寄存器值的帮助

Guru**** 2928980 points

Other Parts Discussed in Thread: INA220

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1370426/ina220-help-with-processing-current-register-values

器件型号:INA220

工具与软件:

我在 DAC 的输出端使用 INA220来测量电压和电流。 DAC 的输出范围为-7V 至+7V。 硬件规格如下:

Rshunt = 6200 Ω
Vshunt 最大值= 320毫伏
I 最大值= 51.612uA

我已经计算了以下值:
I_LSB = 1.575nA
校准寄存器值= 4194

INA220配置如下:
模式:         7 (分流和总线、持续)
南部非洲发展共同体、BADC:   3 (12位、532 μs)
PGA:         3 (±320mV)
BRNG:        0 (16V FSR)


当我设置输出时 电压为+3V 运行、灌电流 A 恒定35uA 测量电流时、INA220寄存器的内容如下:

使用的代码如下所示:

I2C_Status = INA220_ReadRegister (&INA_Ch9INA220_REG_CALIB、&CalibReg)

I2C_Status = INA220_ReadRegister (&INA_Ch9INA220_REG_VSHUNT、&vShuntReg)

I2C_Status = INA220_ReadRegister (&INA_Ch9INA220_REG_CURRENT、&CurrentReg)

I2C_Status = INA220_INA11_ Get_Current_(&INA_Ch9、&Current)

Current = Current *(1.575f * 1e-9)

I2C_Status = INA220_GET_VBUS_RAW (&INA_Ch9&VBUS)

I2C_Status = INA220_GET_vShunt (&INA_Ch9&vShunt)

VBUS 和 vShunt 值是正确的、并已使用电压表进行了验证。 需要有关如何处理 CURRENT 寄存器中的值的帮助。

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

    Maries、您好!  

    我不确定你在问什么。 您在代码示例中计算电流(以安培为单位)的方法是正确的。 为了计算以安培为单位的电流、您需要将 CURRENT 寄存器值乘以编程的 CURRENT_LSB:  

    如果您还有任何问题、敬请告知!  

    此致!  

    穆罕默德  

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

    尊敬的 Mohamed:

    感谢您的答复。 我面临的问题是、我从 INA220 (67µA)读取的电流值与我正在消耗的电流(35µA)不同。 此外、电流偏移看起来是非线性的、并会在不同的电压值发生变化。

    这是 一个电路示意图、供您参考:

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

    Maries、您好!  

    如何测量正在从器件中汲取的电流? 此外、请注意、我们通常建议使用10 Ω 输入滤波器以及0.1uF 至1uF 的电容器。  

      

    此致!

    穆罕默德  

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

    尊敬的 Mohamed:

    我的测量设置图如下所示:

    我还绘制了外部电流测量器件和 INA220输出的 I-V 曲线、如下所示:

    施加的电压和测量的电流值如下所示:

    VBUS:0.0 (mV)    CURRENT_INA220:4.060350e-06 (a)      Current_Ammeter:0.05332e-06 (a)
    VBUS:12.0       CURRENT_INA220:4.548600e-06         Current_Ammeter:59.784e-09
    VBUS:32.0       CURRENT_INA220:4.142250e-06         Current_Ammeter:0.13945e-06
    VBUS:52.0       CURRENT_INA220:3.918600e-06         Current_Ammeter:0.18250e-06
    VBUS:72.0       CURRENT_INA220:3.598875e-06         Current_Ammeter:0.22550e-06
    VBUS:96.0       CURRENT_INA220:4.079250e-06         Current_Ammeter:0.26845e-06
    VBUS:116.0      CURRENT_INA220:3.389400e-06         Current_Ammeter:0.31142e-06
    VBUS:136.0      CURRENT_INA220:3.499650e-06         Current_Ammeter:0.35437e-06
    VBUS:156.0      CURRENT_INA220:3.027150e-06         Current_Ammeter:0.39741e-06
    VBUS:176.0      CURRENT_INA220:3.417750e-06         Current_Ammeter:0.44039e-06
    VBUS:196.0      CURRENT_INA220:2.803500e-06         Current_Ammeter:0.48354e-06
    VBUS:216.0      CURRENT_INA220:3.441375e-06         Current_Ammeter:0.52662e-06
    VBUS:240.0      CURRENT_INA220:3.655575e-06         Current_Ammeter:0.57005e-06
    VBUS:256.0      CURRENT_INA220:3.127950e-06         Current_Ammeter:0.61333e-06
    VBUS:280.0      CURRENT_INA220:3.299625e-06         Current_Ammeter:0.65618e-06
    VBUS:304.0      CURRENT_INA220:2.798775e-06         Current_Ammeter:0.69942e-06
    VBUS:320.0      CURRENT_INA220:2.852325e-06         Current_Ammeter:0.74313e-06
    VBUS:340.0      CURRENT_INA220:2.833425e-06         Current_Ammeter:0.78599e-06
    VBUS:364.0      CURRENT_INA220:2.658600e-06         Current_Ammeter:0.82946e-06
    VBUS:384.0      CURRENT_INA220:2.677500e-06         Current_Ammeter:0.87231e-06
    VBUS:404.0      CURRENT_INA220:2.288475e-06         Current_Ammeter:0.91325e-06
    VBUS:424.0      CURRENT_INA220:2.520000e-06         Current_Ammeter:0.94970e-06
    VBUS:444.0      CURRENT_INA220:2.628675e-06         Current_Ammeter:1.00210e-06
    VBUS:468.0      CURRENT_INA220:2.660175e-06         Current_Ammeter:1.04570e-06
    VBUS:488.0      CURRENT_INA220:2.279025e-06         Current_Ammeter:1.08870e-06
    VBUS:508.0      CURRENT_INA220:2.573550e-06         Current_Ammeter:1.13140e-06
    VBUS:528.0      CURRENT_INA220:2.201850e-06         Current_Ammeter:1.17500e-06
    VBUS:548.0      CURRENT_INA220:2.104200e-06         Current_Ammeter:1.21820e-06
    VBUS:568.0      CURRENT_INA220:2.386125e-06         Current_Ammeter:1.26140e-06
    VBUS:592.0      CURRENT_INA220:1.730925e-06         Current_Ammeter:1.30510e-06

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

    Maries、您好!

    我认为我发现了问题。 在将校准值输入到校准寄存器之前、您似乎没有将校准值向左移动1位。  原因可在此处找到:  

    此致!

    Mohamed Hamida  

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

    尊敬的 Mohamed:

    我之前尝试过这种方法;但是、它并没有解决我的问题。 此外、在数据表的第26页、计算出校准值为20480 (5000h)、在第27页、校准寄存器显示为包含5000h。 如果该值向左移动1位、则寄存器的内容应为 A000h。

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

    Maries、您好!  

    计算出的校准值似乎是4194 (0x1062)、并且 根据寄存器读数、您回读相同的值。 这表明您使用的是未移位的值。 原始寄存器值应为4194<< 1、即8388 (0x20C4)。 来自 INA220的值实际上是用电流表测量的值的两倍、这表明这将是您的校准寄存器的问题。  

    此致!

    穆罕默德