Analog Devices MAX17043 电池电量计
MAX17043 平台允许您使用 MAX17043 在 ESPHome 中更准确地监控 LIPO 电池的剩余容量(数据手册、DFRobot)。它使用 I²C 总线 进行通信(地址固定为 0x36)。
配置完成后,它使用一种称为 ModelGauge™ 的复杂 Li+ 电池建模方案,在广泛变化的充放电曲线中持续跟踪电池的相对充电状态。 与传统的电量计不同,ModelGauge 算法消除了电池重新学习周期和外部电流检测电阻的需求。
在低功耗应用中,准确报告电池电量非常重要。通过将 ESPHome 的 deep_sleep 组件与 MAX17043 结合使用,项目可以运行更长时间,用户可以对剩余电量充满信心。
这克服了测量电池电压与剩余电池电量相关性差的现实问题。
NOTE
请参阅下面的硬件设计讨论 - 在深度睡眠期间保持 MAX17043 通电非常重要。
# 示例配置条目sensor: - platform: max17043 id: max17043_id i2c_id: i2c_max17043 battery_voltage: name: "电池电压" battery_level: name: "电池电量"-
battery_voltage (可选, float): 在 LIPO 电池处测量的电压。
- 所有其他选项来自 传感器。
-
battery_level (可选, float): 使用 ModelGauge™ 电池建模方案的剩余电池百分比。
- 所有其他选项来自 传感器。
硬件设计注意事项
Section titled “硬件设计注意事项”重要的是要认识到电池电压与剩余电池电量之间的关系相关性很差,而且是非线性的。
MAX17043 通过持续监控充放电来评估剩余电池容量。 首次通电时,它假设测量的电压已处于放松状态 30 分钟。这种最佳初始猜测不会产生持久影响,因为它会随时间监控相对充电状态。
深度睡眠周期通常设计为设备唤醒较短时间完成工作,然后休眠更长时间。在休眠阶段允许 MAX17043 保持状态至关重要。
如果 MAX17043 断电,那么每次 ESP 从深度睡眠中唤醒时,MAX17043 都必须从新的最佳猜测重新开始。 它将无法利用过去的充放电行为发挥作用 - 这大大降低了使用 MAX17043 的意义。
设备睡眠模式期间的电流消耗极低(最大 3µA,而活动时最大 75µA)。
驱动程序允许用户在深度睡眠开始之前使用 sleep_mode 动作使设备进入睡眠状态。
当 ESP 从深度睡眠中唤醒时,驱动程序会清除 MAX17043 的睡眠位。
例如:
on_...: then: - max17043.sleep_mode: max17043_id - deep_sleep.enter: id: deep_sleep_1 sleep_duration: 20minNOTE
一旦调用 sleep_mode() 动作,MAX17043 将停止重新计算电压和电池电量。
因此,如果您让 ESP 继续运行,它将继续使用最后的测量值发布传感器值。
退出睡眠模式的唯一方法是重启设备(按照预期通过深度睡眠唤醒;或者不太理想的方式是通过断电重启)。
因此,仅当您打算让 ESP 进入深度睡眠时才调用 sleep_mode()。