無論應(yīng)用場(chǎng)景如何變化,溫度、電壓與外部傳感器信號(hào)始終是系統(tǒng)監(jiān)控的核心。ADC憑借其多通道兼容性、高采樣率與靈活接口,能夠無縫接入各類信號(hào)源,實(shí)現(xiàn)全兼容、高精度的數(shù)據(jù)采集。
在智能家居中實(shí)時(shí)調(diào)控溫濕度,在汽車電子中精準(zhǔn)監(jiān)測(cè)電池電壓,在工業(yè)自動(dòng)化中可靠采集傳感器數(shù)據(jù)……這些形態(tài)各異的物聯(lián)網(wǎng)應(yīng)用,都離不開一個(gè)關(guān)鍵組件——模數(shù)轉(zhuǎn)換器ADC。
今天,我們將分享Air8000系列工業(yè)引擎內(nèi)置的ADC接口及其demo示例,帶你體驗(yàn)簡單高效的LuatOS應(yīng)用開發(fā)。
一、模數(shù)轉(zhuǎn)換ADC
ADC模擬/數(shù)字轉(zhuǎn)換器,是指將連續(xù)變量的模擬信號(hào)轉(zhuǎn)換為離散的數(shù)字信號(hào)的器件。
硬件中的ADC接口主要用來檢測(cè)模擬電壓信號(hào)量,用于電池電壓檢測(cè)、溫濕度檢測(cè)、TDS檢測(cè)等應(yīng)用。
1.1 ADC接口簡介
以Air8000A工業(yè)引擎為例,提供了豐富且實(shí)用的ADC資源,可滿足大多數(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 輸入電壓范圍
重要安全提醒:外接輸入電壓切勿超過量程,否則可能燒毀模組;設(shè)置分壓(adc.setRange)要在adc.open之前設(shè)置,否則無效。
我們主流模組軟件上,對(duì)ADC都可以配置ADC_RANGE_MAX和ADC_RANGE_MIN兩種量程。
對(duì)Air8000系列工業(yè)引擎來說:
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,無需添加外部分壓電路;
當(dāng)被測(cè)電壓>3.6V:使用ADC_RANGE_MIN,且必須添加外部分壓電路。
測(cè)量電壓相關(guān)的函數(shù)主要有兩個(gè):adc.read(id):讀取adc通道計(jì)算值;adc.get(id):獲取adc計(jì)算值。
API文檔詳見:https://docs.openluat.com/osapi/core/adc/
二、ADC功能示例demo
本示例主要用于實(shí)現(xiàn)ADC通道配置與量程設(shè)置,數(shù)據(jù)采集并處理,循環(huán)打印處理過的ADC數(shù)據(jù)。

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

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

3)讀取CPU溫度
通過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開發(fā)板燒錄相關(guān)內(nèi)核固件和demo腳本代碼。燒錄成功后,自動(dòng)開機(jī)運(yùn)行。
通過Luatools工具查看相關(guān)日志,如下圖示:

2.3 應(yīng)用場(chǎng)景拓展
本示例簡單演示了如何讀取ADC輸入電壓、讀取供電電壓、讀取CPU溫度,除此之外,ADC可以將各種連續(xù)變化的模擬信號(hào)(如溫度、濕度、壓力、電壓、電流等)轉(zhuǎn)換為離散的數(shù)字信號(hào)。
Air8000系列工業(yè)引擎模塊內(nèi)部ADC精度12bits,對(duì)常見應(yīng)用已經(jīng)足夠,如溫濕度傳感器、壓力傳感器、音頻信號(hào)處理等。
對(duì)于需要更高精度的應(yīng)用:可以外掛更高精度的ADC,如16位、24位等。使用過程中需注意量程范圍,不可超出量程。
今天的內(nèi)容就分享到這里了~
審核編輯 黃宇
-
adc
+關(guān)注
關(guān)注
100文章
7950瀏覽量
557034
發(fā)布評(píng)論請(qǐng)先 登錄
16位多通道ADC AD7682/AD7689:性能與應(yīng)用全解析
ADEMA124/ADEMA127:高性能多通道Σ - Δ ADC的技術(shù)剖析與應(yīng)用指南
高精度多通道數(shù)據(jù)采集利器:AD4691/AD4692 ADC深度解析
多通道兼容圖像采集卡:一機(jī)搞定多路圖像信號(hào)處理
Pico示波器如何實(shí)現(xiàn)多通道同步采集
RA MCU眾測(cè)寶典 | ADC/DAC之【RA2L1】DAC電壓輸出及ADC電壓采集實(shí)驗(yàn)
CW32L010_ADC介紹
【CPKCOR-RA8D1】打造一個(gè)迷你系統(tǒng)監(jiān)控中心:ADC電壓與溫度實(shí)時(shí)顯示
【CPKCOR-RA8D1】+ 打造一個(gè)迷你系統(tǒng)監(jiān)控中心:ADC電壓與溫度實(shí)時(shí)顯示
IPA1299低噪聲多通道人體生物電信號(hào)測(cè)量ADC芯片
ADC采集精度不良
第十九章 ADC——電壓采集
ADC多通道采集技術(shù):溫度、電壓與外部信號(hào)全兼容
評(píng)論