主题中讨论的其他器件: BQ78350-R1
各位专家、您好!
我在使用 BQ76940的库仑计数器时遇到了奇怪的经历。
电路板上没有负载、DSG = 0、CHG = 0。 尽管如此、当我读取 CC 寄存器(连续模式、250ms 间隔)时、我会定期获得值1和65535。 是什么导致 IC 存储65535、即最大值、和 CC 寄存器中的1? 同样、没有连接负载、电池处于空闲状态(既不充电也不放电)。 电池平衡也会关闭。
谢谢
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.
各位专家、您好!
我在使用 BQ76940的库仑计数器时遇到了奇怪的经历。
电路板上没有负载、DSG = 0、CHG = 0。 尽管如此、当我读取 CC 寄存器(连续模式、250ms 间隔)时、我会定期获得值1和65535。 是什么导致 IC 存储65535、即最大值、和 CC 寄存器中的1? 同样、没有连接负载、电池处于空闲状态(既不充电也不放电)。 电池平衡也会关闭。
谢谢
您好 Pranit、
库仑计数器使用 LSB 为8.44uV 的16位 ADC。 ADC 确实有一些偏移。 库仑计数器报告的值是二进制补码、因此值65535是-1 (-8.44uV)的结果。 因此、您读取的值非常接近于零。
尽管您没有使用 BQ78350-R1配套控制器、但我建议查看此器件的数据表和技术参考手册。 它专门设计用于与 BQ76940配合使用。 该器件允许您设置库仑计数器死区-控制器不会累积低于此输入阈值的值来滤除噪声。
最好的酒店
Matt
谢谢 Matt! 我计划在软件中实施死区
如果(cc_adc >0 && cc_adc<100)
ignoreCC(); //用于充电的死区
if (cc_adc >-100 && cc_adc<0)
ignoreCC(); //放电死区
不过、我有一个查询。 死区阈值将由"杂散电流"值决定、对吧? 例如、如果我在系统中观察到即使没有负载也有20uA 的电流流动、那么我将把 CC 死区阈值设置为20uA 对吧?
TI 是否推荐任何特定价值? CC 的校准过程是什么、也用于查找偏移量?
您好 Pranit、
死区可以设置为任意值、具体取决于系统的工作方式和电流测量的使用方式。 例如、如果您的系统中具有非常高的充电和放电电流、您可能希望忽略可忽略的低电流。 如果您尝试进行非常精确的电池电量监测、您可能希望将死区设置为尽可能低的值、以消除由于噪声导致的错误测量。
对于电流死区、BQ78350-R1使用3mA 的默认值。 BQ78350-R1技术参考手册(dehttp://www.ti.com/lit/ug/sluubd3d/sluubd3d.pdf)介绍了用于该器件的 CC 校准过程。 它使用零电流校准 CC 偏移、然后施加固定电流来校准增益。 它建议对多个读数求平均值以获得更高的精度。
此致、
Matt