2.7-Air302(NB-IOT)-基础外设-锂电池充电供电,市电断电检测

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/Learn-NB-IOT-Air302-ForLua" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

 

说明

板子上有锂电池充电供电接口.

当使用DC电源供电时,给锂电池充电;

去掉DC电源,自动切换到锂电池供电.

 

 

 

 

 

 

 

 

 

电路细节说明

在去掉DC电源的时候,其实切换有个时间,为了保证切换的时候模组还能正常工作,

在模组的VBAT接了一个大电容

 

 

 

由于5V有储能滤波电容,这个电容会影响切换的速度

加了一个电阻快速泄放掉电容电量.

 

 

 

市电断电检测

1.测试程序(电池供电,指示灯点亮; 电源适配器供电,指示灯熄灭)

复制代码
-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "adcdemo"
VERSION = "1.0.0"

-- 一定要添加sys.lua !!!!
local sys = require "sys"

-- 网络灯 GPIO19, NETLED脚
local NETLED = gpio.setup(19, 0)     -- 初始化GPIO19, 并设置为低电平

local Voltage=0; -- 采集的电压值
local VoltageCopy=0; --记录上一次的电压值

adc.open(1) -- VBAT电压

sys.taskInit(function()
    while 1 do
        sys.wait(200)
        
        local adcval,voltval = adc.read(1);--读取供电电压
        Voltage = voltval/1000;--转化为实际电压

        log.info("Voltage", Voltage)
        
        if  VoltageCopy == 0  then
            VoltageCopy = Voltage;
        end

        if  VoltageCopy ~= Voltage  then --电压发生变化
            if  Voltage - VoltageCopy >= 0.2 then --电压升高
                NETLED(1) -- 点亮LED
            end

            if  VoltageCopy - Voltage >= 0.2 then --电压降低
                NETLED(0) -- 熄灭LED
            end
            VoltageCopy = Voltage;
        end

    end
end)

-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!
复制代码

 

2.测试步骤

1.接好锂电池,使用220V电源适配器供电

 

 

 

2.去掉电源适配器,模拟断电(指示灯亮起)

 

 

 

 

3.再次接入电源适配器(指示灯熄灭)

 

 

 

3.程序说明

程序只是检测电压的变化,如果电压升高了,就认为是锂电池供电

如果电压降低了,就认为是电源适配器供电.

 

 

posted on   广源时代  阅读(694)  评论(0编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2019-11-25 ESA2GJK1DH1K基础篇: 移植源码中SmartConfig程序到自己的项目

导航

支付宝 QQ群
点击右上角即可分享
微信分享提示