||
本文主要從硬件設(shè)計的角度,分享Air8101工業(yè)引擎ADC設(shè)計中的一些關(guān)鍵注意點,軟件開發(fā)方面不做深入探討。
一、Air8101外部ADC說明
Air8101有10路外部ADC,相關(guān)管腳參考下圖橙色方框標(biāo)注:
注意這些ADC管腳存在復(fù)用功能:
除了可以作為ADC使用之外,還可以用作GPIO、UART、PWM、I2C、SPI、RGB等功能。
項目設(shè)計時,如果用作其他復(fù)用功能,就不能作為ADC使用。
Air8101管腳復(fù)用表下載:https://docs.openluat.com/air8101/product/shouce/
Air8101有ADC1、ADC2、ADC3、ADC4、ADC5、ADC6、ADC10、ADC12、ADC13、ADC14,一共10路外部ADC。
這10路ADC復(fù)用的對應(yīng)關(guān)系為:
ADC1對應(yīng)ADC10;
ADC2對應(yīng)ADC12;
ADC3對應(yīng)ADC13;
ADC4對應(yīng)ADC14;
ADC5和ADC6,沒有對應(yīng)的其他ADC通道;
這里的對應(yīng)關(guān)系如何理解呢?
以ADC1對應(yīng)ADC10為例,意思是在Air8101內(nèi)部,ADC1和ADC10是同一個ADC通道,ADC1和ADC10不能同時使用。
1.2 電壓測量要點
Air8101的外部ADC分辨率為12bit;測量電壓范圍為0到2.4V,不支持內(nèi)部分壓。
1)測量不超過2.4V的外部電壓時:
如果外接電路的被測電壓不超過2.4V,被測電壓可以直連ADC,不需要做任何電路處理;
2)測量超過2.4V的外部電壓時:
如果外部電路的北側(cè)電壓超過2.4V,必須將外部電壓使用電阻分壓,使掛在ADC上的電壓不超過2.4V。
那么,分壓電阻怎么選擇呢?
首先,取決于被測電壓的值,測量最大電壓5V和最大電壓12V時的分壓電阻肯定是不一樣的;
其次,電阻一定要使用1%精度,這樣才能盡可能的使分壓比符合要求;
再次,可以在ADC輸入處增加1個濾波電容,抑制高頻噪聲,避免ADC讀數(shù)波動。
以上都是經(jīng)驗之談,現(xiàn)在我們以被測外部電壓為5V,分壓后掛在ADC上的電壓為1.5V,來舉例說明:
▼ 分壓電阻示例 ▼
分壓比要求:
Vout/Vin=1.5V/5V=0.3,
即:R2=0.3×(R1+R2),
解得R1:R2≈2.33:1。
推薦電阻值:
上拉電阻 R1=2.4MΩ(±1%精度)
下拉電阻 R2=1.0MΩ(±1%精度)
實際分壓比:
1.0MΩ/(2.4MΩ+1.0MΩ)≈0.294,
5V分壓后為5V×0.294≈1.47V,滿足量程不超過2.4V的要求;
相應(yīng)的,假設(shè)通過ADC測得的電壓值時1.47V,則可以換算出來被測電壓值為:
1.47V/0.294=5V;
需要特別指出的是,即便使用MΩ級別的電阻,系統(tǒng)也會存在固定的功耗浪費(fèi):
總電流: I=5V/(2.4MΩ+1.0MΩ)≈1.47μA
總功耗: P=5V×1.47μA=7.35μW
功耗極低,適合電池供電的低功耗場景。
二、Air8101內(nèi)部ADC說明
Air8101內(nèi)部占用了一路ADC,用于檢測VBAT引腳的電壓:
不需要外接任何硬件電路,直接通過軟件API讀取VBAT電壓即可;
電壓測量范圍:2.5V-4.35V;
可以使用如下代碼讀取VBAT電壓:
Air8101內(nèi)部占用了一路ADC,用于檢測CPU的溫度:
不需要外接任何硬件電路,直接通過軟件API讀取即可;
溫度測量范圍:-40°C ~ +85°C;
可以使用如下代碼讀取CPU溫度:
提供完整的Air8101硬件開發(fā)參考設(shè)計(以太網(wǎng)、攝像頭、音頻功放、RS485、RS232、ADC等),以及電源設(shè)計總體說明,可參考下方鏈接詳細(xì)說明。
Air8101最新硬件參考設(shè)計資料下載:
https://docs.openluat.com/air8101/luatos/hardware/design/reference/
今天的內(nèi)容就分享到這里了!