4G模組軟體的ADC示例 | 智慧演繹

电子老师傅發表於2024-11-18

今天介紹的是4G模組軟體的ADC示例,以我常用的Air724UG為例,供大家參考。

一、簡介

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 使用跳線帽獲取開發板電位器和熱敏電阻電壓



分享完畢。

相關文章