news 2026/6/15 11:06:33

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
温度、电压、外部信号采集,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

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数据。

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

2.1 代码要点解析

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

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

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

2)读取供电电压

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

3)读取CPU温度

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

4)数据处理函数

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

2.2 示例运行结果

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

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

2.3 应用场景拓展

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

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

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 13:06:24

HTML新春烟花

系列文章 序号目录1HTML满屏跳动的爱心2HTML五彩缤纷的爱心3HTML满屏漂浮爱心4HTML情人节爱心5HTML蓝色爱心射线6HTML跳动的爱心7HTML跳动的双爱心8HTML粒子爱心9HTML蓝色动态爱心10HTML橙色动态粒子爱心11HTML旋转爱心12HTML爱情树13HTML元素周期表14HTML飞舞的花瓣15HTML星空…

作者头像 李华
网站建设 2026/6/10 15:10:48

腾讯混元团队:AI智能体如何学会真正的“深谋远虑“?

这项由腾讯混元团队主导的研究发表于2026年2月6日&#xff0c;论文编号为arXiv:2602.05327v1&#xff0c;感兴趣的读者可以通过这个编号查询完整的研究论文。说起人工智能助手&#xff0c;我们经常会发现一个有趣的现象&#xff1a;它们在解决简单问题时表现出色&#xff0c;但…

作者头像 李华
网站建设 2026/6/12 11:47:51

移植Google Gemini Nano到RK3588 NPU,实现高效边缘推理

引言 在嵌入式 AI 开发中,大家常常会遇到模型在硬件平台上运行时出现性能瓶颈的问题,比如推理速度慢、功耗过高,这严重影响了应用的实时性和稳定性 ,导致性能瓶颈,无法满足如智能安防、工业检测等场景的实时性需求。为了解决这些问题,我们可以将轻量模型移植到具有强大算…

作者头像 李华
网站建设 2026/6/13 1:43:04

大数据领域数据清洗的工作流程详解

大数据领域数据清洗的工作流程详解 关键词&#xff1a;数据清洗、数据质量、缺失值处理、异常值检测、数据标准化 摘要&#xff1a;在大数据时代&#xff0c;“垃圾进&#xff0c;垃圾出”&#xff08;Garbage In, Garbage Out&#xff09;是数据分析的铁律。数据清洗作为数据处…

作者头像 李华
网站建设 2026/6/13 7:17:19

大数据标注中的众包模式:优势与挑战分析

大数据标注中的众包模式&#xff1a;优势与挑战的深度拆解 一、引言&#xff1a;大数据标注的“生死局”与众包的登场 如果你是AI工程师&#xff0c;大概率经历过这样的“灵魂拷问”&#xff1a; 想训练一个能识别猫咪的图像模型&#xff0c;需要10万张标注好的“猫”图&…

作者头像 李华
网站建设 2026/6/10 18:44:21

阿里巴巴编程规范---编程规约之常量定义与代码格式篇

&#xff08;二&#xff09;常量定义1. 【强制】不允许任何魔法值&#xff08;即未经预先定义的常量&#xff09;直接出现在代码中。 反例&#xff1a; // 本例中&#xff0c;开发者 A 定义了缓存的 key&#xff0c;然后开发者 B 使用缓存时少了下划线&#xff0c;即 key 是&qu…

作者头像 李华