0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

温度、电压、外部信号采集,ADC帮你全搞定

青山老竹农 来源:jf_82863998 作者:jf_82863998 2026-02-08 18:11 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

形态各异的物联网应用,都离不开一个关键组件——模数转换器ADC

今天,我们将分享Air8000系列工业引擎内置的ADC接口及其demo示例,带你体验简单高效的LuatOS应用开发。

一、模数转换ADC

ADC模拟/数字转换器,是指将连续变量的模拟信号转换为离散的数字信号的器件。

硬件产品中的ADC接口主要用来检测模拟电压信号量,用于电池电压检测、温湿度检测、TDS检测等应用。

1.1 ADC接口简介

以Air8000A工业引擎为例,提供了丰富且实用的ADC资源,可满足大多数物联网应用需求。

精度:12bits

数量:4个ADC接口(ADC0 ~ ADC3)

两个特殊通道:

CPU内部温度Temp : -- adc.CH_CPU

主供电脚电压VBAT : -- adc.CH_VBAT

wKgZO2mIX8mAQyZYAAv2fnRw7Jg830.png

1.2 输入电压范围

重要安全提醒:
外接输入电压切勿超过量程,否则可能烧毁模组;设置分压(adc.setRange)要在adc.open之前设置,否则无效。

主流模组软件上,对ADC都可以配置ADC_RANGE_MAX和ADC_RANGE_MIN两种量程。

对Air8000系列工业引擎来说:

adc.ADC_RANGE_MIN:
对应量程为0-1.5V;

adc.ADC_RANGE_MAX:
对应量程为0-3.6V。

当被测电压≤1.5V :

使用adc.ADC_RANGE_MIN;

当1.5V<被测电压≤3.6V :
使用adc.ADC_RANGE_MAX,无需添加外部分压电路;

当被测电压>3.6V:
使用ADC_RANGE_MIN,且必须添加外部分压电路。

测量电压相关的函数主要有两个:
adc.read(id):读取adc通道计算值;
adc.get(id):获取adc计算值。

二、ADC功能示例demo

本示例主要用于实现ADC通道配置与量程设置,数据采集并处理,循环打印处理过的ADC数据。

wKgZPGmIYAuAS3LnABxME5hQUiM209.png

示例教程使用Air8000开发板+两个Air9000P(直流电源)进行演示;外部输入电压在3.6V以内,需要外部电源与模组共地,保持参考电压一致。

2.1 代码要点解析

核心功能代码如下,完整demo详见源码仓库最新文件。

1)读取adc外部输入模拟电压

通过adc.get(id)读取4个普通ADC接口的外部输入模拟电压;首先设置量程,然后打开ADC通道0,进行采样循环,将获取到的输入模拟电压值存入数组,接下来关闭ADC通道0,最后进行数据处理、打印。

wKgZPGmIYDOAAy9lAAa7_D8V7Dw146.png

2)读取供电电压

通过adc.get(adc.CH_VBAT)读取VBAT电压:

wKgZO2mIYE-ADV3DAAMhjfiUjMs676.png

3)读取CPU温度

通过adc.get(adc.CH_CPU)读取CPU温度:

wKgZPGmIYGmAYNncAAMt78L59V4429.png

4)数据处理函数

当通道样本数大于2时,先对样本升序排序并剔除首尾极值,计算剩余样本的平均值,最后根据标签(如CPU温度或电压)格式化输出带单位的处理值及总样本数,否则记录样本不足。

wKgZO2mIYImAOx2eAAN86n5Q2GI030.png

2.2 示例运行结果

参考实操教程搭建好硬件环境,使用Luatools工具给Air8000开发板烧录相关内核固件和demo脚本代码。烧录成功后,自动开机运行。

通过Luatools工具查看相关日志,如下图示:

wKgZPGmIYKmAFe4wAAiJ4cJbvNc516.png

2.3 应用场景拓展

本示例简单演示了如何读取ADC输入电压、读取供电电压、读取CPU温度,除此之外,ADC可以将各种连续变化的模拟信号(如温度、湿度、压力、电压、电流等)转换为离散的数字信号。

Air8000系列工业引擎模块内部ADC精度12bits,对常见应用已经足够,如温湿度传感器压力传感器音频信号处理等。

对于需要更高精度的应用:
可以外挂更高精度的ADC,如16位、24位等。使用过程中需注意量程范围,不可超出量程。

今天的内容就分享到这里了

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • adc
    adc
    +关注

    关注

    100

    文章

    7946

    浏览量

    556890
  • 信号采集
    +关注

    关注

    6

    文章

    271

    浏览量

    69150
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SAR ADC采样外围滤波电路配置电路计算原理

    的RC滤波器必须在ADC采集时间内稳定下来,ADC采集时间和外部滤波器的RC时间常数之间的关系为:
    发表于 03-31 17:00

    ADC多通道采集技术:温度电压外部信号兼容

    无论应用场景如何变化,温度电压外部传感器信号始终是系统监控的核心。ADC凭借其多通道兼容性、高采样率与灵活接口,能够无缝接入各类
    的头像 发表于 02-09 15:30 343次阅读
    <b class='flag-5'>ADC</b>多通道<b class='flag-5'>采集</b>技术:<b class='flag-5'>温度</b>、<b class='flag-5'>电压</b>与<b class='flag-5'>外部</b><b class='flag-5'>信号</b><b class='flag-5'>全</b>兼容

    RA MCU众测宝典 | ADC/DAC之【RA2L1】DAC电压输出及ADC电压采集实验

    ,一步步玩转DAC电压输出与ADC电压采集:从12位DAC的引脚配置、ADC的单通道扫描设置,到代码中实现
    的头像 发表于 01-20 18:43 5851次阅读
    RA MCU众测宝典 | <b class='flag-5'>ADC</b>/DAC之【RA2L1】DAC<b class='flag-5'>电压</b>输出及<b class='flag-5'>ADC</b><b class='flag-5'>电压</b><b class='flag-5'>采集</b>实验

    构建差分输入 ADC的模拟前端信号链路

    构建差分输入 ADC的模拟前端信号链路
    的头像 发表于 01-16 17:42 408次阅读
    构建<b class='flag-5'>全</b>差分输入 <b class='flag-5'>ADC</b>的模拟前端<b class='flag-5'>信号</b>链路

    CW32L010_ADC介绍

    整个ADC电路提供电源。 温度传感器与参考电压生成器: 温度传感器:图中展示了两个温度传感器,分别通过
    发表于 11-28 07:52

    ADC 实战:如何精准读取传感器信号

    很多开发者在嵌入式项目中都会用到传感器采集信号,无论是温度、光照,还是电压电流测量,都离不开ADC(模数转换器)。但是,很多人对
    的头像 发表于 11-24 19:04 643次阅读
    <b class='flag-5'>ADC</b> 实战:如何精准读取传感器<b class='flag-5'>信号</b>

    【CPKCOR-RA8D1】打造一个迷你系统监控中心:ADC电压温度实时显示

    监控界面​​。核心功能包括: ​​实时采集​​:通过ADC精确读取外部电压与芯片内部温度传感器数据。 ​​动态显示​​:在MIPI屏幕上以清
    发表于 10-30 15:14

    【CPKCOR-RA8D1】+ 打造一个迷你系统监控中心:ADC电压温度实时显示

    监控界面​​。核心功能包括: ​​实时采集​​:通过ADC精确读取外部电压与芯片内部温度传感器数据。 ​​动态显示​​:在MIPI屏幕上以清
    发表于 10-30 09:44

    高性能模拟信号采集:揭秘ADC硬件设计的核心要素!

    为实现高分辨率、低延迟的信号采集ADC硬件设计需从电路拓扑、器件匹配到供电方案全面优化。下面将系统阐述关键设计策略,助力工程师构建高效可靠的模数转换系统。 本文主要从硬件设计的角度
    的头像 发表于 09-09 18:52 800次阅读
    高性能模拟<b class='flag-5'>信号</b><b class='flag-5'>采集</b>:揭秘<b class='flag-5'>ADC</b>硬件设计的核心要素!

    【BPI-CanMV-K230D-Zero开发板体验】Home Assistant 智能 ADC 电压表和温度计的 LabVIEW 数据采集

    【BPI-CanMV-K230D-Zero开发板体验】Home Assistant 智能 ADC 电压表和温度计的 LabVIEW 数据采集 本文介绍了香蕉派 CanMV K230D
    发表于 08-17 16:22

    ADC采集精度不良

    空调控制板在demo调试的时候,温度控制不准确。尽管检查温度传感器的连接,确保传感器与 MCU 的连接正常,无松动或断路情况。使用万用表测量温度传感器的输出信号
    发表于 07-09 22:07

    采集直流信号用多大采样率的ADC芯片

    采集直流信号用多大采样率的ADC芯片采集直流信号时,ADC芯片的采样率选择需平衡精度、成本和系统
    发表于 06-26 09:06

    第十九章 ADC——电压采集

    本章介绍W55MH32的12位逐次逼近型ADC,含18个通道(16外部+2内部),支持多种转换模式。剖析功能框图,涉及电压范围、通道分类、转换顺序等,详解初始化结构体及单通道、双重ADC
    的头像 发表于 06-19 17:08 1842次阅读
    第十九章 <b class='flag-5'>ADC</b>——<b class='flag-5'>电压</b><b class='flag-5'>采集</b>

    手把手教你用RadiMation进行MIMO功率测量,轻松搞定射频测试!

    MIMO设备功率测量太复杂?TS-RadiMation帮你一键搞定!本文详细解析MIMO功率测量流程,从配置到数据分析,助你快速掌握关键测试技巧,提升测试效率!
    的头像 发表于 05-26 17:42 853次阅读
    手把手教你用RadiMation进行MIMO功率测量,轻松<b class='flag-5'>搞定</b>射频测试!