chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

合宙LuatOS ? 來(lái)源:合宙LuatOS ? 作者:讓萬(wàn)物互聯(lián)更簡(jiǎn)單 ? 2022-09-05 14:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

● 測(cè)量二極管伏安特性曲線

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

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

說(shuō)干就干,寫(xiě)個(gè)腳本:

Lua


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

--最終將生成一張圖片

Lua

--該腳本可以測(cè)量二極管伏安特性曲線
--測(cè)試前請(qǐng)先關(guān)閉輸出,然后將二極管正負(fù)極分別連接至IoT Power
--最終將生成一張圖片

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

local path = apiGetSavePath("png")

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

end



--開(kāi)個(gè)任務(wù)來(lái)測(cè)

sys.taskInit(
function()
sys.wait(1000)
--結(jié)果存這里
local c = {}
local v = {}
print("開(kāi)始測(cè)試")
for i = 1, 19 do --mA檔位時(shí)
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檔位時(shí)
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("測(cè)試結(jié)束!文件已保存在", path)
end
apiSetDevice(0, 0, false)
end)


運(yùn)行一下看看效果:

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

模擬電池放電曲線

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

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

Lua

--模擬電池放電腳本

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

--請(qǐng)先連接設(shè)備,再運(yùn)行腳本

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

local maxCurrent = 1000

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

local power = 0.37 * 1000

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

--瓦時(shí)和毫安時(shí)換算

--Wh=V×mAh÷1000

--mAh=Wh÷V×1000



--電量從100%到0%,每10%的電壓(除了最后四個(gè)為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

}

--獲取使用過(guò)多少電量后的電池電壓

--傳入值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("開(kāi)始測(cè)試!")

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)

--獲取當(dāng)前電壓

local v = getVoltagePercent(used)

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

if v ~= lastv then

localr = apiSetDevice(maxCurrent, v, true)

if not r then

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

end

end

lastv = v

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

sys.wait(2000)

end

end

)

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

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

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

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

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

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



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




審核編輯:劉清

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

    關(guān)注

    149

    文章

    10232

    瀏覽量

    174847
  • 可調(diào)電源
    +關(guān)注

    關(guān)注

    12

    文章

    92

    瀏覽量

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

    關(guān)注

    0

    文章

    21

    瀏覽量

    7779
  • IOT
    IOT
    +關(guān)注

    關(guān)注

    189

    文章

    4352

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    大彩講堂:VisualHMI-LUA教程-獲取和設(shè)置16位數(shù)據(jù)函數(shù)

    一、適合范圍本文檔適用于VisualHMI平臺(tái),Lua腳本語(yǔ)言為V5.3版本,配合工程可以完成大部分的內(nèi)部邏輯處理。二、概述2.1get_uint16(vtype,addr)讀取無(wú)符號(hào)短整型寄存器
    的頭像 發(fā)表于 10-13 16:40 ?396次閱讀
    大彩講堂:VisualHMI-<b class='flag-5'>LUA</b>教程-獲取和設(shè)置16位數(shù)據(jù)函數(shù)

    LuatOS腳本開(kāi)發(fā)入門(mén):嵌入式運(yùn)行框架全解析!

    想搞懂LuatOS如何運(yùn)行Lua腳本?本文深入剖析其嵌入式運(yùn)行框架,涵蓋虛擬機(jī)加載、任務(wù)協(xié)程、系統(tǒng)初始化等關(guān)鍵環(huán)節(jié),適合初學(xué)者。 一、LuatOS 編程起步 1.1 底層固件怎么啟動(dòng) LuatOS
    的頭像 發(fā)表于 09-26 17:45 ?123次閱讀
    LuatOS<b class='flag-5'>腳本</b><b class='flag-5'>開(kāi)發(fā)</b>入門(mén):嵌入式運(yùn)行框架全解析!

    嵌入式開(kāi)發(fā)新選擇:LuatOS腳本框架入門(mén)教程

    LuatOS正成為嵌入式開(kāi)發(fā)的新趨勢(shì)!本教程帶你從基礎(chǔ)入手,全面了解其基于Lua腳本開(kāi)發(fā)模式與輕量級(jí)運(yùn)行框架。 一、LuatOS 編程起步 1.1 底層固件怎么啟動(dòng) LuatOS
    的頭像 發(fā)表于 09-26 17:34 ?124次閱讀
    嵌入式<b class='flag-5'>開(kāi)發(fā)</b>新選擇:LuatOS<b class='flag-5'>腳本</b>框架入門(mén)教程

    請(qǐng)問(wèn)如何通過(guò) PinView 和 lua 腳本檢查和修改寄存器狀態(tài)?

    如何通過(guò) PinView 和 lua 腳本檢查和修改寄存器狀態(tài)?
    發(fā)表于 08-28 07:57

    如何通過(guò) PinView 和 lua 腳本檢查和修改寄存器狀態(tài)?

    如何通過(guò) PinView 和 lua 腳本檢查和修改寄存器狀態(tài)?
    發(fā)表于 08-25 06:59

    大彩講堂:VisualHMI-LUA教程-on_run回調(diào)函數(shù)使用指南

    一、適合范圍本文檔適用于VisualHMI平臺(tái),Lua腳本語(yǔ)言為V5.3版本,配合工程可以完成大部分的內(nèi)部邏輯處理。二、概述on_run(screen)周期回調(diào)函數(shù),用該回調(diào)函數(shù),會(huì)根據(jù)設(shè)定的時(shí)間
    的頭像 發(fā)表于 07-23 15:25 ?772次閱讀
    大彩講堂:VisualHMI-<b class='flag-5'>LUA</b>教程-on_run回調(diào)函數(shù)使用指南

    揭秘:硬件圈的光通信密碼——Lua+LED!

    當(dāng)Lua的輕快語(yǔ)法遇上LED的物理脈沖,竟能生成物聯(lián)網(wǎng)設(shè)備的社交指紋!通過(guò)定義不同的閃爍協(xié)議(如Morse光碼、RGB情緒譜),開(kāi)發(fā)者們正在用光信號(hào)構(gòu)建硬件間的非語(yǔ)言社交網(wǎng)絡(luò)——這是智能設(shè)備獨(dú)有
    的頭像 發(fā)表于 05-15 14:29 ?333次閱讀
    揭秘:硬件圈的光通信密碼——<b class='flag-5'>Lua</b>+LED!

    【正點(diǎn)原子STM32H7R3開(kāi)發(fā)套件試用體驗(yàn)】移植lua解釋器

    Lua簡(jiǎn)介 Lua 是一種輕量小巧的腳本語(yǔ)言,用標(biāo)準(zhǔn)C語(yǔ)言編寫(xiě)并以源代碼形式開(kāi)放, 其設(shè)計(jì)目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴(kuò)展和定制功能。 Lua 是巴西里約熱內(nèi)盧天
    發(fā)表于 12-29 13:30

    nginx+lua+redis實(shí)現(xiàn)灰度發(fā)布

    了這種能力,隨時(shí)可以基于這種能力和思想調(diào)整實(shí)現(xiàn)方案:比如nginx+lua+(其他數(shù)據(jù)源)、nginx+(其他腳本語(yǔ)言) 一、灰度方案: 常見(jiàn)的灰度實(shí)現(xiàn)方案: 1.請(qǐng)求路由:通過(guò)請(qǐng)求中的標(biāo)識(shí)(如用戶ID、設(shè)備ID、請(qǐng)求頭等)來(lái)決定是否將請(qǐng)求路由到灰度環(huán)境。可以使用反向代
    的頭像 發(fā)表于 12-17 10:01 ?643次閱讀

    Open開(kāi)發(fā)新方法!Lua語(yǔ)言快速學(xué)習(xí)

    很多朋友都問(wèn)我不會(huì)Lua又想open開(kāi)發(fā),怎么辦?我的答復(fù)是Lua先學(xué)起來(lái),再看LuatOS具體應(yīng)用示例,上手極快,感興趣的朋友們,可以參照本文一起學(xué)。
    的頭像 發(fā)表于 12-11 09:31 ?780次閱讀
    Open<b class='flag-5'>開(kāi)發(fā)</b>新方法!<b class='flag-5'>Lua</b>語(yǔ)言快速學(xué)習(xí)

    不會(huì)Lua又想Open開(kāi)發(fā),怎么辦?

    本次我把收藏已久的LuatOS具體應(yīng)用示例特分享個(gè)大家,希望不會(huì)Lua又想Open開(kāi)發(fā)的朋友有收獲。
    的頭像 發(fā)表于 12-09 14:43 ?716次閱讀
    不會(huì)<b class='flag-5'>Lua</b>又想Open<b class='flag-5'>開(kāi)發(fā)</b>,怎么辦?

    Linux從零到精通:最簡(jiǎn)單的Shell腳本入門(mén)教程

    在數(shù)字化時(shí)代的浪潮中,Linux操作系統(tǒng)憑借其高效、穩(wěn)定、開(kāi)源的特性,成為了無(wú)數(shù)開(kāi)發(fā)者和系統(tǒng)管理員的首選。 而在Linux的龐大生態(tài)系統(tǒng)中,Shell編程無(wú)疑是連接用戶與系統(tǒng)內(nèi)核的橋梁,它讓我們能夠
    的頭像 發(fā)表于 12-05 09:56 ?2078次閱讀
    Linux從零到精通:最簡(jiǎn)單的Shell<b class='flag-5'>腳本</b>入門(mén)教程

    @視覺(jué)工程師丨15分鐘上手《AIDI3.2腳本開(kāi)發(fā)教程》視頻,請(qǐng)查收!

    AIDI有什么系統(tǒng)性地進(jìn)階開(kāi)發(fā)教程?AIDI調(diào)用Python腳本的基本原理是什么?常見(jiàn)的Python異常如何處理?區(qū)域計(jì)算工具有哪些常用案例?……為幫助廣大視覺(jué)工程師及開(kāi)發(fā)者更好地掌握AI視覺(jué)算法
    的頭像 發(fā)表于 11-09 01:06 ?1215次閱讀
    @視覺(jué)工程師丨15分鐘上手《AIDI3.2<b class='flag-5'>腳本</b><b class='flag-5'>開(kāi)發(fā)</b>教程》視頻,請(qǐng)查收!

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

    今天我們繼續(xù)學(xué)習(xí)Lua語(yǔ)法基礎(chǔ)教程,中篇。 五、變量 5.1 number變量 變量,可以看作是一個(gè)桶,在里面裝你想要裝的內(nèi)容。這些內(nèi)容可以是Lua包含的所有合法類(lèi)型。 例如:我想要新建一個(gè)桶,名叫
    的頭像 發(fā)表于 10-26 11:39 ?1027次閱讀
    <b class='flag-5'>Lua</b>語(yǔ)法基礎(chǔ)教程(中篇)

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

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