精准赋能,稳如磐石——Air8201电源优化解决方案大公开!

针对电源管理中的稳定性与精度痛点,Air8201电源管理优化解决方案以先进算法与硬件优化深度融合,打造出“更稳更准”的能源控制体系,助力设备在复杂场景中实现长效稳定运行。

本文针对电源管理文档的核心文件进行了优化:无需改动硬件,即可提升充电状态下的电压测量准确性。

一、 Air8201电源管理优化方案

1.1 充电时动态校准电压

修改原demo示例batteryMange.lua文件的checkBattery函数:

在读取ADC电压前,通过充电IC 2712A的寄存器控制,短暂关闭充电回路,消除充电电流对电压的影响;测量完成后恢复充电——这是最为准确的方式。

我们之前的demo比较多配置I_CTRL和V_CTRL这两个寄存器,这次主要配置工作模式寄存器MODE Register。

示例代码如下所示:

1.2 加入软件滤波

增加移动平均滤波:

在checkBattery函数中,记录最近几次电压值,取平均值以减少瞬时波动影响。

这个方式存在一定误差,但是也能尽量拿到较准确的电压值。

示例代码如下所示:

1.3 加入软件滤波

根据充电状态调整电压计算:

在mathBatteryPercent函数中,如果当前处于充电状态(ischarge == true),则对读取的电压值进行补偿(例如减去固定偏移量)。

这点更适合标准差异,比如插上USB和未插USB的电压检测总是差距某一个数值,且一个测试周期内都维持这种差异。

示例代码如下所示:

二、验证步骤要点

2.1 日志调试

在checkBattery中增加日志输出,观察充电/不充电状态下的原始电压值和补偿后的值。

2.2 阈值测试

插入USB时,验证低电量关机逻辑是否基于补偿后的电压触发,避免误关机,因为补偿后的电压会略低(原来的关机条件为电量低于30%且2分钟内未充电)。

今天的内容就分享到这里了~

posted @ 2025-06-05 12:46  合宙LuatOS  阅读(20)  评论(0)    收藏  举报