请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:BQ25895 我使用 BQ25895通过12VDC 输入为单节锂聚合物电池充电、BATV 值(REG0E[0:6])总是错误的、但该值确实会改变。
我的应用程序设置如下:
- D+/ D-悬空
- VBus 上的12V 直流输入
- 看门狗(REG07[4:5])设置为00 (禁用看门狗计时器)
- CONV_RATE (REG02[6])设置为1 (开始1s 连续转换)
- HVDCP_EN、MAXC_EN、FORCE_DPDM、AUTODPDM_EN (REG02[0:4])全部设置为0、禁用 USB 握手
- IINLIM (REG00[0:5])设置为0x3F、最大化 IINLIM 并强制输入电流进入 ILIM 引脚上设置的电阻器
每当我拔下 VBus 时、VBAT 读数为2.304v (等于0x00、即最小值)、每当我插入 VBus 时、VBAT 读数为4.204v (0x5F)。 使用万用表、实际电池电压为3.45v (无 VBus)和4.05v (有 VBus)、因此在任何情况下都是错误的。
我希望 BATV 值与万用表显示的值相匹配(在合理的容差范围内)。 我是否看到了错误的寄存器? 数学是否如此简单?
batv = 2.304 +(batteryStatus.电池 注册[0x0E]和0x7F)* 0.02;
我看到一些寄存器为某些计算指定偏移、例如 REG01中的 VINDPM_OS、但这些似乎都与电池电压无关。
电池充电似乎也正常(目前、我一直在努力使其可靠充电)、电压完全错误。