This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] ADS1115:负电压输入的输出无效

Guru**** 2380410 points
Other Parts Discussed in Thread: ADS1115
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1494827/ads1115-invalid-output-for-the-negative-voltage-input

器件型号:ADS1115

工具与软件:

你(们)好  

我将使用 Arduino 和 ADS1115从传感器收集数据。   

我用一个示波器确认传感器运转良好并且生成范围在+2.5V ~-2.5V 的模拟电压。  

但收集的数据与实际电压值不同。  

看起来、对于接近-2.5V 的大负输入、收集的数据表示为0.0。

请参考以下 H/W 设置和代码、并提供一些建议。  

[H/W 设置]

VDD:Arduino 提供5V 电压

GND:Arduino 的 GND  

A0:传感器输入

[源代码]

#include
#include

Adafruit_ADS1115 ADS1115;

void setup(){
Serial.begin(9600);
ads1115.begin();
ads1115.setGain(GAIN_TWOTHIRDS);
}

void loop(){

内部 ADC0;
//int16_t ADC0;

ADC0 = ADS1115.readADC_SingleEnded (0);
serial.println (ADC0);

//Serial.println(ADC0*0.1875/1000);
delay(100);

}

[收集的数据 -试验 I ]-未转换为电压值。  

524.
406.
438.
609.
-23302  //负输入开始
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44   // 恢复  正常  输入值
-554.
-1279
-292.
572.
1306
1913.
2433.

[收集的数据 - Trial II  ]-转换为电压值。  

0.15.
0.13
0.12.
0.12.
0.38.
-0.06   //开始负值
-0.06.
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
-0.01  // 恢复  正常  输入值
-0.17.
-0.11.
0.13
0.31.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Junil:

    所测量的信号是 相对于 GND 的差分+2.5V ~-2.5V 信号(ADC 输入引脚上的绝对电压相对于 GND 为正)、还是相对于您尝试测量的 GND 为真正的负-2.5V?

    ADS1115无法测量与 GND 相关的负电压、因为它不提供双极电源。 因此、您会从 ADC 得到负电压读数0。  

    当 AINN 上的电压高于 AINP 上的电压时、ADS1115可以测量负差分电压。 例如、对于 AINP = 2V、AINN = 3V 的设置、输出代码对应于-1V。

    解决方案是将 +2.5V ~-2.5V 信号偏移2.5V (5V VDD 电源的中标度)。 这将使差分+2.5V ~-2.5V 信号适合 ADC 可以测量的0-5V 范围。  

    要 直接测量+2.5V ~-2.5V 信号、您需要使用带有双极电源的 ADC。

    此致、

    天使