形態(tài)各異的物聯(lián)網(wǎng)應(yīng)用,都離不開(kāi)一個(gè)關(guān)鍵組件——模數(shù)轉(zhuǎn)換器ADC。
今天,我們將分享Air8000系列工業(yè)引擎內(nèi)置的ADC接口及其demo示例,帶你體驗(yàn)簡(jiǎn)單高效的LuatOS應(yīng)用開(kāi)發(fā)。
一、模數(shù)轉(zhuǎn)換ADC
ADC模擬/數(shù)字轉(zhuǎn)換器,是指將連續(xù)變量的模擬信號(hào)轉(zhuǎn)換為離散的數(shù)字信號(hào)的器件。
硬件產(chǎn)品中的ADC接口主要用來(lái)檢測(cè)模擬電壓信號(hào)量,用于電池電壓檢測(cè)、溫濕度檢測(cè)、TDS檢測(cè)等應(yīng)用。
1.1 ADC接口簡(jiǎn)介
以Air8000A工業(yè)引擎為例,提供了豐富且實(shí)用的ADC資源,可滿(mǎn)足大多數(shù)物聯(lián)網(wǎng)應(yīng)用需求。
精度:12bits
數(shù)量:4個(gè)ADC接口(ADC0 ~ ADC3)
兩個(gè)特殊通道:
CPU內(nèi)部溫度Temp : -- adc.CH_CPU
主供電腳電壓VBAT : -- adc.CH_VBAT

1.2 輸入電壓范圍
重要安全提醒:
外接輸入電壓切勿超過(guò)量程,否則可能燒毀模組;設(shè)置分壓(adc.setRange)要在adc.open之前設(shè)置,否則無(wú)效。
主流模組軟件上,對(duì)ADC都可以配置ADC_RANGE_MAX和ADC_RANGE_MIN兩種量程。
對(duì)Air8000系列工業(yè)引擎來(lái)說(shuō):
adc.ADC_RANGE_MIN:
對(duì)應(yīng)量程為0-1.5V;
adc.ADC_RANGE_MAX:
對(duì)應(yīng)量程為0-3.6V。
當(dāng)被測(cè)電壓≤1.5V :
使用adc.ADC_RANGE_MIN;
當(dāng)1.5V<被測(cè)電壓≤3.6V :
使用adc.ADC_RANGE_MAX,無(wú)需添加外部分壓電路;
當(dāng)被測(cè)電壓>3.6V:
使用ADC_RANGE_MIN,且必須添加外部分壓電路。
測(cè)量電壓相關(guān)的函數(shù)主要有兩個(gè):
adc.read(id):讀取adc通道計(jì)算值;
adc.get(id):獲取adc計(jì)算值。
二、ADC功能示例demo
本示例主要用于實(shí)現(xiàn)ADC通道配置與量程設(shè)置,數(shù)據(jù)采集并處理,循環(huán)打印處理過(guò)的ADC數(shù)據(jù)。

示例教程使用Air8000開(kāi)發(fā)板+兩個(gè)Air9000P(直流電源)進(jìn)行演示;外部輸入電壓在3.6V以?xún)?nèi),需要外部電源與模組共地,保持參考電壓一致。
2.1 代碼要點(diǎn)解析
核心功能代碼如下,完整demo詳見(jiàn)源碼倉(cāng)庫(kù)最新文件。
1)讀取adc外部輸入模擬電壓
通過(guò)adc.get(id)讀取4個(gè)普通ADC接口的外部輸入模擬電壓;首先設(shè)置量程,然后打開(kāi)ADC通道0,進(jìn)行采樣循環(huán),將獲取到的輸入模擬電壓值存入數(shù)組,接下來(lái)關(guān)閉ADC通道0,最后進(jìn)行數(shù)據(jù)處理、打印。

2)讀取供電電壓
通過(guò)adc.get(adc.CH_VBAT)讀取VBAT電壓:

3)讀取CPU溫度
通過(guò)adc.get(adc.CH_CPU)讀取CPU溫度:

4)數(shù)據(jù)處理函數(shù)
當(dāng)通道樣本數(shù)大于2時(shí),先對(duì)樣本升序排序并剔除首尾極值,計(jì)算剩余樣本的平均值,最后根據(jù)標(biāo)簽(如CPU溫度或電壓)格式化輸出帶單位的處理值及總樣本數(shù),否則記錄樣本不足。

2.2 示例運(yùn)行結(jié)果
參考實(shí)操教程搭建好硬件環(huán)境,使用Luatools工具給Air8000開(kāi)發(fā)板燒錄相關(guān)內(nèi)核固件和demo腳本代碼。燒錄成功后,自動(dòng)開(kāi)機(jī)運(yùn)行。
通過(guò)Luatools工具查看相關(guān)日志,如下圖示:

2.3 應(yīng)用場(chǎng)景拓展
本示例簡(jiǎn)單演示了如何讀取ADC輸入電壓、讀取供電電壓、讀取CPU溫度,除此之外,ADC可以將各種連續(xù)變化的模擬信號(hào)(如溫度、濕度、壓力、電壓、電流等)轉(zhuǎn)換為離散的數(shù)字信號(hào)。
Air8000系列工業(yè)引擎模塊內(nèi)部ADC精度12bits,對(duì)常見(jiàn)應(yīng)用已經(jīng)足夠,如溫濕度傳感器、壓力傳感器、音頻信號(hào)處理等。
對(duì)于需要更高精度的應(yīng)用:
可以外掛更高精度的ADC,如16位、24位等。使用過(guò)程中需注意量程范圍,不可超出量程。
今天的內(nèi)容就分享到這里了
審核編輯 黃宇
-
adc
+關(guān)注
關(guān)注
100文章
7511瀏覽量
555981 -
信號(hào)采集
+關(guān)注
關(guān)注
6文章
267瀏覽量
69084
發(fā)布評(píng)論請(qǐng)先 登錄
ADC多通道采集技術(shù):溫度、電壓與外部信號(hào)全兼容
RA MCU眾測(cè)寶典 | ADC/DAC之【RA2L1】DAC電壓輸出及ADC電壓采集實(shí)驗(yàn)
電壓信號(hào)采集還在為接線(xiàn)和配置發(fā)愁?ZDM-E0800V來(lái)幫你!#EtherCAT #電壓采集 #工控
ADC 實(shí)戰(zhàn):如何精準(zhǔn)讀取傳感器信號(hào)
【CPKCOR-RA8D1】打造一個(gè)迷你系統(tǒng)監(jiān)控中心:ADC電壓與溫度實(shí)時(shí)顯示
【CPKCOR-RA8D1】+ 打造一個(gè)迷你系統(tǒng)監(jiān)控中心:ADC電壓與溫度實(shí)時(shí)顯示
高性能模擬信號(hào)采集:揭秘ADC硬件設(shè)計(jì)的核心要素!
【BPI-CanMV-K230D-Zero開(kāi)發(fā)板體驗(yàn)】Home Assistant 智能 ADC 電壓表和溫度計(jì)的 LabVIEW 數(shù)據(jù)采集
ADC采集精度不良
第十九章 ADC——電壓采集
手把手教你用RadiMation進(jìn)行MIMO功率測(cè)量,輕松搞定射頻測(cè)試!
ADC參考電壓有多重要(可下載)
對(duì)標(biāo)AD4115,國(guó)產(chǎn)ADC滿(mǎn)足工程車(chē)輛信號(hào)采集替換方案
溫度、電壓、外部信號(hào)采集,ADC幫你全搞定
評(píng)論