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.

[参考译文] INA219:并联电压寄存器读数与配置寄存器读数相同

Guru**** 2535820 points
Other Parts Discussed in Thread: INA219

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/665419/ina219-shunt-voltage-register-reading-same-as-configuration-register-reading

部件号:INA219

你好

我正在使用Adafruit INA219分路板来读取电流,总线电压和并联电压(以获得负载电压)。

包含分组讨论板详细信息的链接如下:  

我使用STM32 Nucleo-F446RE连接INA219 (中断板)。 并联电阻值为100mOhm (集成在中断板中)。

在我的测试中,我尝试读取一个小负载,只是为了了解如何执行。 我预期读取大约20mA,5V总线电压。

读取总线电压寄存器没有问题,但并联电压寄存器给我一个奇怪的值。

我注意到并联电压寄存器始终返回与配置寄存器相同的值。 我尝试将配置寄存器从399Fh更改为399Dh只是为了检查,当我读取并联电压寄存器时,返回值为399Dh。 所以,我检查的第一个想法是,对于分流寄存器读数操作,寄存器指针是否正确,显然是正确的。

下面是我正在执行的操作顺序:

1)写入配置寄存器。 地址00h。 值:399Fh

2)读取 配置寄存器。 地址00h。 读取值:399Fh (仅检查写入操作是否工作-测试)

3)写入校准寄存器:地址05h。 值:1000小时

4) 读取 校准寄存器。 地址05h。 读取值:800H。 我认为这是正确的,我认为LSB位被忽略了,能否请您确认? (只需检查写入操作是否有效-测试)

5)指向总线电压寄存器。 读取 总线电压寄存器。 地址02h。 读取值:4.98V。 我也用3.3V进行了测试,也很好用。

6)指向并联电压寄存器。 读取并联电压寄存器。 地址01h。 读取值:399Fh,与配置寄存器相同。 我还测试了其他配置寄存器值。

7)指向当前寄存器。 读取当前寄存器。 地址04h。 读取值:13.4mA,预期值约为23mA。

我不知道还需要检查哪些内容,请您提供一些指导,说明我还应该尝试和/或验证哪些内容?

提前感谢您的帮助

提亚戈

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

    感谢您在论坛上发帖。 我很好奇这里是否有时间问题(例如,host/master/STM32在指针地址的最后一位没有将SDA线保持足够高的长度)。 现在,您可以读取寄存器:0x00,0x02,0x04,所有寄存器的最后一位都为0,您不能读取寄存器0x01。 您从电源寄存器(0x03)中读取什么? I2C的运行速度是多少? 您是否有机会使用示波器探测SDA和SCL线(INA219的引脚6和5处),以确认主控制器是否固定SDA?

    我认为计时可能是个问题,因为设备从并联电压测量中计算电流值(reg 0x04),您似乎得到了一个有意义的电流值。

    为什么要将校准值设置为1000h (4096 dec)? 如果分流电阻器为0.1 欧姆,则假设您使用数据表中的方程式1,预计最大电流约为3.27A。 您还使用了默认配置寄存器值,该值将设备配置为接受+/-320mV输入满刻度范围。 考虑到您正在处理几毫伏的输入电压(0.1 欧姆* 20mA),也许可以尝试将全刻度范围提高到+-40mV (PGA =/1),并将最大预期电流降低到500mA。 这将要求您根据公式1将校准寄存器编程为2.6844万十进制。 但是,我不希望这能解决您的问题,但我很好奇这会带来什么不同。

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

    首先,感谢您的回复。
    我还没有尝试阅读电源记录,我今天会尝试。
    很遗憾,我没有可用的示波器,是否有办法通过软件调试工具检查计时? 我会尝试访问示波器,但可能需要一些时间。

    关于校准寄存器,我设置了校准寄存器以满足实际应用的要求,它可用于约7V,1.A额定,最大预期电流约为2A。 但我的测试并未反映这一点,因此,最好按照您的建议更新校准寄存器,至少对于本测试而言。 此外,32V全刻度并非最佳选择。

    再次感谢
    期待您的回复,我将尝试阅读电源记录,并让您了解结果。

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

    没有软件调试工具来测试类似的内容,最好的选择是测量和观察。 您还可以降低I2C通信速度和/或延迟主机控制器的数据保持时间,然后查看是否可以读取并联电压寄存器。

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

    嗨,Tiago,

    您是否解决了问题? 我假设您已经弄清楚了,并结束了这一线程。 感谢您选择TI。

    此致,
    Peter Iliya
    电流感应应用

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

    您好Peter,

    但遗憾的是,我还没有解决这个问题。

    我正在使用微控制器的标准库,但我无法使其工作。

    下周六我可能会有一个示波器。 但我不确定如何确切地确定你提到的时机问题。

    谢谢

    提亚戈