一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

可編程!合宙IoT Power與Lua腳本的奇妙碰撞

合宙LuatOS ? 2022-09-07 09:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

c3548b8c-2d3b-11ed-9ade-dac502259ad0.gif

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


c3628db8-2d3b-11ed-9ade-dac502259ad0.jpg

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

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

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

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

說干就干,寫個腳本:

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

Lua

--該腳本可以測量二極管伏安特性曲線
--測試前請先關(guān)閉輸出,然后將二極管正負(fù)極分別連接至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)

運行一下看看效果:

c3751384-2d3b-11ed-9ade-dac502259ad0.png

模擬電池放電曲線

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

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

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

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)

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

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)致輸出電流很小,當(dāng)設(shè)備進(jìn)行無線發(fā)射時會遇到電流不夠?qū)е轮貑?。這種現(xiàn)象在研發(fā)階段很難模擬,就會導(dǎo)致設(shè)備實際工作時長和理論值偏差較大。

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

c3548b8c-2d3b-11ed-9ade-dac502259ad0.gif

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


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

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

c3afc880-2d3b-11ed-9ade-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)系本站處理。 舉報投訴
  • IOT
    IOT
    +關(guān)注

    關(guān)注

    187

    文章

    4305

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    可編程SLIC語音芯片哪家好?

    在當(dāng)今數(shù)字化快速發(fā)展的時代,語音芯片的應(yīng)用越來越廣泛,而可編程SLIC(用戶線路接口電路)語音芯片更是憑借其獨特的優(yōu)勢,受到眾多行業(yè)的青睞。那么,面對眾多的選擇,哪家的可編程SLIC語音芯片更勝一籌
    的頭像 發(fā)表于 06-12 13:55 ?233次閱讀
    <b class='flag-5'>可編程</b>SLIC語音芯片哪家好?

    愛普生可編程晶振SG-8018CA(X1G005571)在物聯(lián)網(wǎng)設(shè)備中的應(yīng)用

    隨著物聯(lián)網(wǎng)(IoT)技術(shù)的飛速發(fā)展,各種智能設(shè)備需要高精度、低功耗且靈活可編程的時鐘源來確保其穩(wěn)定運行。愛普生的SG-8018CA(X1G005571)可編程晶振憑借其卓越的性能,成為物聯(lián)網(wǎng)設(shè)備的理想選擇。
    的頭像 發(fā)表于 03-19 17:05 ?324次閱讀

    可編程電子負(fù)載的原理及主要應(yīng)用

    可編程電子負(fù)載是電源測試領(lǐng)域的關(guān)鍵設(shè)備,能夠模擬真實負(fù)載條件并動態(tài)調(diào)整參數(shù),為電源、電池、新能源設(shè)備等提供性能驗證。源儀電子基于20年行業(yè)經(jīng)驗,開發(fā)了可編程直流電子負(fù)載系列,涵蓋高精度測試、動態(tài)響應(yīng)及多通道控制功能,滿足從研發(fā)到量產(chǎn)的全流程測試需求。
    的頭像 發(fā)表于 03-15 10:38 ?903次閱讀
    <b class='flag-5'>可編程</b>電子負(fù)載的原理及主要應(yīng)用

    可編程交流負(fù)載標(biāo)準(zhǔn)

    可編程交流負(fù)載標(biāo)準(zhǔn)是電力電子測試領(lǐng)域的重要組成部分,它為交流電源、變頻器、逆變器等設(shè)備的測試提供了標(biāo)準(zhǔn)化的負(fù)載條件。這種可編程性使得測試更加靈活和精確,能夠滿足不同設(shè)備和應(yīng)用場景的需求。 核心在于其
    發(fā)表于 01-15 13:53

    愛普生(EPSON) 常規(guī)可編程晶振

    常規(guī)可編程晶振主要用來替換一般用途的中低頻四腳有源晶振,可以滿足大多數(shù)用途有源晶振的快速交付。愛普生(Epson)作為全球領(lǐng)先的晶體產(chǎn)品供應(yīng)商,提供了一系列可編程晶振,可以與基波正常振蕩器相同
    的頭像 發(fā)表于 01-13 15:24 ?616次閱讀
    愛普生(EPSON) 常規(guī)<b class='flag-5'>可編程</b>晶振

    PLC可編程控制器的簡介

    PLC的英文全稱為Programmable Logic Controller,也就是可編程序控制器。它是一種將計算機(jī)技術(shù)與繼電器技術(shù)結(jié)合起來的現(xiàn)代化自動控制裝置,1969年,美國數(shù)字化設(shè)備公司研制出
    的頭像 發(fā)表于 12-23 09:09 ?1160次閱讀

    4G模組如何輕松上云?IoT_CLOUD之中移OneNET

    ?** 有新朋友問:可以多講些云平臺的操作嗎?** 當(dāng)然可以!文末留言你想要了解的云平臺,優(yōu)先安排~ 接下來,本文將以Air780E+LuatOS作為示例,教你使用IoT_CLOUD連接中移
    的頭像 發(fā)表于 10-07 20:41 ?800次閱讀
    4G模組如何輕松上云?<b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>IoT</b>_CLOUD之中移OneNET

    可編程晶振的優(yōu)點和缺點

    可編程晶振,近年來漸入人們眼中。什么是可編程晶振,與普通晶振有什么區(qū)別?可編程晶振的優(yōu)點和缺點有哪些?1,什么是可編程晶振可編程晶振是一種可
    的頭像 發(fā)表于 09-30 10:44 ?866次閱讀
    <b class='flag-5'>可編程</b>晶振的優(yōu)點和缺點

    用TMAG5328電阻器和電壓可編程霍爾效應(yīng)開關(guān)實現(xiàn)可編程性和診斷

    電子發(fā)燒友網(wǎng)站提供《用TMAG5328電阻器和電壓可編程霍爾效應(yīng)開關(guān)實現(xiàn)可編程性和診斷.pdf》資料免費下載
    發(fā)表于 09-11 10:01 ?0次下載
    用TMAG5328電阻器和電壓<b class='flag-5'>可編程</b>霍爾效應(yīng)開關(guān)實現(xiàn)<b class='flag-5'>可編程</b>性和診斷

    動態(tài)可編程增益放大器

    電子發(fā)燒友網(wǎng)站提供《動態(tài)可編程增益放大器.pdf》資料免費下載
    發(fā)表于 09-07 10:43 ?0次下載
    動態(tài)<b class='flag-5'>可編程</b>增益放大器

    面向全體用戶的一封求助信

    現(xiàn)面向所有的用戶正式求助?。?!希望有意愿幫助的用戶,提出您的寶貴意見!
    的頭像 發(fā)表于 09-05 16:11 ?720次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>面向全體用戶的一封求助信

    Air700EAQ硬件設(shè)計手冊——應(yīng)用接口2

    Air700EAQ硬件設(shè)計的詳細(xì)介紹
    的頭像 發(fā)表于 08-27 14:23 ?835次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>Air700EAQ硬件設(shè)計手冊——應(yīng)用接口2

    Air700ECQ硬件設(shè)計手冊——應(yīng)用接口1

    Air700ECQ硬件設(shè)計手冊——應(yīng)用接口1
    的頭像 發(fā)表于 08-21 18:46 ?731次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>Air700ECQ硬件設(shè)計手冊——應(yīng)用接口1

    MQTT應(yīng)用看這篇!Air780EP_LuatOS_MQTT應(yīng)用指南

    Air780EP 是的低功耗4G模組之一,支持LuatOS的腳本二次開發(fā),即使是不太懂技術(shù)的老板,也能輕松使用 Air780EP開發(fā)產(chǎn)品。 本文應(yīng)各位大佬邀請,詳細(xì)講解了Air780EP 的MQTT的應(yīng)用教程!
    的頭像 發(fā)表于 08-08 17:13 ?2990次閱讀
    MQTT應(yīng)用看這篇!<b class='flag-5'>合</b><b class='flag-5'>宙</b>Air780EP_LuatOS_MQTT應(yīng)用指南

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

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