zoukankan      html  css  js  c++  java
  • 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.程序说明

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

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

  • 相关阅读:
    ntp时钟同步
    Office2013中文激活版
    Windows2008|2003超出最大连接数
    Vivaldi浏览器媲美Chrome
    Win10激活KMS2.0
    FTP下载工具
    UltraEdit编辑器|UE
    社工-入侵
    实时系统跟分时系统
    ThreadPoolExecutor线程池解析与BlockingQueue的三种实现
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/14033738.html
Copyright © 2011-2022 走看看