跳转至

充电IC

一、充电 IC 概述

Air8000 工业引擎的充电 IC 是一款高度集成的电源管理芯片,支持 10mA 至 750mA 可编程充电电流,并具备 Bypass 直充模式以提升效率;同时通过 STACMD 单线通信灵活配置参数及监控状态。芯片集成智能充电路径管理,确保系统供电优先级,并支持 150nA 超低功耗 Shipping 模式,大幅延长仓储寿命。此外,它提供全面的保护机制,包括输入欠压锁定(UVLO 3.4V)、输入过流保护(OCP)、电池过压保护(OVP)、系统短路保护、放电保护及过热保护。

如果是Air8000模块,需要按照 https://docs.openluat.com/air8000/luatos/app/updatwifi/update/ 升级一下wifi,这需要配合wifi 才可以使用。

二、演示功能概述

本示例将演示如何使用 Air8000 工业引擎的充电 IC,设置充电截止电压,监控充电电流等。

三、准备硬件环境

3.1 Air8000 核心板

使用 Air8000 开发套件,如下图所示:

淘宝购买链接:Air8000 开发套件淘宝购买链接

此开发套件的详细使用说明参考:Air8000 产品手册 中的 Air8000 开发板资料,以及 Air8000 的 LuatOS 第一个入门练习

3.2 PC 电脑

WIN10 以及以上版本的 WINDOWS 系统;

3.3 数据通信线

USB 数据线(其一端为 Type-C 接口,用于连接 Air8000)。

3.4 锂电池

3.7v 锂电池。

3.5 连接方式

充电开关打开

连接电池,如果没有对应的端子,可以直接焊接到对应接口,注意正负极。

四、准备软件环境

4.1 下载调试工具

使用说明参考:Luatools 下载和详细使用

4.2 源码及固件

https://gitee.com/openLuat/LuatOS/tree/master/module/Air8000/demo/yhm27xx

五、充电 IC 寄存器说明

5.1 读取芯片 ID

读取芯片 ID,可以测试总线通信是否正常。

5.2 截止电压寄存器说明

默认截止电压为 4.35V

5.3 充电电流寄存器说明

Air8000 工业引擎中 R SNS=1K。

默认充电电流 250mA 000

最大充电电流是 1500mA 111

注意:目前充电 IC 只能支持写,不能读。

六、代码示例介绍

6.1 Air8000 工业引擎 充电 IC 通信测试

local gpio_pin = 152
gpio.setup(gpio_pin, 1, gpio.PULLUP)

sys.wait(1000)

local result, data = sensor.yhm27xx(gpio_pin, sensor_addr, id_register)
    sys.wait(200)
    log.info("yhm27xxx", result, data)
    if result == true and data ~= nil then
        log.info("yhm27xxx", "yhm27xx存在--")

6.2 Air8000 工业引擎 充电 IC 截止电压设置

设置截止电压为 4.25V,系统默认为 4.35V。

-- 写入V_CTRL寄存器 设置成 4.25v
        result = sensor.yhm27xx(gpio_pin, sensor_addr, V_ctrl_register, set_4V25)
        if result == true then
            log.info("yhm27xxx 写入V_CTRL成功:" , data, result)
        else
            log.info("yhm27xxx", "写入V_CTRL失败, ", result)
        end

6.3 Air8000 工业引擎 充电 IC 充电电流监控读取

充电 IC 充电电流读取

result, data = sensor.yhm27xx(gpio_pin, sensor_addr, I_ctrl_register)
        log.info("yhm27xxx 0x01 读取数据为:" , data, result)

充电 IC 充电电流设置,如果需要调整充电电流,可以 参考如下代码。

默认充电电流 250mA 0x00 ,下面代码设置充电电流为 500mA 0x40。

-- 写入寄存器 充电电流设置成 500mA
        result = sensor.yhm27xx(gpio_pin, sensor_addr, I_ctrl_register, 0x40)
        if result == true then
            sys.wait(200)
            result, data = sensor.yhm27xx(gpio_pin, sensor_addr, I_ctrl_register)
            log.info("yhm27xxx 写入**I_CTRL**成功:" , data, result)
        else
            log.info("yhm27xxx", "写入**I_CTRL**失败, ", result)
        end

七、结果验证

7.1 下载成功界面

7.2 充电 IC 通信测试成功

7.3 充电 IC 截止电压设置日志

八、总结

Air8000 工业引擎的充电 IC 支持可编程设置充电截止电压和充电电流,并提供实时状态监控,适用于灵活的工业充电管理需求。