<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.程序說明
程序只是檢測電壓的變化,如果電壓升高了,就認為是鋰電池供電
如果電壓降低了,就認為是電源適配器供電.

