0°

(三)Arduino系列:NodeMCU ADC使用方法

介绍

模数转换器(ADC)用于将模拟信号转换为数字形式。ESP8266内置10位ADC,只有一个ADC通道,即它只有一个ADC输入引脚,用于从外部器件读取模拟电压。

NodeMCU上的ESP8266 ADC引脚

(三)Arduino系列:NodeMCU ADC使用方法

NodeMCU ADC引脚

ESP8266上的ADC通道与电池电压复用。因此,我们可以将其设置为测量板载系统电压或外部电压。读取外部电压时,ADC引脚的输入电压范围为0-1.0V。

固件的“esp_init_data_default.bin”(0-127字节)的第107个字节中提供了ADC模式的设置,即是否正在测量系统电压或外部电压。

esp_init_data_default.bin(0 – 127字节)的第107个字节是“vdd33_const”。它必须设置为0xFF,即255才能读取系统电压,即ESP8266的VDD引脚上的电压。

要读取ADC引脚上的外部电压,必须将其设置为ESP8266的VDD引脚上的电源电压。ESP8266的工作电源电压范围为1.8V至3.6V,“vdd33_const”的单位为0.1V,因此“vdd33_const”的取值范围为18至36。

请注意,下图所示的NodeMCU Dev Kit具有板载寄存器分配器网络,可从3.3V向ESP8266的ADC引脚提供1.0V电压。因此,对于以下NodeMCU Dev Kit,我们可以将0-3.3V范围用于ADC输入电压。由于ADC具有10位分辨率,因此在Dev Kit上为ADC输入电压0-3.3V提供0-1023值范围。

 

NodeMCU ADC功能

analogRead(A0)

该功能用于读取模块ADC引脚上的外部电压。

ESP.getVcc()

该功能用于读取NodeMCU模块的VCC电压。ADC引脚必须保持未连接状态。

请注意,在读取VCC电源电压之前,应将ADC模式更改为读取系统电压。

要改变ADC模式ADC_MODE(mode),请在#include行之后使用。

模式是ADC_TOUT(对于外部电压),ADC_VCC(对于系统电压)。默认情况下,它读取外部电压。

让我们编写一个Arduino程序,用于读取NodeMCU的ADC引脚上的模拟电压。这里我们使用电位器在Dev Kit的ADC引脚上提供0-3.3V的可变电压。连接如下图所示:

(三)Arduino系列:NodeMCU ADC使用方法

 

Arduino程序用于读取外部电压

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.print("ADC Value: ");
  Serial.println(analogRead(A0));
  delay(300);
}

输出结果

下图显示了Arduino IDE串行监视器的输出

(三)Arduino系列:NodeMCU ADC使用方法

 

Arduino 程序用于读取系统电压

限制以下用户组阅读此隐藏内容

请先登录

您的用户组:

输出窗口

下图显示了Arduino IDE串行监视器的输出

(三)Arduino系列:NodeMCU ADC使用方法

 

在这里,我们发现测量值与实际值略有不同。对于外部电压,我们得到5-1007 ADC值变化,0-3.3V应用于Dev Kit上的ADC引脚。对于系统电压(模块上的电压),我们可以达到2790 mV,即大约2.8V。这表明差异大约为0.5V,即3.3V。

关于外部电压测量的问题在ESP8266 github页面的#2672#3168给出。有关系统电压读数的问题,请参见ESP8266 github页面上的#721

根据ESP8266的数据表,TOUT(ESP8266的ADC引脚)引脚必须悬空(浮动),同时通过ADC测量电源电压。但是在NodeMCU开发套件/模块上,为了支持外部电压范围(0-3.3V),它连接到电阻分压器网络(100Kohm和220Kohm),如下图所示。

(三)Arduino系列:NodeMCU ADC使用方法

 

现在,如果我们移除电阻分压器n / w,并使ADC引脚(TOUT)悬空,那么我们可以获得更好的结果精度,如下面的系统电压读数的输出窗口图像所示,接近3.3V。

(三)Arduino系列:NodeMCU ADC使用方法

本教程完整程序下载:

限制以下用户组阅读此隐藏内容

请先登录

您的用户组:

 

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论