国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

源碼開放 智能監測電源管理教程寶典!

青山老竹農 ? 來源:jf_82863998 ? 作者:jf_82863998 ? 2024-12-11 09:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

源碼開放,今天我們學習的是電源管理系統的核心功能模塊,手把手教你如何通過不同的技術手段實現有效的電源管理。

這些功能旨在提升設備的性能和用戶體驗,以下是主要演示功能的概述:

▼ 電源管理核心功能 ▼

電量監測:
本系統通過ADC模數轉換器)實時讀取電池電壓,并定期更新電量狀態。通過精確監測電池電壓,可以讓用戶清晰掌握當前電池剩余電量,避免意外關機帶來的困擾。

充電檢測:
系統利用GPIO中斷技術,能夠快速檢測電池的充電狀態。當設備連接到電源時,將自動判斷電池是否在充電狀態,并相應地調整電源管理策略,以優化充電效率和電池壽命。

自動關機:
根據監測到的電量百分比,該系統能夠在電量過低時自動關機,以防止電池過度放電。這種智能管理能夠保護電池,延長其使用壽命,確保設備在低電量時不會意外關機。

用戶接口
系統提供了便捷的用戶交互接口,用戶可以通過長按電源鍵實現關機操作。提升用戶體驗的同時,確保用戶可以方便地控制設備的電源狀態。

通過這些功能的實現,用戶不僅可以延長設備的使用時間,還能夠保證設備在關鍵時刻的穩定性和可靠性。在實際應用中,這些功能可有效地提升設備性能,滿足用戶對電源管理的需求。

接下來,我們講解相關示例的具體使用。

1. 搭建環境

新同學建議先看前期的基礎知識相關教程,更有助于理解和操作。

可以在LuaTools項目管理中新建一個項目,重新選擇底層CORE和腳本;或者在原有項目的基礎上,不更換CORE,將原來的腳本刪除,添加為demo/pm的腳本。

wKgZPGdYNwOAX3yfAAMBq7czgJ8597.png

1.1 硬件準備:

Air201套件

SIM

帶有數據通信功能的數據線

Win10及以上PC

1.2 軟件準備:

LuaTools調試工具:
https://docs.openluat.com/Luatools

最新固件:
https://gitee.com/openLuat/LuatOS-Air201/tree/master/core

最新腳本:
https://gitee.com/openLuat/LuatOS-Air201/tree/master/demo/pm

1.3 燒錄操作:

由于Air201單板子沒有復位鍵和BOOT鍵,所以數據線與Air201開發板之間還需要接一個USB_BOOT板(Air201套件里已包含,無需單獨購買)。

將Air201通過USB_BOOT小板連接電腦,如下圖所示:

wKgZO2dYNy6AflwtAAz0RQmdsAA302.pngwKgZPGdYNzuABQy1ABG13hQPNsg909.png

1.3.1 根據下方操作進行燒錄

此時就需要大家先點擊Luatools工具上的【下載腳本】或【下載底層和腳本】,再執行下方操作了。

新同學請先學習LuaTools使用和燒錄教程:
https://docs.openluat.com/Luatools/

開發板處于未開機狀態:
此時先按住下載模式按鍵(BOOT鍵)不放,再長按開機鍵(POW鍵)開機。若不出意外開發板將會進入下載模式,LuaTools工具下載進度條會開始跑,這時便可以松開BOOT鍵和POW鍵,等到工具提示下載完成即可。

開發板已經處于開機狀態:
此時可以先按住BOOT鍵不放,再短按復位鍵(RST鍵)后開發板會重啟并進入下載模式。

1.3.2 不同模式下的端口顯示

正常開機模式:

wKgZO2dYN06AQ2LXAAGjML_n6uI541.png

下載模式:

wKgZPGdYN1eAWYFxAAFoLhfqw_w005.png

2. 示例代碼

2.1 ChargeICLogic.lua源碼文件

該文件中的代碼是一個用Lua編寫的腳本,主要用于與充電 IC(集成電路)進行交互,進行狀態監測和控制。

2.1.1 代碼解析

1)注釋部分:

這段注釋用于指出代碼的主要功能,即處理充電IC相關的邏輯。

wKgZPGdYN2iAS1yHAABb8ZUrHlk091.png

2)電池上限電壓表:

此部分定義了電池上限電壓的不同設置值。Vreg表包含多個十六進制數,每個數對應不同的電池上限電壓。在V_CTRL寄存器中,前四位用來設置電池上限電壓,其余位可以用作其他設置。默認情況下,其他位為 0。

wKgZO2dYN3GATRAoAACBM96CfNA182.png

3)快速充電電流表:

這部分定義了快速充電電流的設置值。Ichg 表中列出的十六進制數對應于不同充電電流的設置。

在 I_CTRL寄存器中,前三位是設置快速充電電流的,其余位是其他設置,默認為0;該電流值是通過電阻Rsns計算得出的。

Air201的Rsns值為1KΩ,經過公式計算后得出:

Ireg=500mA

wKgZPGdYN3uABe0HAACQHjW09xU335.png

4)電池上限電壓表:

此部分定義了電池上限電壓的不同設置值。Vreg表包含多個十六進制數,每個數對應不同的電池上限電壓。在V_CTRL寄存器中,前四位用來設置電池上限電壓,其余位可以用作其他設置。默認情況下,其他位為 0。

wKgZPGdYN4SADZGvAAC3fXrP04M279.png

5)任務初始化:

這部分是主任務的初始化。首先等待1000毫秒,然后通過 sensor.yhm27xx 函數與傳感器進行通信,以獲取設備信息。后面再進行傳感器設備中各寄存器參數配置。

wKgZPGdYN42AOQRYAACJiWFHRyk036.png

6)傳感器數據讀取:

通過sensor.yhm27xx函數調用來讀取傳感器的數據。

參數說明:
gpio_pin是傳感器對應引腳;
0x04 是傳感器設備ID;
0x08 是設備信息寄存器的地址。

等待200毫秒等待數據返回。

wKgZO2dYN5aAdeTzAACv2iZcILs506.png

7)設備存在檢查:

當檢測到傳感器存在時,會進行進一步的設置。此時根據不同寄存器的地址設置不同功能。

wKgZO2dYN5-AHL1TAADCdaZXt-4423.png

8)電壓跟隨與快速充電電流設置:

讀取 I_CTRL 寄存器并設置電壓跟隨與快速充電電流。如果操作成功,將會再次讀取配置寄存器并確認設置結果,記錄相關的日志信息。

wKgZO2dYN6qAIeIDAACGtMTwHtk141.png

參數說明:
gpio_pin 是傳感器對應引腳;
0x04 是芯片設備ID號;
0x01 是 I_CTRL寄存器地址;
0x02 是設置電壓跟隨與快速充電電流為0.5×Ireg。

特別說明:
若需要在同一寄存器中設置多個參數,則需要將參數值進行或運算。

例如:
要設置電壓跟隨和快速充電電流為0.5×Ireg,則參數值為 0x02+0x00=0x02 。

快速充電電流表可參考下方表格:

wKgZPGdYN7WALYbFAAMn4mgt60I070.png

I_CTRL寄存器地址前三位是設置快速充電電流,其余位是其他設置,默認為0;Ireg是電阻Rsns配置的電流值,Air201的電阻Rsns值為1KΩ:

通過公式Ireg=500/Rsns,得出Ireg=500mA。

9)電池上限電壓設置:

讀取V_CTRL寄存器并設置電池上限電壓。如果操作成功,將會再次讀取配置寄存器并確認設置結果,記錄相關的日志信息。

wKgZPGdYN8CAUqwZAACG6Pprqto418.png

參數說明:
gpio_pin 是傳感器對應引腳;
0x04 是芯片設備ID號;
0x00 是 V_CTRL寄存器地址;
0x00 是設置電池上限電壓為4.2V。

電池上限電壓設置可參考下方表格:

wKgZO2dYN82AEDoSAANg0S1TnVs833.pngwKgZO2dYN9qAXztLAAA6YfajpXY511.png

10)異常處理:

如果在讀取傳感器信息時返回結果為假,則說明傳感器不存在,記錄警告日志。

wKgZPGdYN-KAS_y2AACFj00liKg423.png

2.1.2 總結說明

這段代碼的主要功能是與充電IC進行交互以監控其狀態,配置其控制參數,并在不同情況下記錄相關的日志信息。

通過這種方式,系統能夠檢測充電IC的存在與狀態,并進行相應的初始化與配置,以確保充電過程的正常進行。全程使用異步任務管理,提升系統響應能力。

2.2 pcb.lua源碼文件

這段Lua代碼定義了一個名為pcb的模塊,其主要功能是管理和操作硬件的某些特性,特別是與PCB(印刷電路板)相關的設置和狀態。

2.2.1 代碼解析

1)模塊初始化和變量定義:

這里定義了一個表pcb,用于存放后續的函數。定義了存儲系統的OTP區域和硬件的默認版本號,以及出廠測試結果的初始值。

wKgZPGdYOAGAMtgHAAEjZNE9_hU726.png

2)讀取OTP存儲區和解析硬件版本號的函數:

loadParam函數首先檢查OTP是否存在,然后讀取OTP存儲區中的數據,解碼JSON格式的數據以獲取硬件版本號和出廠測試結果。若解碼失敗或缺少數據,則根據設備型號進行版本號的設置。

wKgZPGdYOAmAUsU0AAHF9ai3Lgw365.png

3)GNSS電源控制功能:

此函數根據硬件版本控制GNSS模塊的電源狀態。通過GPIO接口進行電源的開啟或關閉。

wKgZO2dYOBOAI6IXAAIyFUNtoHY775.png

4)ES8311電源引腳的獲取:

根據硬件版本返回ES8311控制器對應的電源引腳。

wKgZO2dYOB6APllaAAESYvrPPk4306.png

5)充電IC CMD引腳的獲取:

此函數根據硬件版本返回充電IC的命令引腳。

wKgZO2dYOCmAESQTAAERWraf_RY801.png

6)出廠測試結果獲取及版本號管理:

提供了獲取當前硬件版本號和出廠測試結果的方法,以及設置硬件版本號的功能。

wKgZO2dYODSASRGaAAErW1-AKL4675.png

2.2.2 總結說明

整段代碼的主要功能是提供對印刷電路板(PCB)相關硬件配置和狀態的管理。通過讀取OTP存儲區,程序能夠獲取設備的特定參數(如版本號和出廠測試結果)。

此外,它還實現對GNSS電源、ES8311音頻編解碼器以及充電IC的控制接口,根據不同的硬件版本提供不同的引腳控制方案。

2.3 batteryManage.lua源碼文件

這段代碼是一個電池管理模塊的實現,主要用于監控和管理電池狀態,包括電壓檢測、充電狀態判斷、電量計算和自動關機功能。

2.3.1 代碼解析

1)模塊定義:

創建一個名為M的模塊,定義模塊名稱為:

batteryManage

這段注釋用于指出代碼的主要功能,即處理充電IC相關的邏輯。

wKgZO2dYOEGAOV9tAAB9y7payrA725.png

2)引入庫:

引入了sys和sysplus庫,這些庫提供了系統和附加功能的支持。

wKgZPGdYOEmAcgEPAAB45rIQmTk850.png

3)初始化狀態變量:

M.vbat:
當前電池電壓;

M.batteryPercent:
電池電量百分比,初始為50;

M.isCharge:
標識是否正在充電;

M.BATTERY_UPDATE_INTERVAL:
電池信息更新的時間間隔(秒);

M.noChargeDuration:
記錄未插入電源的時間;

M.CHARGE_THRESHOLD_TIME:
未充電持續時間的閾值(2 分鐘);

M.blueLed和M.redLed:
用于設置藍燈和紅燈的狀態,分別用GPIO接口進行控制。

wKgZPGdYOFaAMX4gAAHAUQjfzvI186.png

4)電池放電曲線:

定義一個電池放電曲線數組,該數組存儲對應電量的電壓值,用于通過電壓推算電量百分比。

wKgZPGdYOF6AKbHIAABgOKqtp2M356.png

5)重置未充電時長:

重置未充電計時器的函數。

wKgZO2dYOGiAKhm4AACqBTTVOCI220.png

6)關機函數:

該函數用于發布關機信號,以請求系統關機。

wKgZPGdYOHGAVfoXAADeGyR0NV0150.png

7)充電狀態檢測:

使用GPIO中斷回調來檢測充電狀態,如果通過GPIO引腳檢測到充電狀態發生變化,將更新充電狀態并檢查電池狀態。

wKgZO2dYOHqASgowAABmwFFV9bI607.png

8)電量百分比計算:

根據當前電壓M.vbat計算電池百分比。如果電壓在放電曲線數組的范圍內,則返回相應的電量百分比。

wKgZO2dYOIKAEmHlAAB4KUZyJ6w416.png

9)定期檢查電池狀態:

定期更新電池電量,讀取電壓并計算電量。如果電量低于 30%,且沒有插入電源的時間超過2分鐘,則調用關機函數。

wKgZPGdYOIuANX2EAABpfovAS1g360.png

10)長按電源鍵關機:

實現了長按電源鍵的關機邏輯,按下電源鍵3秒后進行關機,松開時取消關機。

wKgZPGdYOJWAb6qeAABjwNWJ74Q026.png

2.3.2 總結說明

整體而言,該模塊負責監控電池的電壓和充電狀態。它能夠定期更新電量百分比,并在必要時自動關機。此外,該模塊還允許用戶通過長按電源鍵來手動關機。其主要功能是確保設備在電量過低時保護系統不受損壞,同時提供充電狀態的實時反饋。

2.4 main.lua源碼文件

該文件中的代碼使用Lua語言編寫,主要用于管理和監控設備的電源和電池狀態。

2.4.1 代碼解析

1)項目和版本信息:

這部分定義了項目名稱和版本,并記錄日志信息,便于后續的調試和維護。

wKgZPGdYOKKAAJYbAAC4iKcaj88969.png

2)庫的引入:

在這里引入了多個必要的庫文件,包括系統管理庫sys、電路板庫pcb、充電邏輯庫和電池管理庫。通過這些庫,程序可以實現對系統的控制和管理。

特別說明:
主要功能代碼已經模塊化到batteryManage庫文件中。

wKgZO2dYOKyARAPEAAEZCTpioic569.png

3)開機防抖:

這部分代碼用于防止開機時的抖動,并點亮紅色指示燈,以表明設備正在啟動。

wKgZO2dYOLSAM1PXAADDp_QzWic572.png

4)GPIO設置:

通過gpio.setup配置了兩個引腳:一個用于監測充電狀態,另一個用于電源鍵的回調。

wKgZPGdYOL2AB01UAAGJ7avTA_o240.png

5)關機處理:

這段代碼訂閱了系統關機事件,當設備接收到關機信號時,會調用pm.shutdown()函數進行安全關機。

wKgZPGdYOMWAKH1MAACm91e1I20083.png

6)啟動初始檢查:

在系統啟動時,首先進行一次電池充電狀態檢查,并設置一個定時器,每60秒更新一次電池電量信息。

wKgZO2dYOM2ARShQAAFpGJ7vzQ8142.png

7)日志輸出:

此段代碼設置了一個定時器,每隔5秒輸出一次當前電池狀態的日志信息,包括電壓、電池電量及充電狀態,便于監控和調試。

wKgZPGdYONWADiogAAIqfI7e5R4602.png

8)程序運行:

最后,sys.run()函數用于啟動系統的主循環,讓程序保持運行狀態。

wKgZO2dYON-AZQvnAAA4ynJ2OBQ338.png

2.4.2 總結說明

該代碼的主要功能是管理和監控嵌入式設備的電源與電池狀態,具備開機防抖、充電狀態檢測、定時更新電池電量和記錄日志等功能。

2.5 完整源碼文件

此處只展示main.lua,其余完整代碼請下載源碼查看。

最新源碼下載:
https://gitee.com/openLuat/LuatOS-Air201/tree/master/demo/pm

wKgZPGdYOO6AZ9kDAATT8zx1vxI612.pngwKgZPGdYOPuAW16TAATPSAYX_hg079.png

2.6 運行結果展示

可通過LuaTools工具查看運行結果,如下圖所示:

wKgZPGdYOQmAceI0AARCLq2R40U086.png

3. 常見問題

設備無法開啟或頻繁自動關機

檢查電池電量是否低于安全工作水平,確保設備充電。如果電量很低,請連接電源并充電一段時間再嘗試開機。

電池電量顯示不準確

確保電池電壓監測模塊正常工作,檢查ADC通道是否正確配置。如有必要,重新校準電池電量百分比計算的映射表。

充電狀態無法正確識別

檢查充電檢測的GPIO引腳連接是否正常,確認是否存在接觸不良或線路損壞的問題。此外,確保所用充電器和數據線與設備兼容。

系統在充電時無法正常運行

檢查是否有其他程序或任務占用過多資源,導致系統不穩定。可以考慮優化系統任務的優先級或關閉不必要的功能模塊。

長按電源鍵無反應

確認電源鍵的GPIO引腳連接正常,確保其可被正常識別。如果仍然無效,請檢查相關代碼對電源鍵的事件處理是否正確。

設備發熱嚴重

設備發熱可能是由于充電速率過高或設備運行負載過重引起的。建議降低負載、優化代碼,或調整充電策略。

無法更新固件或腳本

檢查USB連接是否正常,確保LuaTools工具正確識別設備。注意遵循燒錄步驟,并確保所用的固件版本與硬件兼容。

今天的分享就到這里了

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電源管理
    +關注

    關注

    117

    文章

    7176

    瀏覽量

    147998
  • 源碼
    +關注

    關注

    8

    文章

    685

    瀏覽量

    31317
  • 智能監測
    +關注

    關注

    2

    文章

    159

    瀏覽量

    13199
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    開放平臺鴻蒙智能體版本管理

    智能體的版本管理功能,包括查看、回退到歷史版本。版本記錄中包括智能體上下架及撤回審核時的版本。 查看歷史版本 點擊智能體編排頁右上角【版本記錄】圖標可查看版本記錄,點擊某個版本可以查看
    發表于 02-27 19:18

    智能開關怎么做到對用電設備的有效監控管理

    基于用電管理實踐,我們研發的系列智能觸摸開關面板(以下簡稱“智能觸摸開關”),通過靈活安裝與組網設計,實現了設備用電控制、電能計量、用電監測和安全保護等主要功能,并通過軟硬件協同保障了
    發表于 01-31 09:58

    移動電源智能監測技術全面升級

    移動電源的安全技術升級,不僅是行業規范化的里程碑,更是對消費者生命財產安全的莊嚴承諾。從智能監測到電芯管控,從全生命周期管理到市場格局重塑,新國標正推動移動
    的頭像 發表于 01-11 19:13 ?128次閱讀
    移動<b class='flag-5'>電源</b><b class='flag-5'>智能</b><b class='flag-5'>監測</b>技術全面升級

    醫療廢物在線監測系統提升醫廢管理效能

    。隨著醫廢在線監測系統的推廣應用,這一難題正得到有效解決,醫廢處置的管理復雜度也顯著降低。 ? ? ? ?1、實現更精細的智能管理 ? ? ? ?醫療廢物種類繁雜,不同類別的
    的頭像 發表于 12-31 11:14 ?261次閱讀
    醫療廢物在線<b class='flag-5'>監測</b>系統提升醫廢<b class='flag-5'>管理</b>效能

    SPD智能防雷在線監測管理系統行業應用方案

    一、系統概述 SPD智能防雷在線監測管理系統是集浪涌保護器(SPD)運行狀態監測、雷電流檢測、接地電阻監測、故障報警與數據
    的頭像 發表于 10-31 11:45 ?1274次閱讀
    SPD<b class='flag-5'>智能</b>防雷在線<b class='flag-5'>監測</b><b class='flag-5'>管理</b>系統行業應用方案

    智能監測管理平臺 BS架構,多項目管理 智能分析、預測、協同一體化

    智能監測
    穩控自動化
    發布于 :2025年10月28日 16:00:21

    智能河道監測系統:助力河道安全高效管理

    資深新媒體編輯,今天我們來聊聊智能河道監測系統如何用科技手段化解這些難題,讓河道管理變得更智能、更高效。河道管理中的痛點不少。比如,水位變化
    的頭像 發表于 10-10 15:50 ?412次閱讀
    <b class='flag-5'>智能</b>河道<b class='flag-5'>監測</b>系統:助力河道安全高效<b class='flag-5'>管理</b>

    智能小車設計源碼和圖紙資料

    智能小車設計源碼和圖紙
    發表于 08-25 15:38 ?1次下載

    FP6291-智能門鎖應急電源方案 #智能鎖 #芯片 #升壓芯片 #電源管理芯片

    電源管理
    jf_15550837
    發布于 :2025年06月10日 10:05:36

    手機APP遠程控制,智能家居監測智能控制系統(STM32L4、服務器、安卓源碼)實例項目打包下載

    手機APP遠程控制,智能家居監測智能控制系統(STM32L4、服務器、安卓源碼)實例項目打包,推薦下載!
    發表于 05-29 21:47

    每周推薦!基于STM32開發項目實例下載(含PCB、原理圖、源碼等)

    1、手機APP遠程控制,智能家居監測智能控制系統(含源碼) 手機APP遠程控制,智能家居監測
    發表于 05-26 14:01

    手機APP遠程控制,智能家居監測智能控制系統(STM32L4、服務器、安卓源碼

    手機APP遠程控制,智能家居監測智能控制系統(STM32L4、服務器、安卓源碼) 項目實例下載! 純分享帖,需要者可點擊附件免費獲取完整資料~~~【免責聲明】本文系網絡轉載,版
    發表于 05-23 21:00

    在線監測管理系統的智能化功能詳解 多角色權限與多項目管理 多終端適配

    在線監測管理系統的智能化功能詳解 多角色權限與多項目管理 多終端適配 在線監測管理系統采用基于B
    的頭像 發表于 03-19 17:18 ?804次閱讀

    ?Xyber-BMS?(智能電源管理系統)解析

    Xyber-BMS(智能電源管理系統) 是一種結合先進算法、傳感器技術和物聯網(IoT)的電源管理解決方案,旨在優化能源使用效率、延長電池壽
    的頭像 發表于 03-18 11:01 ?2181次閱讀

    智慧梁場監測管理系統作為一項重要技術使梁場管理更加智能

    ? ? ? ?隨著科技的不斷進步,智能化技術在公路梁場建設中的應用日益廣泛,智慧梁場監測管理系統作為一項重要技術,正在推動梁場建設向更高效、更智能、更安全的方向發展。本文將詳細介紹智慧
    的頭像 發表于 03-10 09:11 ?836次閱讀