打开ESP32的技术规格书第34页,可见ESP32具有2个12位的逐次逼近型ADC,他有RTC和DIG两个控制器,其中RTC控制器最大采样率为200KSPS,DIG控制器为2MSPS,如果我们需要采样频率较高的信号,就必须使用DIG控制器。 打开ESP32的技术参考手册第577页找到DIG控制器,可见我们为了追求最大的采样率,应该考虑使用DMA配合ADC使用。
ADC_Cmd(ADC1, ENABLE); // 使能ADC ADC_ResetCalibration(ADC1); // 校验复位 while(ADC_GetResetCalibrationStatus(ADC1)); // 等待复位完成 ADC_StartCalibration(ADC1); // 开始ADC1校准 while(ADC_GetCalibrationStatus(ADC1)); // 等待校验完成 ADC_DMACmd(ADC1, ENABLE); // 使能ADC的DMA功能 ...
ADC的参考电压Vref,在不同的ESP型号可能是不一样的,我们这里ESP32参考电压为1.1V,一般用内部的就可以,要求高的需要校准一下,当然,也可以设置外置的引脚当做参考电压。 登录后复制/* * Set pin to use for ADC calibration if the esp is not already calibrated (25, 26 or 27) * */voidanalogSetVRefPin...
由于ADC特性,可在以下近似电压范围内获得最准确的结果: -- 0dB衰减(ADC_ATTEN_DB_0) 100~950 mV -- 2.5dB衰减(ADC_ATTEN_DB_2_5) 100~1250 mV -- 6dB衰减(ADC_ATTEN_DB_6) 150~1750 mV -- 11dB衰减(ADC_ATTEN_DB_11) 150~2450 mV 为了2450mV以上电压测量更准确我们使用了 《ESP32在电池供电时...
本文讲解了ADC的概念,以及MicroPython-ESP32中的ADC实现, 最后在综合例程里面,使用ADC采集点位计的数值,然后通过PWM控制LED的亮度。 keywordsADC Encoder PWM LED sample ADC是什么¶ ADC的英文全称是Analog / Digital Converter,是将模拟信号转换为数字信号的转换器,ADC是单片机读取传感器信号的常见方式。
一、概述 ESP32 集成了 2 个 12 位逐次逼近模数转换器 (SARADC),支持 18 个测量通道(模拟使能引脚)。支持以下通道:ADC1:8通道:GPIO32 - ...
ESP32 之 ESP-IDF 学习笔记(七)——模数转换器(ADC)文章目录ESP32 之 ESP-IDF 学习笔记(七)——模数转换器(ADC)一、简介1、两个 ADC 通道简介:2、减小测量误差① 最小化噪声干扰② ★ADC 校准 —— ADC-Voltage 特征曲线一、简介ESP32集成了两个 12位SAR(逐次逼近寄存器)adc ,共支持18个测量通道。1...
SAR结构的主要局限是采样速率较低,并且其中的各个单元(如DAC和比较器),需要达到与整体系统相当的精度。 我们的ESP32有这么多的通道可以干这个事情。 我这里主要是写的S3 另外,ADC是操作GPIO,所以相关的一些电气参数要看着点 这个是ADC的相关参数 完整的引脚映射 ...
Board-ESP32的内部,配置有12 位的模数转换器,其最大输出值为4095,而 Arduino UNO 的ADC只有10 位...
目前来看,ESP32的ADC只适合精度基本没要求,只要求定性,或者测相对值的场景,凑合用吧。 比较要命的是官方技术支持告知的,不同芯片的+-6%的差异。比如在2v的时候,实测2V测量, 有的是1.88V, 有的是2.12V,这还是经过软件补偿的结果。 后续要做RP2040和328P的ADC精度测试。