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:数据在&quot 中;读取转换寄存器"不正确

Guru**** 2535180 points
Other Parts Discussed in Thread: ADS1115

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1034599/ads1115-data-in-read-conversion-register-incorrect

器件型号:ADS1115

我很难从 ADC 获得我期望的结果。 我已经反复检查了所有内容、认为我在协议中做了一些错误、但所有内容都应该在数据表中正确无误。 发生的情况如下:

  • ADC 值似乎只有12位、因为最后4位始终为零
  • 即使我设置 ²2.048伏特 VREF、实际情况似乎只有25%
  • 无论多路复用器设置如何、我似乎都读取 AIN0 (+)和 GND (-)(设置为  AIN0 (+)和 AIN3  (-)
  • AIN1/AIN3和 AIN2/AIN3 的读数类似于 AIN0/AIN3  

我所拥有的芯片标记为"Bogi"、订单代码"ADS1115IDGSR "表明了这一点、但实际上这是一个不同的 ADC。 我发现其他人在该器件上有相同的问题。

https://forum.arduino.cc/t/ads1115-problems-or-fake/658746

初始化并启动 ADC:

读取 ADC:

BR

Morten

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

    您好、Morten、

    很遗憾听到您遇到了一些问题。 为了进一步帮助进行调试、我有几个问题:

    -器件是在哪里购买的?

    您是否能够提供原理图?

    -除了在读取转换寄存器的最后一个字节之后的 NAK 之外、写入和读取命令看起来正常。  

    -您为输入提供了什么输入?

    此致、
    Aaron Estrada

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

    您好、Aaron、

    该器件于  2021年5月初从 Farnell Element 14 https://www.farnell.com 购买。

    我正在处理的原型是一个副本、如果前一个原型具有两个小型 I2C ADC MCP3421A0T-E 由于我需要3个 ADC 通道、我现在已将电路板更改为使用 ADS1115。 我已提取下面原理图的重要部分。

    e2e.ti.com/.../Schema-on-my-ADS1115.pdf

    我现在已经更改了固件、以便最后一个字节读取也具有  NAK、但 ADC 读取的内容仍然相同。 谢谢您的关注。

    输入在 AIN0、AIN1和 AIN2上的3个相似电路上读取+/- 65V 直流电压(如 PDF 中所示)。 运算放大器会创建一个虚假的2.5V 零点(ADC 的一半)、允许我测量低至-65V 的负电压。 我的电路 与在上测量的直流电压绝缘、但它们都连接到1/2伏外部 GND 点(AIN3)。  电路读取这3个电压相当简单、诀窍是在固件中使用这些值计算不同的测量值。

    我有一个具有2个小型单通道 ADC 的工作原型、但由于不同的产品差异、我需要这个第3个 ADC 输入。

    由于没有任何供应商库存 ADS1115IDGSR、我现在已经从 Farnell 订购了演示板、零件3106067。 希望这将允许我对一个可以使用的有效 ADC 进行焊料解焊。

    感谢您重放。

    此致

    Morten Bogevik

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

    只需添加一点、即我尝试读回配置寄存器0x01、并且清楚地看到 ADC 以我写的完全相同的位进行应答、但位15 (OS)始终为"0"、重复读取也比采样周期长。 数据表中的"0:器件当前正在执行转换"有点令人困惑,但由于我从 ADC 中明显得到了低 RDY 信号,因此我没有更深入地了解这一点。

    BR

    Morten

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

    您好、Morten、

    我查看了原理图、器件看到的输入电平似乎正常。 收到演示板后、请告诉我它的工作原理。  

    此致、

    Aaron Estrada

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

     您好、Aaron、

     Farnell 零件3106067上的 ADC 的工作方式完全相同。 我从不会在最后4个位上得到除零以外的任何东西、当 AIN0和 AIN3都为2.5V 时、ADC 读取值0x17C0。 如果我将输入短接至 ADC GND 引脚、ADC 会读回零、有时读回0x0010 (16)。 ADC 读取 AIN0 至 GND、而不是  设置为 AIN3。

    我已尝试将采样率从860SPS 更改为475SPS、工作正常、RDY 线在准备好采样后变为低电平之前大约为两倍(2.164mS)。

    我拍了一张电路中 IC 的照片来验证标记:(质量不是最好的)

    当 NAK 被固定时,ADC 立即读取:

    目前我不知道从这里去哪里。

    此致

    Morten

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

    您好、Morten、  

    当您说 AIN0和 AIN3均为2.5V 时、您是否实际测量这些输入? 作为完整性检查、您能否捕获提供给 AIN0和 AIN3的输入信号的示波器截图?

    此致、
    Aaron Estrada

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

    您好、Aaron、

    多路复用器位为14:12位,我将其写入"001:AINP = AIN0,AINN = AIN3"。 寄存器1 MSB = 0x95 = 0b10010101

    从逻辑分析仪:

    此致

    Morten

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

    您好、Morten、

    我看到逻辑分析仪捕获、但我要问您是否可以提供 AIN0和 AIN3上模拟输入本身的测量。 您是否能够探测模拟输入并验证其值?

    此致、
    Aaron Estrada

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

    您好、Aaron、

    当我从 ADC 读取0x17C0时、我的外部电路实际上没有连接。 AIN3连接到2.5V、AIN0将通过6.98k (R33)具有相同的电压(220k OUT 开路)。 我已经 使用示波器测量了 ADS1115引脚4 (AIN0)、请参阅下图。 将探针移至引脚7可提供完全相同的测量值。 我还将时间/DIV 更改为200ms、以确保没有低频率。 交流分量。

    此致

    Morten

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

    您好、Morten、

    感谢您的分享。 我将研究这一点、并与团队讨论这种行为、并在周一返回给您。 感谢您的耐心。

    此致、

    Aaron Estrada  

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

    您好、Morten、

    再次感谢您的耐心等待。  

    根据您迄今提供的信息、我 有一些后续建议:

    -您能否在两个输入均为2.5V 的情况下共享配置和从器件读取的完整 Saleae 图? 如果您可以共享输出文件、共享文件将是最佳选择。  

    - PCB 上是否有多个 ADC? 如果有、我会再次检查多个 ADC 不共享同一 I2C 地址。 您可以确认吗?

    -对于比较器、您能否将0x7FFF 写入寄存器2而不是0x0000?

    -我也想尝试一些单端测量。 如果您可以 将器件配置为 AINp = AIN3且 AINn = GND、则会在单端模式下使用输入。 请注意、器件的 FSR 需要设置为+/- 4.096V。 如果您可以为此共享 Saleae 输出文件、那将非常好。  

    当 AINp 和 AINn 都为2.5V 时、0x17C0的输出代码告诉我们 AINp 和 AINn 之间存在380mV 的差分。 有一些电阻器、例如6.9k 和10k Ω 电阻器、会由于偏置电流而降低一些电压、但我认为它不会高达380mV、似乎有一些潜在的原因。 我希望通过您提供的新信息、我们可以更接近地帮助您找到解决方案。  

    此致、
    Aaron Estrada

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

    您好、Aaron、

    不幸 的是、我在紧急情况下被分配到不同的工作(意味着销售依赖于编程工作)、因此我现在无法这样做、以后必须回到这一点。

    此致

    Morten