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传感器的用户、在我的数据读取过程中偶尔会遇到标记为"状态溢出"的问题。 下面是我的配置的详细信息:
CONFIGURATION_REG = 0x0773 // FSR = 16V;增益= 1;范围= 40mV;BADC = SADC = 64 (过采样);MODE =分流和总线触发
R_shunt = 0.004 Ω
Current_LSB = 0.00030517578125 //范围[V]/R_shunt [欧姆]/2^15
CALIB_VALUE = 0x8312 // (uint16_t)(0.04096 /(范围[V]/2^15)
此外、我在写入时应该将校准值向左移动一位吗?
此外、我观察到、每次我修改配置寄存器中的增益值时、输出看起来都乘以2。 我已经使用上面注释中提供的公式计算了当前 LSB 和 CALIB_VALUE。 对这种行为的任何见解都将不胜感激。
我会寻求您的指导、以解决在数据采集过程中间歇性出现的问题。 我们非常感谢您提供任何见解或帮助。
此致、Genadi。
您好、Genadi、
我注意到、您的校准值高于该位数的最大值。 校准值为15位、您使用的是0x8312、高于最大值0x7FFF。 您需要将校准值向左移动。 由于不使用0位、因此该值需要移位。
如需查找新的校准值的帮助、请使用此计算器工具: https://www.ti.com/tool/download/SBOR021。有关如何使用它的详细信息、请参阅以下应用手册: https://www.ti.com/lit/an/sboa511a/sboa511a.pdf?ts = 1693949588347。
此致!
穆罕默德
感谢 Mohamed,
将修复它
没问题、如果有任何进一步的问题、请随时告诉我!
您好,Mohamed:
我的新设置如下:
但是、我仍然偶尔会遇到"数学溢出"(这是我在更改前习惯的程度更低)。 您是否对导致此问题的原因有任何见解?
此致、Genadi。
您好、Genadi、
您可能溢出、因为在给定这些参数的情况下、最大电流高于限值。 您打算测量的最大预期电流是多少?
此致!
穆罕默德
您好,Mohamed:
这是不太可能的。 此器件由最大输出电流约为2A 的电池供电、在其当前状态下、仅消耗约20 mA 的电流。
Vshunt 值是否可能超出我配置的范围、从而导致采样数学溢出问题?
此致、Genadi。
您好、Genadi、
这很奇怪、数学标志不应跳闸于您的当前配置。 您能告诉我 VBUS 、以便我重新创建测试吗? 但是值得注意的是、您的配置不会产生很好的结果、即使它可以正常工作也是如此。 我运行了您通过我们的误差计算工具提供的参数(您可以在此处找到: https://www.ti.com/tool/CS-AMPLIFIER-ERROR-TOOL) 、它给出了以下结果:
在20mA、您将获得非常高的误差。 值得尝试使用该工具来找到新配置、为您的设置带来更好的结果。
此致!
穆罕默德
尊敬的 Mohamed:
V_BUS 在3.2至4.1伏之间变化。
电流将从20增加到大约1Arms。
抱歉,您所提供的链接不起作用。 我猜服务器会出现什么情况。
谢谢、Genadi。
你好,Mohamed。
非常感谢您提供该工具。
遗憾的是、我没有对配置和校准值的部分进行详细说明。 您能指导我在哪里可以找到它吗?
Br, Genadi.
您好、Genadi、
配置和校准值不会影响误差计算、因为误差计算工具会测量直流误差、而配置值只是平均噪声。
你好,Mohamed。
我注意到、这是在其中一个外设开启时发生的。 这是一款使用 I2C 的模拟前端器件、能够以高频率切换 LED 和光电二极管。 数学溢出问题的原因是否是由此导致的电流测量值出现巨大差异?
祝您度过美好的一天!Genadi
这可能就是这种情况。 您知道电流测量值之间的差异是多少吗?
亮起和熄灭 LED 状态之间的差异取决于200 mA。 每个 LED 亮起2微秒、然后熄灭约40微秒。 此模式持续重复。
顺便说一下:
我尝试写入寄存器的校准值为: 1100100000000000
但是、当我读取寄存器时(在写入操作之后)、我得到: 1100100001000100
写入 CONFIG 寄存器也是如此。 我正在发送- 11101110011 和读取 11101001111。
对您来说有意义吗?
有趣的事实:
当我将 BADC 和 SADC 配置为单个采样(无过采样)时、出现这个问题的频率要低得多。
您好、Genadi、
由于读取和写入不同的值、I2C 总线可能会出现问题。 噪声可能太多、所以高低起伏不定。 使用示波器来监控 I2C 总线可能是一个好主意。
此致!
穆罕默德