今天我將對Air724UG軟件的ADC功能做出詳細示例,大家可以先收藏,再慢慢細讀,絕對有收獲。
一、簡介
ADC通常指模擬/數字轉換器。是指將連續變量的模擬信號轉換為離散的數字信號的器件。本文介紹如何用Air724開發板,和PC端搭建一個ADC電壓采集的功能演示。
二、演示功能概述
本教程教你如何使用開發板 ADC 功能。
功能定義:
1、使用ADC引腳讀取電壓值2、讀取供電電壓
3、讀取模塊溫度
三、準備硬件環境
3.1 開發板準備
使用 Air724UG-NFM 開發板,如下圖所示:
此開發板的詳細使用說明參考:
https://docs.openluat.com/air724ug/product/
Air724UG 產品手冊中的 《EVB_Air724UG_AXX開發板使用說明》,寫這篇文章時最新版本的使用說明為:《EVB_Air724UG_A14開發板使用說明》;開發板使用過程中遇到任何問題,可以直接參考這份使用說明文檔。
3.2 數據通信線
USB數據線或者USB轉TTL數據線使用普通的就行,暫無特別要求;
3.3 PC 電腦
WINDOWS 系統,其他暫無特別要求;
3.4 直流穩壓電源準備
在需要直流穩壓電源的場景(例如 adc 測量外部輸入的模擬電壓),使用功耗分析儀 Air9000P,如下圖所示:
四、準備軟件環境
4.1 源碼和工具
724UG 模塊使用固件為:
LuatOS-Air_V4030_RDA8910_TTS_NOLVGL_FLOAT.pac
本教程使用的 demo:
https://gitee.com/openLuat/LuatOS-Air724UG/tree/master/script_LuaTask/demo/adc
將固件和腳本燒錄到模塊中,使用說明參考:
https://docs.openluat.com/Luatools/
4.2 燒錄代碼
首先,確保你的 Luatools 的版本大于或者等于 3.0.6 版本.
在 Luatools 的左上角上有版本顯示的,如圖所示:
Luatools 版本沒問題的話, 就點擊 Luatools 右上角的“項目管理測試”按鈕,如下圖所示:
這時會彈出項目管理和燒錄管理的對話框,如下圖:
選擇對應的項目燒錄代碼。
五、ADC 功能軟硬件資料
5.1 首先了解一下開發板上 ADC 采集電壓電路的設計
當前 Air724UG 模塊以及開發板上預留了兩路外置 ADC 供客戶調試使用,分別是 ADC2 和 ADC3,其中 ADC2 采集的電壓為一個 10K 的普通電阻和一個 10K 的 NTC 熱敏電阻將 1.8V 電壓分壓所得的電壓,ADC3 采集的電壓為一個 10K 的普通電阻和一個 10K 的電位器將 1.8V 電壓分壓所得的電壓:
5.2 相關 API 介紹
ADC 相關 API:
https://doc.openluat.com/wiki/31?wiki_page_id=3909
獲取供電電壓,模塊溫度相關 API:
https://doc.openluat.com/wiki/31?wiki_page_id=3953
六、功能示例
6.1 核心代碼
6.2 效果展示
燒錄代碼后通過 ADC 引腳讀取電壓
6.3 讀取供電電壓
6.4 讀取模塊溫度
6.5 輸入電壓范圍
724UG 的 ADC 輸入范圍為 0-5V,調用 adc.open(id,scale)時,使用 scale 參數可以調整范圍。
七、總結
本教程簡單舉例了如何讀取 adc 輸入電壓、讀取供電電壓、讀取 CPU 溫度,除此之外,adc 可以將各種連續變化的模擬信號(如溫度、濕度、壓力、電壓、電流等)轉換為離散的數字信號,本模塊內部 ADC 精度 11bits,對許多應用已經足夠,如溫濕度傳感器、壓力傳感器、音頻信號處理等,然而對于需要更高精度的應用,可以外掛更高精度的 ADC,如16 位、24 位等。使用過程中需注意量程范圍,不可超出量程。
八、常見問題
1、ADC 測量電壓來回跳變,為什么?
答:看外部輸入電壓是否與模塊共地,保持參考電壓一致。
2、為什么用合宙開發板測試打印出來的電壓值與實際用萬用表測量的電壓值誤差較大?
答:由于標準開發板設計目的主要為了方便功能性演示,內部還沒有做有相應的優化處理,需要客戶在使用時,按照實際的板子走線,阻抗,以及壓降等添加相應的壓差補償。
九、擴展
9.1 使用跳線帽獲取開發板電位器和熱敏電阻電壓
分享完畢,歡迎關注
-
adc
+關注
關注
98文章
6495瀏覽量
544461 -
軟件
+關注
關注
69文章
4921瀏覽量
87394 -
模擬信號
+關注
關注
8文章
1128瀏覽量
52442 -
開發板
+關注
關注
25文章
5032瀏覽量
97371
發布評論請先 登錄
相關推薦
評論