今天我們學(xué)習(xí)的是Air780E模組LuatOS開(kāi)發(fā)之ADC應(yīng)用,希望能幫助到大家。
1、模數(shù)轉(zhuǎn)換(ADC)概述
1.1 ADC簡(jiǎn)介
ADC通常指模擬/數(shù)字轉(zhuǎn)換器,是指將連續(xù)變量的模擬信號(hào)轉(zhuǎn)換為離散的數(shù)字信號(hào)的器件。Cat.1模塊ADC接口主要用來(lái)檢測(cè)模擬電壓信號(hào)量,用于電池電壓檢測(cè),溫濕度檢測(cè),TDS檢測(cè)等應(yīng)用。
1.2 ADC接口介紹
根據(jù)Air780E產(chǎn)品手冊(cè)內(nèi)《Air780E_硬件設(shè)計(jì)手冊(cè)_V1.3.3.pdf》可知:
(1)Air780E內(nèi)部ADC接口精度為12bits外部直流分壓為0-3.4V
(2)Air780E內(nèi)部具有2個(gè)ADC接口,ADC0--AIO3ADC1--AIO4
(3)兩個(gè)特殊通道,CPU內(nèi)部溫度Temp--adc.CH_CPU主供電腳電壓VBAT--adc.CH_VBAT
注意事項(xiàng):設(shè)置分壓(adc.setRange)要在adc.open之前設(shè)置,否則無(wú)效!!Air780E內(nèi)部具有2個(gè)ADC接口,ADC0和ADC1,如下圖紅框所示:
1.3 輸入電壓的范圍
Air780E關(guān)閉分壓后,量程范圍0~1.1V注意:外接輸入電壓切記不可超過(guò)量程,否則有燒毀風(fēng)險(xiǎn)!!!
adc.setRange(adc.ADC_RANGE_1_2)--air780E關(guān)閉ADC0,1分壓電阻,范圍0~1.1Vadc.setRange(adc.ADC_RANGE_3_8)--air780E開(kāi)啟ADC0,1分壓電阻,范圍0~3.2V
2演示功能概述
本章節(jié)演示了Air780E內(nèi)部2個(gè)ADC接口,以及2個(gè)特殊通道:CPU內(nèi)部溫度Temp--adc.CH_CPU主供電腳電壓VBAT--adc.CH_VBAT的使用教程。
2.1 通過(guò)adc.get()讀取ADC的外部輸入模擬電壓
注:?jiǎn)⒂梅謮汉罅砍套罡咭仓荒艿竭_(dá)3.2V,若想測(cè)量更高的外部電源電壓,需要外接分壓電阻,具體設(shè)計(jì)請(qǐng)參考ADC接口設(shè)計(jì)指導(dǎo);本教程外部輸入電壓在3.2v以?xún)?nèi),需要外部電源與模組共地,保持參考電壓一致。
2.2 通過(guò)adc.get(adc.CH_VBAT)讀取供電電壓
2.3 通過(guò)adc.get(adc.CH_CPU)讀取CPU溫度
2、演示功能概述
本章節(jié)演示了Air780E內(nèi)部2個(gè)ADC接口,以及2個(gè)特殊通道:CPU內(nèi)部溫度Temp--adc.CH_CPU主供電腳電壓VBAT--adc.CH_VBAT的使用教程。
2.1 通過(guò)adc.get()讀取ADC的外部輸入模擬電壓
注:?jiǎn)⒂梅謮汉罅砍套罡咭仓荒艿竭_(dá)3.2V,若想測(cè)量更高的外部電源電壓,需要外接分壓電阻,具體設(shè)計(jì)請(qǐng)參考ADC接口設(shè)計(jì)指導(dǎo);本教程外部輸入電壓在3.2v以?xún)?nèi),需要外部電源與模組共地,保持參考電壓一致。
2.2 通過(guò)adc.get(adc.CH_VBAT)讀取供電電壓
2.3 通過(guò)adc.get(adc.CH_CPU)讀取CPU溫度
3、準(zhǔn)備硬件環(huán)境
3.1 開(kāi)發(fā)板準(zhǔn)備
使用Air780E核心板,
此核心板的詳細(xì)使用說(shuō)明參考:
https://docs.openluat.com/air780e/product/
Air780E產(chǎn)品手冊(cè)中的<<開(kāi)發(fā)板Core_Air780E使用說(shuō)明VX.X.X.pdf>>,寫(xiě)這篇文章時(shí)最新版本的使用說(shuō)明為:<<開(kāi)發(fā)板Core_Air780E使用說(shuō)明V1.0.5.pdf>>;核心板使用過(guò)程中遇到任何問(wèn)題,可以直接參考這份使用說(shuō)明pdf文檔。
3.2 數(shù)據(jù)通信線(xiàn)
USB轉(zhuǎn)typeC數(shù)據(jù)線(xiàn)一根。
3.3 PC電腦
WINDOWS系統(tǒng),其他暫無(wú)特別要求。
3.4 直流穩(wěn)壓電源
功耗分析儀Air9000P:
4、準(zhǔn)備軟件環(huán)境
4.1 下載調(diào)試工具
使用說(shuō)明參考:
Luatools下載和詳細(xì)使用
https://docs.openluat.com/Luatools/
4.2 源碼及固件
4.2.1 底層core下載地址:LuatOS固件版本下載地址
https://docs.openluat.com/air780e/luatos/firmware/
本demo使用的固件是core_V1112壓縮包內(nèi)的LuatOS-SoC_V1112_EC618_FULL.soc
4.2.2 本教程使用的demo:
https://gitee.com/openLuat/LuatOS-Air780E/tree/master/demo/adc
4.2.3 下載源碼和固件
5、模數(shù)轉(zhuǎn)換(ADC)軟硬件資
5.1 API接口介紹
本教程使用api接口為:adc-模數(shù)轉(zhuǎn)換-LuatOS文檔
https://wiki.luatos.com/api/adc.html?highlight=adc
5.2 Air780E燒錄說(shuō)明
將Air780E通過(guò)通過(guò)usb數(shù)據(jù)線(xiàn)連接電腦,如下圖所示:
注:1、按住下載模式按鍵(boot鍵)不放,同時(shí)再長(zhǎng)按開(kāi)機(jī)鍵開(kāi)機(jī),這時(shí)開(kāi)發(fā)板會(huì)進(jìn)入下載模式,Luatools下載進(jìn)度條會(huì)開(kāi)始跑,這時(shí)可以松開(kāi)boot按鍵。直到工具提示下載完成。2、如果,未能成功進(jìn)入下載模式,而是進(jìn)入正常開(kāi)機(jī)模式,這時(shí)可以按住boot鍵,再短按復(fù)位按鍵,讓開(kāi)發(fā)板重啟,重新進(jìn)入下載模式。
如何判斷有沒(méi)有進(jìn)入下載模式:可以通過(guò)PC端的設(shè)備管理器中虛擬出來(lái)的USB端口數(shù)量來(lái)判斷。
正常開(kāi)機(jī)模式:
6、代碼示例介紹
6.1 讀取adc外部輸入模擬電壓
6.1.1 代碼介紹
adc.open()開(kāi)啟ADC后,通過(guò)adc.get(1)獲取ADC1的輸入模擬電壓值。
6.1.2 運(yùn)行結(jié)果展示
可以將adc0/adc1外接穩(wěn)壓電源供電,注意供電不可超過(guò)量程!(本示例啟用分壓后量程0~3.2V),本示例將adc1輸入3V(電源正極接adc1,負(fù)極接GND),查看luatools的log如下(返回值單位為mV):
6.2 讀取供電電壓
6.2.1 代碼介紹
6.2.2 運(yùn)行結(jié)果展示
通過(guò)下圖可以看到,VBAT端供電電壓為4.1V
6.3 讀取CPU溫度
6.3.1 代碼介紹
6.3.2 運(yùn)行結(jié)果展示
通過(guò)下圖可以看到,模組CPU溫度為34攝氏度
7、總結(jié)
本教程簡(jiǎn)單舉例了如何讀取adc輸入電壓、讀取供電電壓、讀取CPU溫度,除此之外,adc可以將各種連續(xù)變化的模擬信號(hào)(如溫度、濕度、壓力、電壓、電流等)轉(zhuǎn)換為離散的數(shù)字信號(hào),本模塊內(nèi)部ADC精度12bits,對(duì)許多應(yīng)用已經(jīng)足夠,如溫濕度傳感器、壓力傳感器、音頻信號(hào)處理等,然而對(duì)于需要更高精度的應(yīng)用,可以外掛更高精度的ADC,如16位,24位等。使用過(guò)程中需注意量程范圍,不可超出量程。
8、常見(jiàn)問(wèn)題
8.1 為什么ADC輸入3V,讀取模擬電壓只有1.1V?
未啟用分壓時(shí),量程最高只能到達(dá)1.1V,若想測(cè)量3V,需啟用分壓。
8.2 ADC測(cè)量電壓來(lái)回跳變,為什么?
看外部輸入電壓是否與模塊共地,正常情況需要共地,保持參考電壓一致。
8.3 adc.read()和adc.get()要用哪一個(gè)?
adc.read()返回兩個(gè)值,一個(gè)原始值,一般沒(méi)用,可以直接拋棄;另一個(gè)是從原始值換算得出的實(shí)際值,通常單位是mV。(僅作了解,不建議使用)adc.get()返回的就是計(jì)算值,通常單位是mV,推薦使用這個(gè)接口來(lái)獲取電壓值。
審核編輯 黃宇
-
4G
+關(guān)注
關(guān)注
15文章
5530瀏覽量
119522 -
模組
+關(guān)注
關(guān)注
6文章
1515瀏覽量
30604 -
LuatOS
+關(guān)注
關(guān)注
0文章
76瀏覽量
2000
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
來(lái)來(lái)來(lái),看這里:低功耗模組LuatOS開(kāi)發(fā)的日志輸出!
![來(lái)來(lái)來(lái),看這里:低功耗<b class='flag-5'>模組</b><b class='flag-5'>LuatOS</b><b class='flag-5'>開(kāi)發(fā)</b>的日志輸出!](https://file1.elecfans.com/web3/M00/00/D6/wKgZPGdOgN6Af5LLAAM7IOHDA10685.png)
Air780E模組LuatOS開(kāi)發(fā)實(shí)戰(zhàn) —— 手把手教你搞定數(shù)據(jù)打包解包
![<b class='flag-5'>Air780E</b><b class='flag-5'>模組</b><b class='flag-5'>LuatOS</b><b class='flag-5'>開(kāi)發(fā)</b>實(shí)戰(zhàn) —— 手把手教你搞定數(shù)據(jù)打包解包](https://file1.elecfans.com/web3/M00/00/C9/wKgZPGdNvJuAXpOwAAWs3wSNnN0725.png)
4G模組Air780E的LuatOS開(kāi)發(fā)之位運(yùn)算(bit)示例
![4G<b class='flag-5'>模組</b><b class='flag-5'>Air780E</b>的<b class='flag-5'>LuatOS</b><b class='flag-5'>開(kāi)發(fā)</b>之位運(yùn)算(bit)示例](https://file1.elecfans.com/web3/M00/00/93/wKgZPGdKqNaAUn-mAALoicuQvpA378.png)
關(guān)于4G模組LuatOS開(kāi)發(fā):通用加解密函數(shù)(crypto)|全攻略
![關(guān)于4G<b class='flag-5'>模組</b><b class='flag-5'>LuatOS</b><b class='flag-5'>開(kāi)發(fā)</b>:通用加解密函數(shù)(crypto)|全攻略](https://file1.elecfans.com/web2/M00/0D/1B/wKgaomdArT-AfrbJAAKOrZmcZ2o656.png)
解析Air780E模組LuatOS開(kāi)發(fā)的隨機(jī)數(shù)(random) 示例篇
![解析<b class='flag-5'>Air780E</b><b class='flag-5'>模組</b><b class='flag-5'>LuatOS</b><b class='flag-5'>開(kāi)發(fā)</b>的隨機(jī)數(shù)(random) 示例篇](https://file1.elecfans.com/web3/M00/00/84/wKgZO2dJrYaAJumCAAL7d1pCzSg077.png)
Air780E模組LuatOS開(kāi)發(fā)的位運(yùn)算(bit)教程篇!
![<b class='flag-5'>Air780E</b><b class='flag-5'>模組</b><b class='flag-5'>LuatOS</b><b class='flag-5'>開(kāi)發(fā)</b>的位運(yùn)算(bit)教程篇!](https://file1.elecfans.com/web1/M00/F5/DE/wKgaoWdFRBuAEqxQAAKFVHMZb20008.png)
Air780E模組的ADC之旅 LuatOS開(kāi)發(fā)實(shí)例
![<b class='flag-5'>Air780E</b><b class='flag-5'>模組</b>的<b class='flag-5'>ADC</b>之旅 <b class='flag-5'>LuatOS</b><b class='flag-5'>開(kāi)發(fā)</b>實(shí)例](https://file1.elecfans.com/web1/M00/F4/B1/wKgZoWcwySWAdc3CAA-bS5z-qqw458.png)
如何使用Air780E開(kāi)發(fā)板?看這篇就夠了!
![如何使用<b class='flag-5'>Air780E</b><b class='flag-5'>開(kāi)發(fā)</b>板?看這篇就夠了!](https://file1.elecfans.com/web1/M00/F3/8B/wKgZoWcYu_eAaPIFAAJq6rZ9LA0454.png)
關(guān)于Air780E:與服務(wù)器的加密通信操作方法
![關(guān)于<b class='flag-5'>Air780E</b>:與服務(wù)器的加密通信操作方法](https://file1.elecfans.com/web2/M00/0A/2E/wKgaomcIvPKASbiNAAIn1n9HTVo868.png)
Air780E/Air780EP/Air780EQ/Air201模塊遇到內(nèi)存死機(jī)如何分析
![<b class='flag-5'>Air780E</b>/<b class='flag-5'>Air780</b>EP/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201模塊遇到內(nèi)存死機(jī)如何分析](https://file1.elecfans.com/web2/M00/FD/20/wKgZomaYcZGAIdfqAABembvJ4Po238.png)
Air780E/Air780EP/Air780EQ/Air201模塊遇到死機(jī)問(wèn)題如何分析
![<b class='flag-5'>Air780E</b>/<b class='flag-5'>Air780</b>EP/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201模塊遇到死機(jī)問(wèn)題如何分析](https://file1.elecfans.com/web2/M00/FD/20/wKgZomaYcZGAIdfqAABembvJ4Po238.png)
評(píng)論