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:ADS1115随机尖峰至1.2V

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1358480/ads1115-ads1115-random-spikes-to-1-2v

器件型号:ADS1115

PCB 上很少有 ADS1115有问题。 它们的行为都是相同的、因此我怀疑某个地方存在通信错误。

您可以看到、我会得到一个大约为1.2V (1.20003662221137)的值、这个值每次都非常精确。 有时还会使用较低的值、这种情况下的随机性会更高。

我曾尝试以860SPS 和64SPS 的不同数据速度运行、在读取数值前增加了转换延迟(最高30ms)。 延迟似乎改善了一点、但仍然远远没有达到好的效果。

我在不同 I2C 总线上的多个 ADS 上得到相同的误差。

不知道导致这种情况的原因是什么以及如何消除误差?

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

    尊敬的 Pelle:

    读数对应的寄存器配置是什么?

    您使用的是连续模式还是单次模式?

    此外、是否有可能使用逻辑分析仪提供数字通信的一些捕获结果、以找出潜在问题? 如果可能、还提供原理图。

    此致、

    天使

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

    以下是读取错误的日志的一行:

    bin (self.readRegister (self.config_REG))='0b10001011100011'、 bin (self.readRegister (self.conversion_REG))='0b1100100000000'

    认为位字符串1100100000000对应于同一 I2C 总线上另一个器件的一个寄存器、并以较慢的测量间隔运行该寄存器可解决该问题。

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

    尊敬的 Pelle:

    您是否能够使用示波器/逻辑分析仪探测数字通信线路以查看数据线路上实际的内容?

    这将有助于在数字通信出现问题时进行调试。

    似乎很可能、因为您提到减慢速度有助于解决问题。

    此外、使用了哪些寄存器配置?

    此致、

    天使