充电IC
一、充电 IC 概述
Air8000 工业引擎的充电 IC 是一款高度集成的电源管理芯片,支持 10mA 至 750mA 可编程充电电流,并具备 Bypass 直充模式以提升效率;同时通过 STACMD 单线通信灵活配置参数及监控状态。芯片集成智能充电路径管理,确保系统供电优先级,并支持 150nA 超低功耗 Shipping 模式,大幅延长仓储寿命。此外,它提供全面的保护机制,包括输入欠压锁定(UVLO 3.4V)、输入过流保护(OCP)、电池过压保护(OVP)、系统短路保护、放电保护及过热保护。
注意充电 ic 的 cmd 命令脚接在内部 wifi 模块的 gpio24,所以代码需要直接在 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 USB 转串口板
USB 转串口板。
3.5 锂电池
3.7v 锂电池。
3.6 连接方式
充电开关打开
连接电池,如果没有对应的端子,可以直接焊接到对应接口,注意正负极。
Air8000 中 的 wifi 程序下载,需要连接 uart10 接口。
USB 转串口板与测试板连接。
四、准备软件环境
4.1 下载调试工具
使用说明参考:Luatools 下载和详细使用
4.2 选择串口
勾选通用串口,选择 USB 转串口板对应的版本号。
打开串口
如果连接正确,Air8000 中的 wifi 模块会打印相关日志信息。
4.3 测试脚本
测试脚本如下 所示
https://gitee.com/openLuat/LuatOS/tree/master/luat/demo/2712
4.4 程序下载
点击项目管理测试选项。
进入管理界面,如下图所示。
当界面下方显示“已检测到设备,开始烧录”字样时,按一下测试板的复位按键,开始下载, 如下图所示。
五、充电 IC 寄存器说明
5.1 读取芯片 ID
读取芯片 ID,可以测试总线通信是否正常。
5.2 截止电压寄存器说明
默认截止电压为 4.35V
5.3 充电电流寄存器说明
Air8000 工业引擎中 R SNS=1K。
默认充电电流 250mA 000
最大充电电流是 1500mA 111
六、代码示例介绍
6.1 Air8000 工业引擎 充电 IC 通信测试
local gpio_pin = 24
gpio.setup(gpio_pin, 1, gpio.PULLUP)
sys.wait(1000)
local result, data = sensor.yhm27xx(gpio_pin, 0x04, 0x08)
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, 0x04, 0x00, 0x20)
if result == true then
sys.wait(200)
result, data = sensor.yhm27xx(gpio_pin, 0x04, 0x00)
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, 0x04, 0x01)
log.info("yhm27xxx 0x01 读取数据为:" , data, result)
充电 IC 充电电流设置,如果需要调整充电电流,可以 参考如下代码。
默认充电电流 250mA 0x00 ,下面代码设置充电电流为 500mA 0x40。
-- 写入寄存器 充电电流设置成 500mA
result = sensor.yhm27xx(gpio_pin, 0x04, 0x01, 0x40)
if result == true then
sys.wait(200)
result, data = sensor.yhm27xx(gpio_pin, 0x04, 0x01)
log.info("yhm27xxx 写入**I_CTRL**成功:" , data, result)
else
log.info("yhm27xxx", "写入**I_CTRL**失败, ", result)
end
七、结果验证
7.1 下载成功界面
7.2 充电 IC 通信测试成功
7.3 充电 IC 截止电压设置日志
7.4 充电电流监控读取日志
八、总结
Air8000 工业引擎的充电 IC 支持可编程设置充电截止电压和充电电流,并提供实时状态监控,适用于灵活的工业充电管理需求。