测量0-10V模拟信号会有意义吗? 带有ADS1115的Arduino,ESP32,ESP8266

问题描述

我试图借助arduino nano读取压力表(Balzers SingleGauge TPG 251)的0-10V模拟信号。使用分压器,我可以达到0-5V的范围,而不会损坏我的arduino。可悲的是,出于我的目的,集成的10位ADC的分辨率非常低(5000mV / 1023〜5mV步长)。压力表的测量范围为10e-11 mbar至1000 mbar,并将相应地给出0-10V的值。通过观察,我看到了显示方式的变化:

  • 1000到100个10步= 91个数字
  • 100到1,每0.1步= 991个数字
  • 9.9e-1至1e-2 =每十年99个数字(有11个十年-> 99 * 1 = 1089个数字)
    • 总共2171个单独的模拟步骤(如果这些步骤是线性的)。

这意味着在0-10V范围内,每个模拟步长均为4.6 mV。由于我使用的是电压调节器,因此mV /步差将减半,达到2.3 mV /步。显然这要解决得很低,因此我需要使用12位或16位ADC。我决定使用16位ADC,因为为什么没有更好的精度,对吗?我已经购买了ADS1115,希望能够更好,更精确地读取这些值(最大0.15mV)。使用模拟值,我可以反过来得到一个数字的压力。

真正的问题出现了。我想将安装程序连接到本地wifi,以便人们查看压力。而且,我也想让他们输入他们想输入的值,以便在他们输入的每封电子邮件中得到提醒。 我已经在可能的地方使用ESP32(https://randomnerdtutorials.com/esp32-email-alert-temperature-threshold/)看过本教程。因此,我将尝试使用ESP8266 nodeMCU进行此操作。

我知道要接受很多东西,我希望有人对如何推进这个项目有一个想法。这是我身边的一些问题:

  1. 该项目是否需要arduino和ESP8266?由于Arduino的模拟范围是0-5V,ESP的模拟范围是0-1V,因此arduino可以处理更多。然后,ESP的目的只是发送电子邮件和Web服务器内容。

  2. 有没有一种方法可以只使用ESP8266和ADS1115并仍然以高精度读取模拟值?还是不可能?

  3. 任何反馈在这里有意义吗?也许有一种方法我还没有用谷歌搜索。

提前谢谢!

解决方法

ADS1115具有I2C接口。只需将其连接到ESP。不需要Arduino nano。

请阅读ADC的数据表。

http://www.esp8266learning.com/ads1115-analog-to-digital-converter-and-esp8266.php

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...