大家好、我来讲两个有关使用 BQ25180的问题:
1.我的产品有两个用例,有电池或没有电池,但电源适配器. 如何知道电池是否已断开? 是否有可能通过 I2C 通信来捕捉它? 或者我是否为此需要其他电路?
2.我使用充电状态中断来指示电池状态的变化 如下图所示、当电池断开时、"充电"和"充电完成"的电池状态无限重复、从而导致连续中断。 这是预期行为吗? 或者我缺少什么吗?

谢谢。
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.
大家好、我来讲两个有关使用 BQ25180的问题:
1.我的产品有两个用例,有电池或没有电池,但电源适配器. 如何知道电池是否已断开? 是否有可能通过 I2C 通信来捕捉它? 或者我是否为此需要其他电路?
2.我使用充电状态中断来指示电池状态的变化 如下图所示、当电池断开时、"充电"和"充电完成"的电池状态无限重复、从而导致连续中断。 这是预期行为吗? 或者我缺少什么吗?

谢谢。
尊敬的 Jun:
欢迎使用 E2E!
Unknown 说:我的产品有两种用例:带电池或不带电池但带电源适配器。 如何知道电池是否已断开? 是否有可能通过 I2C 通信来捕捉它? 或者我是否需要额外的电路?
我有一个可以正常工作的软件例程、让您能够检测是否存在电池。 我想的另一种方法是、您可以对充电状态进行去抖、这与按钮类似。 另一种方法是暂时禁用充电、并查看电容器是否放电至 BUVLO 以下。 如果电压降至 BUVLO 以下、则可以检查 BUVLO 状态、以及禁用充电之前和之后的状态。 如果它们不同、则没有电池。
我来写一个状态机图、以便您采用第二种方法。
2.我使用充电状态中断来指示电池状态的变化 如下图所示、当电池断开时、"充电"和"充电完成"的电池状态无限重复、从而导致连续中断。 这是预期行为吗? 或者我缺少什么吗?
[/报价]是的、VBAT 波形的行为(以及在"放电"和"充电完成"之间切换的状态)是预期行为。 这是由于器件对电容器进行充电和放电所致。
感谢您的答复。
实际上我已经实现了您通过图表建议的方法。 至少对于我的实现方案而言、该方法的缺点是启用/禁用充电会导致中断、我希望避免这种中断。 并应等待电压稳定后再读取 ADC。
我想、就像您提到的、我会采取一种去抖的方式。 或者在禁用充电状态中断的情况下定期轮询电压电平。
这是我使用的驱动程序、但电池存在检测在该处未实现: https://github.com/libmcu/bq25180。
谢谢。
尊敬的 Jun:
没错。 切换充电时、这会导致中断。
或定期轮询电压电平(带充电状态中断)
您是指在启用或禁用充电时发生充电状态中断时进行轮询吗? 您是否在系统中使用 ADC? BQ25180没有内置 ADC。
您还会发现、由于电容器在 VBATREG 和再充电阈值之间、在充电开始和完成时发生中断、这可能与相同的点定期出现 (充电完成也将为 VBAT = VBATREG、充电开始将始终看起来像 VBAT =再充电)、这就是需要它来禁用和启用充电的原因、以便电池引脚上的电压可以在该区域之外衰减。
我可以浏览该驱动程序、但根据我能知、这仅设置了器件的寄存器设置。 我需要查看用于实现实际例程的代码。
此致、
安东尼·范