0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

當IoT Power遇上Lua腳本開發(fā),會擦出怎樣的火花

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2022-09-05 14:45 ? 次閱讀

Lua腳本開發(fā)簡單快速,在Cat.1和MCU開發(fā)應(yīng)用中已歷經(jīng)驗證并廣受好評。所以LuatOS社群經(jīng)常有人問:合宙推出的口袋神器——IoT Power,可以腳本開發(fā)嗎?

答案肯定是可以。今天我們就來看看,當IoT Power遇上Lua腳本開發(fā),會擦出怎樣的火花~

淺談IoT Power的Lua腳本開發(fā)應(yīng)用


合宙IoT Power專為工程師朋友量身打造,外觀近似ZIPPO打火機大小——既是一款高性能高精度的迷你型可調(diào)電源,也是兼?zhèn)溆涗浄治龉δ艿牡凸?a href="http://ttokpm.com/tags/電流/" target="_blank">電流分析儀。

● 測量二極管伏安特性曲線

二極管伏安特性,初中物理課就學(xué)過的一個基本物理法則,相信大家都再熟悉不過了。可是通常測量這個曲線很麻煩,要不停的調(diào)整電壓并記錄電流然后繪圖。

調(diào)整電壓看電流,這不正是IoT Power的強項嘛!那我們只需要寫腳本慢慢升高電壓,然后讀取電流自動繪圖就行了。

說干就干,寫個腳本:

▼ 上下滾動,查看全部 ▼
手機橫屏查看更方便

Lua


																																										--該腳本可以測量二極管伏安特性曲線 --測試前請先關(guān)閉輸出,然后將二極管正負極分別連接至IoT Power
																																											

--最終將生成一張圖片

apiMessageBox("提示", "請先選擇需要保存圖表的文件位置")

local path = apiGetSavePath("png")

if not apiSetDevice(0, 0, false) then apiMessageBox("警告", "獲取不到信息,請確保你已連接設(shè)備!") print("腳本已退出") return

end

--開個任務(wù)來測

sys.taskInit( function() sys.wait(1000) --結(jié)果存這里 local c = {} local v = {} print("開始測試") for i = 1, 19 do --mA檔位時 apiSetDevice(i / 10, 1, true) sys.wait(500) local tc, tv = apiGetCV() if tc and tv then if not (#v > 0 and tv < v[#v]) then table.insert(c, tc) table.insert(v, tv) print("got", tc, tv) end end end for i = 4, 50 do --A檔位時 apiSetDevice(i, 1, true) sys.wait(500) local tc, tv = apiGetCV() if tc and tv and tv > v[#v] then table.insert(c, tc) table.insert(v, tv) print("got", tc, tv) end end if path then print(apiPlot(v, c, "二極管伏安曲線", "電壓(V)", "電流(mA)", 500, 500, path))

print("測試結(jié)束!文件已保存在", path) end apiSetDevice(0, 0, false) end)

運行一下看看效果:

719f61ec-2cd0-11ed-ba43-dac502259ad0.png

模擬電池放電曲線

在真實世界里電池的電壓下降不是線性的,所以經(jīng)常會遇到電池前面一段很耐用,但是到了一定電壓以后,電壓開始快速下降。

這種過程原來很難模擬,但是有了腳本就不一樣了。我們可以通過腳本模擬電池放電曲線,達到和真實電池一樣的電壓變化。

▼ 上下滾動,查看全部 ▼ 手機橫屏查看更方便

Lua


																																										

--模擬電池放電腳本

--請根據(jù)實際需求修改這里的變量值

--請先連接設(shè)備,再運行腳本

--最大電流限制,單位mA

local maxCurrent = 1000

--電池電量(單位mWh),這里假定0.37Wh(3.7V 100mAh)

local power = 0.37 * 1000

--例子數(shù)據(jù):

--瓦時和毫安時換算

--Wh=V×mAh÷1000

--mAh=Wh÷V×1000

--電量從100%到0%,每10%的電壓(除了最后四個為15%、10%、5%、0%)

local vt = {

4.2,

4.08,

4,

3.93,

3.87,

3.82,

3.79,

3.77,

3.73,

3.7,

3.68,

3.5,

2.5

}

--獲取使用過多少電量后的電池電壓

--傳入值0-100,傳入整型數(shù)字

function getVoltagePercent(used)

if used >= 100 then

return vt[#vt]

end

if used < 80 then --剩余電量大于20%

local now = math.floor(used / 10)

local offset = (used % 10) / 10

return vt[now + 1] - (vt[now + 1] - vt[now + 2]) * offset

else--剩余電量小于20%

local now = math.floor((used - 80) / 5)

local offset = (used % 5) / 5

return vt[now + 9] - (vt[now + 9] - vt[now + 10]) * offset

end

end

sys.taskInit(

function()

print("開始測試!")

local totalPower = 0

local lastPower = apiGetPower()

local lastv = 0

while true do

local pNow = apiGetPower()

local p = pNow - lastPower

--防止比上次小

if p > 0 then

totalPower = totalPower + p

end

lastPower = pNow

--算一下現(xiàn)在用了多少電

local used = math.floor(totalPower / power * 100)

--獲取當前電壓

local v = getVoltagePercent(used)

--和上次電壓不同的時候,就設(shè)置一下電壓

if v ~= lastv then

localr = apiSetDevice(maxCurrent, v, true)

if not r then

print("電壓設(shè)置失敗,請檢查數(shù)據(jù)和設(shè)備連接")

end

end

lastv = v

print("已使用電量" .. totalPower .. "mWh," .. used .. "%,輸出電壓" .. v .. "V")

sys.wait(2000)

end

end

)

● 模擬電池內(nèi)阻

電池放電過程中不僅僅是電壓的下降,實際上內(nèi)阻也會發(fā)生變化。特別是一些低功耗設(shè)備的鋰亞電池,電壓下降以后內(nèi)阻很大導(dǎo)致輸出電流很小,當設(shè)備進行無線發(fā)射時會遇到電流不夠?qū)е轮貑ⅰ?/span>這種現(xiàn)象在研發(fā)階段很難模擬,就會導(dǎo)致設(shè)備實際工作時長和理論值偏差較大。

通過IoT Power腳本,我們可以設(shè)置在不同電壓下的最大電流模擬電池內(nèi)阻,達到和真實世界一樣的情況,方便在研發(fā)期及時發(fā)現(xiàn)問題。

IoT Power使用及技術(shù)交流


最新版本的IoT Power上位機的腳本控制頁面,即可看到模擬電池放電和測量二極管伏安曲線的兩個示例腳本。

最新客戶端/使用說明: https://iotpower.luatos.com/

71ce5f56-2cd0-11ed-ba43-dac502259ad0.png

可根據(jù)實際需求,新建自己的腳本自由發(fā)揮;相關(guān)Lua接口在幫助文檔頁面查找。

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Power
    +關(guān)注

    關(guān)注

    1

    文章

    498

    瀏覽量

    67667
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    387

    瀏覽量

    14813
  • lua腳本
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    7573

原文標題:可編程!合宙IoT Power與Lua腳本的奇妙碰撞

文章出處:【微信號:HelloLuatOS,微信公眾號:合宙LuatOS】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    AI遇上質(zhì)檢擦出什么樣的火花

    質(zhì)檢是工廠中的主要場景,傳統(tǒng)的人工質(zhì)檢需要工人時刻盯著機器屏幕,從圖中發(fā)現(xiàn)產(chǎn)品的缺陷,速度大約保持在2秒一張。但如果一張產(chǎn)品的瑕疵難以判斷,可能還要多花上幾秒思考。而在具體的操作過程中,因為考驗視力和專注度,質(zhì)檢員們往往感到較為疲倦。
    的頭像 發(fā)表于 11-07 11:44 ?159次閱讀

    Lua語法基礎(chǔ)教程(上篇)

    意味著Lua虛擬機可以很方便的嵌入別的程序里,從而為應(yīng)用程序提供靈活的擴展和定制功能。而整個Lua虛擬機編譯后僅僅一百余K,經(jīng)過適當?shù)牟眉暨€能做到更小,十分適合嵌入式的開發(fā)。 同時,在目前腳本
    的頭像 發(fā)表于 10-24 07:17 ?132次閱讀

    電機碳刷打火花的原因及處理方法

    電機碳刷打火花的原因及處理方法如下: 一、電機碳刷打火花的原因 碳刷磨損過度 :碳刷磨損到一定程度時,其與換向器之間的接觸面積減小,導(dǎo)致電阻增大,進而產(chǎn)生高溫和
    的頭像 發(fā)表于 09-03 14:32 ?2616次閱讀

    污水處理廠遇上數(shù)字孿生,將碰撞出怎樣火花?

    山西太忻一體化經(jīng)濟區(qū)污水處理廠位于山西省太原市太忻經(jīng)濟區(qū)大盂首開區(qū)南部,占地301.5畝,總設(shè)計規(guī)模為20萬噸/日,一期工程5萬噸/日。項目采用地上式布置,涵蓋進水井、水解生物池、二沉池、D型濾池等21個單體建筑,項目建成后,經(jīng)過深度處理的污水將達到國家最高排放標準,并實現(xiàn)全部循環(huán)再利用,真正做到零排放,從而發(fā)揮區(qū)域生態(tài)環(huán)境治理的示范效應(yīng)?!緢D片來源于中鐵建
    的頭像 發(fā)表于 08-30 13:12 ?89次閱讀
    <b class='flag-5'>當</b>污水處理廠<b class='flag-5'>遇上</b>數(shù)字孿生,將碰撞出<b class='flag-5'>怎樣</b>的<b class='flag-5'>火花</b>?

    【龍芯2K0300蜂鳥板試用】+3.移植lua到loongarch

    ,輸入$CC就可以編譯了,輸入loongarch64-linux-gnu-gcc *.c -o lua -lm -O3。生成可執(zhí)行文件lua 將可執(zhí)行文件拖到開發(fā)板中,并添加可執(zhí)行權(quán)限,并執(zhí)行
    發(fā)表于 08-18 03:31

    5G融合體育時,碰撞出怎樣火花

    觀賽的樂趣,你更愛哪一種?是和親朋好友圍坐電視機前共同經(jīng)歷難忘的時刻,還是獨自徜徉于直播、彈幕和熱搜的世界?隨著科技與體育的關(guān)系日益緊密,我們的觀賽體驗正在被重新定義。正值全球矚目的體育盛事即將在巴黎啟幕,讓我們共同期待5G融合體育時,碰撞出
    的頭像 發(fā)表于 08-16 11:14 ?6239次閱讀

    合宙Air780EP模塊Lua開發(fā)阿里云應(yīng)用指南

    合宙Air780EP模塊Lua開發(fā)阿里云超詳細教學(xué)!看完包學(xué)會!
    的頭像 發(fā)表于 08-08 09:00 ?848次閱讀
    合宙Air780EP模塊<b class='flag-5'>Lua</b><b class='flag-5'>開發(fā)</b>阿里云應(yīng)用指南

    PLC遇上IOT網(wǎng)關(guān)可以解決什么問題

    可編程邏輯控制器(PLC)在制造業(yè)、石油化工、能源、紡織、印刷、環(huán)保等領(lǐng)域占據(jù)著至關(guān)重要的地位。作為專門為工業(yè)場景而設(shè)計的數(shù)字計算機系統(tǒng),PLC的核心功能在于通過不間斷采集輸入信號、依據(jù)內(nèi)部預(yù)置邏輯規(guī)則進行解析判斷,并由此生成對應(yīng)的輸出控制信號,形成自動化的控制閉環(huán),確保在任何嚴苛條件下都能可靠運作。 隨著云計算、信息化等技術(shù)的發(fā)展,PLC也暴露出各種各樣的問題。雖然不影響使用,但往往會對企業(yè)數(shù)字化轉(zhuǎn)型,需要尋求
    的頭像 發(fā)表于 07-17 10:39 ?224次閱讀
    <b class='flag-5'>當</b>PLC<b class='flag-5'>遇上</b><b class='flag-5'>IOT</b>網(wǎng)關(guān)可以解決什么問題

    SOLIDWORKS教育版:開啟數(shù)字化設(shè)計新時代的鑰匙

    在數(shù)字化設(shè)計的世界里,SolidWorks無疑是一個重量級的角色。那么,你是否想過,solidworks遇上教育版,碰撞出怎樣火花呢?
    的頭像 發(fā)表于 06-17 16:18 ?224次閱讀

    USB Type-C 遇上汽車應(yīng)用新需求,擦出什么火花?

    盡管 USB Type-C 主要作為筆記本電腦、平板電腦和智能手機的新一代、更快充電標準而為人所熟知,但在電力輸送和連接應(yīng)用領(lǐng)域也變得日益普及。USB Type-C 的速度和效率非常高:隨著 USB 電力輸送 (USB PD) R3.1 規(guī)范的發(fā)展, 一個 USB Type-C 連接器便可支持高達 240W(48V 和 5A)的功率,相較于 USB Std-A 連接器的 7.5W(5V 和 1.5A) ,這是一個顯著的提升。 USB Type-C 的廣泛采用并非偶然,歐盟、印度、巴西和韓國紛紛制定并實施了相關(guān)規(guī)定,要求便攜式個人電子產(chǎn)品
    發(fā)表于 05-16 09:49 ?730次閱讀
    <b class='flag-5'>當</b>USB Type-C <b class='flag-5'>遇上</b>汽車應(yīng)用新需求,<b class='flag-5'>會</b><b class='flag-5'>擦出</b>什么<b class='flag-5'>火花</b>?

    法式美學(xué)遇上鴻蒙生態(tài),Hi暢享70 Pro 5G演繹科技浪漫?

    70 Pro 5G,作為繼成功融入鴻蒙生態(tài)系統(tǒng)并推出Hi暢享60系列之后的又一里程碑。這款新品的問世,不禁讓人好奇,充滿法式風(fēng)情的設(shè)計理念與鴻蒙生態(tài)的前沿科技相遇,將激發(fā)出怎樣的創(chuàng)意火花? 在整體布局上,Hi暢享70 Pro
    的頭像 發(fā)表于 03-29 12:51 ?389次閱讀
    <b class='flag-5'>當</b>法式美學(xué)<b class='flag-5'>遇上</b>鴻蒙生態(tài),Hi暢享70 Pro 5G演繹科技浪漫?

    一個電源的正接到另一個電源的負怎樣?為什么?

    一個電源的正接到另一個電源的負怎樣?為什么? 一個電源的正極連接到另一個電源的負極時,會發(fā)生短路現(xiàn)象。這是因為在電路中,電源的正極提供電子,而負極接收電子,并將其送回電源。
    的頭像 發(fā)表于 01-16 11:06 ?3186次閱讀

    傳統(tǒng)能源大佬“撞上”新能源“新貴”:擦出怎樣火花?

    近年來,中國新能源汽車市場蓬勃發(fā)展,新能源充電行業(yè)迎來了前所未有的機遇。在這個背景下,殼牌、中石油等石化巨頭們紛紛加碼充電樁領(lǐng)域,試圖在這個迅速發(fā)展的市場中搶占一席之地。 黨的二十大報告指出,要加快發(fā)展方式綠色轉(zhuǎn)型,推動形成綠色低碳的生產(chǎn)方式和生活方式。這為傳統(tǒng)能源企業(yè)加快向“油氣氫電服”綜合能源服務(wù)商轉(zhuǎn)型發(fā)展指明了道路。 中石油方面表示,到“十四五”末期,公司將建設(shè)充換電站1000座以上,升級打造“可換電
    的頭像 發(fā)表于 12-06 09:21 ?387次閱讀

    三次輸入密碼錯誤怎么辦?

    鎖定的是IP,不是輸入的賬戶名或者密碼,也就是說任一一個輸錯3次就會被鎖定 Redis的Lua腳本中實現(xiàn)了key過期策略,key消失時鎖定自然也就消失了 技術(shù)棧同SpringBoot+Redis+
    的頭像 發(fā)表于 11-28 10:00 ?732次閱讀
    三次輸入密碼錯誤怎么辦?

    腳本錯誤scripterror怎么解決

    分析和排查。以下是一些常見的解決腳本錯誤的方法: 檢查語法錯誤: 仔細檢查腳本中的代碼,看是否有拼寫錯誤、缺少分號、括號不匹配等語法錯誤。 在一些集成開發(fā)環(huán)境(IDE)或代碼編輯器中,可以借助自動完成、語法高亮等功能來輔助檢查語
    的頭像 發(fā)表于 11-26 14:46 ?7742次閱讀