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:使用 Raspberry PI 测量4-20 mA pH 传感器时、差分输出不正确

Guru**** 2864540 points

Other Parts Discussed in Thread: ADS1115

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/909527/ads1115-differential-output-not-correct-when-measuring-a-4-20-ma-ph-sensor-using-raspberry-pi

器件型号:ADS1115

您好!  

我正在尝试使用工业4-20mA 电流环路传感器测量 pH。 我将使用分流电阻器完成环路、并使用 ADS1115测量电阻器两端的电压、然后通过 Pi 读取该电压。  

我使用 ADS1115获得的读数在毫伏范围内、我假设这些只是无用的值。 我尝试使用万用表测量差分电压、并且可以从万用表获取适当的读数。 我还使用万用表测量电流、并将其转换为电压、以便交叉检查我的值、这一切都是合理的。  

我不确定电路中会发生什么情况。 除分流电阻器外、我没有任何其他组件。  

我做了一个快速测试(这帮助我解决了我之前使用电导率传感器的项目中的一个问题): 在该测试中、我尝试使用万用表测量每个引脚的绝对电压、但我看不到任何值、这很奇怪、但一旦我测量差分电压、我就会看到该值的显著值。 这是我尝试找到答案的问题、以便在我将合适的电路连接到 ADC 之前、它可以帮助我开发合适的电路。  

任何信息都将帮助我识别问题并获得解决方案。  

非常感谢您的观看。  

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

    库马尔


    我需要更多信息来帮助调试您的测量。

    您首先能否提供电路图? 我需要知道您是如何设置它的。 我实际上没有对 pH 传感器进行任何测量、但我认为该传感器通常具有高阻抗。 我想检查您的4-20mA 转换器是否未加载 pH 传感器。

    接下来、您能详细介绍一下与器件的通信吗? 我需要知道它是如何编程的以及您是如何读回数据的。 具体来说、编程模式、使用的数据速率以及器件所采用的 PGA 设置。 最好显示整个配置寄存器设置。 我想知道您是如何读取数据的。 为器件提供字节事务。 我只想确保您通过 I2C 通信读取正确的寄存器。

    当您收集数据时、当时的输入是什么、您期望的是输出数据、以及您从 ADC 接收到的数据是什么? 最好从 ADC 收集一系列类似100个数据的数据、然后将这些数据布置回一个文件中(来自 ADC 的原始数据、未将数据转换为电压或任何其他数据)。

    最好使用示波器来显示 SDA 和 SCL 波形。 与该器件的通信并不复杂、您可以验证与 ADS1115的通信是否与您编程到 Raspberry PI 的通信相匹配。

    我的回复帖子有很多内容。 仔细阅读、然后将结果和问题答案发布回我的问题。 我确信我们可以对其进行调试。


    吴约瑟

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

    您好、Joseph、  

    感谢你的答复。  

    我将尽可能多地发布信息、请允许我今天的时间、我将发布您所要求的所有信息。  

    我没有数据表来了解我的传感器的阻抗、但可能存在高阻抗、我是否可以使用万用表检查它?

    其次、我没有用于检查波形的示波器。 除了这两项外,我会将每一个细节都公布出来。  

    谢谢你  

    库马尔

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

    您好、Joseph、  

    回复您在回复中询问的所有信息。  

    1.电路附在帖子中,如果您有任何问题,请告诉我。 传感器直接输出4 - 20mA 电流、因此我不会转换任何电流。  

    对于通信、我要附加我用于读取数据的 python 代码、这是一个测试脚本、但它将为您提供有关我如何读取数据的信息。 我使用的 PGA = 1、即正负4.096V。 对于数据速率、我已将其设为默认值、我不对此进行任何更改。 我试过玩,但没有什么不同。 对于该模式、我使用 AIN0和 AIN1之间的差分模式读数。  

    3.我每秒收集一次数据,使用万用表测量的差分输入在我读取读数时恒定为1.604V (我正在附上一份 Excel 表格,其中包含一些原始位值和我在执行测试运行时获得的电压值)。 我期望的读数与我在万用表中得到的读数大致相同、为1.604V。 对于4-20mA 传感器、我将使用分流电阻器来读取传感器之间的压降、稍后我可以使用该电压降来计算流过传感器的电流。 分流电阻的值为220欧姆。  

    4.我没有示波器来验证我与 ADC 的通信。 但我使用了同一个 ADC 来读取另一个4-20mA 传感器、这是一个电导率传感器、与之完美配合。 我最初也遇到读取电导率传感器的问题、 但后来我发现引脚的电压输出不在 ADC 可以接受的范围内、所以我构建了一个分压电路来降低我的电压、然后我能够完美地读取这些值。  

    侧注:您可以在 Excel 工作表中看到、我现在得到的电压值大约为2.8-2.9V。最初、我得到的值为毫伏、但突然开始给我这些值、我在电路中没有做任何更改。 我不知道为何在提到其他一些论坛来讨论这个问题后、他们指出这可能是一个与输出有关的问题、输出可能相对于接地或电源引脚悬空。 我希望这些信息能帮助您更深入地了解。 请告诉我您是否认为这可能是一个问题、或者我是否可以进行更多的故障排除来确认这是否是问题。

    我希望我已经提供了您要求的所有信息、请告诉我、如果我错过了任何信息、我也很乐意分享。 我相信、根据您的经验、我们可以调试这个问题。

    谢谢- Kumar

    e2e.ti.com/.../Test_5F00_Script.docx

    e2e.ti.com/.../Raw-values-from-ADC.xlsx

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

    库马尔


    感谢您的设置图。

    首先、确保传感器和 ADC 具有某种公共接地。 输入不应相对于电源电压浮动。 为了使 ADC 正常工作、输入电压必须处于 ADC 的工作范围内。 这意味着 AIN0和 AIN1都必须介于 GND 和 VDD 之间。

    查看设置、我要将传感器的接地端连接到 ADS1115 (或 RPi)的接地端。 然后、我将确保来自传感器的返回电流返回到接地。 在您的设置中、这意味着 AIN1应接地。 通过这种方式、传感器的电流输出通过 Rshunt、然后被灌入公共接地。 您使用的传感器型号是什么?

    我查看了测试脚本、但只知道器件的确切设置是不够的。 我还查看了数据、但没有什么看起来异常的东西。 它肯定会有一些噪声。 代码的输出平均值约为23136d、转换为2.892V 的输出电压。 请注意、您的电子表格电压值会有少量的关闭。 转换应该是:

    电压=输出代码* 4.096/2^15

    您的电压转换似乎大约高1.3%。

    无论如何、请更改设置、连接接地端、如果您遇到不同的情况、请告知我。


    吴约瑟

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

    您好、Joseph、  

    感谢你的答复。 我在等这件事。  

    我的传感器已连接到 Pi 的接地端、ADC 也连接到同一接地端。  

    我尝试将 AIN1连接到地面并测量读数、它会为我提供恒定值(我正在发布这些值以供您参考)。

    -24 -3.0000915555284284
    -24 -3.0000915555284284
    -24 -3.0000915555284284
    -24 -3.0000915555284284
    -24 -3.0000915555284284
    -24 -3.0000915555284284
    -24 -3.0000915555284284
    -24 -3.0000915555284284

    关于 ADS1115的设置、我只将增益更改为1、其余所有设置均处于默认模式。 关于传感器、它不是现成的传感器、而是我从供应商处订购的传感器。 我可以给您提供型号、但您在网上找不到任何关于它的信息。 关于电压转换、我正在使用库函数来获取电压值、但它可能仍然不正确、我将对此进行研究。  

    1点、我想当有点不寻常时、我每次在同一连接时都会在 ADC 中看到不同的读数、例如、在我的上述帖子中、我得到的输出电压平均为2.892V。 而现在我得到不同的值、它也在波动。 我将发布一些读数示例。 我在两个引脚之间同时连接了一个万用表、我得到的恒定读数为1.767V。  

    实际上、我无法再尝试解决此问题、您的任何其他帮助或建议都将帮助我们调试此问题。  

    谢谢您- Kumar

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

    库马尔


    部分问题是、我不确定器件配置是否正确、如果 ADC 正在读取您认为它正在读取的电压。 我想确保器件处于正确的范围内并正在测量正确的模拟输入。

    另一个问题是、我不确定 pH 传感器是如何工作的。 我不确定连接的绝对电压是在哪里、以及实际需要的输出电压是多少(确切电压以及是否有交流分量)。

    因此、让我们尝试两个不同的实验。 首先、让我们确保器件配置正确、测量电压并报告正确的数据。 ADS1115应能够测量其自身的电源、因此首先断开输入。 然后将 AIN0连接到+5V、将 AIN1连接到 GND。 将输入设置为 AIN0-AIN1、将输入范围设置为±6.144V、然后进行测量。 祝您一切顺利、ADC 值应为:

    输出代码=(5V * 2^15)/(6.144V)= 26667d

    这将确认 ADC 正在进行正确的测量。 如果需要、您可以设置电阻分压器并检查不同的范围、但这现在应该就足够了。

    然后、我们需要查看与 pH 传感器的连接。 使用您的图表、我重新绘制了它、因此我认为这就是建立连接的方式:

    我不知道的是、其中 AIN0的电压相对于接地、而 AIN1的电压相对于接地。 请注意、模拟输入应在 VDD 和 GND 之间具有绝对电压。 我会使用万用表测量这两个电压、并确保它们都在范围内。

    我先前曾建议将 AIN1接地。 这将确保 AIN1为接地、并且4-20mA 输出将直接灌入接地(而不是进入4-20mA 回路)。 在这种情况下、连接如下所示:

    但是、当您将 AIN1接地时、您会说您会得到以下恒定读数:

    -24 -3.0000915555284284

    您基本上会得到读数的-3mV? 我假设-24是 ADC 输出代码、您的工作电压范围为±4.096V。 是否有电流从 pH 传感器流出的情况?

    最后、对于最后一组读数、我假设您再次从 GND 断开 AIN1、您将获得以下读数(十进制?):

    10514.
    16747
    10547.
    16154.
    10772
    16134.
    12201
    10010.
    16647
    10767
    16862
    10586
    16585.
    10276.
    12955
    17233

    该平均值约为13437个代码、约为1.68V。 如果万用表为1.767V、则至少该输入接近。 但是、我不确定您的传感器是否提供振荡的电压、这可能会像这样解释 ADC 读数:

    此时、我无法判断输出电压是真的振荡、还是恒定。 再说一次、我将使用示波器来查看该输入电压。 我知道您没有一个、但我会尝试找到一个。  如果无法查看输入信号、我不确定 ADC 测量的是什么。


    吴约瑟

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

    您好、Joseph、  

    非常感谢您对我的问题做出如此详细的答复。 非常感谢您的参与。  

    我将尝试您提出/建议的所有内容、并尽可能详细地返回、以便让我们更好地理解。

    非常感谢

    库马尔

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

    您好、Joseph、  

    请在下面找到我的项目符号响应:

    我尝试使用您建议的步骤验证了5V 读数、我能够从 ADC 获得5.129V (27363位值)、而使用万用表的实际读数为5.14V。 它大约有0.3%的折扣、但我认为这是可以接受的、请告诉我您对此的想法。  

    2.为了检查来自传感器的各个引脚的绝对电压:我认为当我尝试测量任何一个引脚和 GND 的绝对电压时,问题就会出现,我在万用表中得到的值在大约20-30mV 的范围内。 来自传感器的两条导线(4-20mA 输入和4-20mA 输出)是相同的。 由于不存在绝对电压、ADC 不会读取任何值。 我认为这里的正确理由是、为了使电路完整、必须连接两根导线、也就是电流流流过环路时。 这就是为什么、当我将这两个引脚都连接到万用表以获得电压差时、我得到正确的读数。

    3.第三个问题是:电流是否在任何情况下流出 pH 传感器?  我不认为电流从 pH 传感器流出、我认为当电阻器的一端接地时、电流环路未完成、因此根本没有电流从传感器流出。 我想、电流环路必须完成自身才能使电流流动。  

    4.最后一点,关于振荡读数: 在这种情况下,我不认为这些值会振荡,但我仍然会尝试从某个地方获得一个示波器,并尝试测量信号。 但在此之前、我认为问题是我在第2个项目符号中描述的。 如果我们能够解决这个问题、我认为我们将更好地了解信号、无论信号是否在振荡。  

     

    侧注:我已联系传感器供应商、分享有关传感器电路及其电子工作方式的更多信息。 一旦我明白了、我一定会与您分享、以便更好地理解。

     

    但我认为第二个要点是问题所在、请告诉我您是否可以考虑解决该问题的方法。  

    非常感谢您- Kumar

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

    库马尔


    我想我会等待传感器供应商对器件的评价。 我仍然不确定该器件的输出应该是什么。 最初、根据您的描述、我认为该传感器将输出4-20mA 的输出、该输出会随测量的 pH 值而变化。 因此、输出电流应通过一个将电流转换为可测量电压的200Ohm 电阻器分流到接地。
    但是、该器件似乎会将电流灌入接地端、或者该测量的输出具有某种浮点性质、因为电流会返回到另一个引脚、这似乎与接地无关。

    获得更多信息后、请告诉我。

    根据电源的测量值、我可以想象电压是正确的。 我不知道您使用的是精密仪表、还是误差在误差范围内、但在我看来、对于标准手持仪表、1.3%的误差并不大。


    吴约瑟

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

    当然、先生、  

    我会随时向您提供我从他们那里收到的任何信息。 同时、请告诉我是否还有其他事情可以尝试、希望能找到解决方案。  

    非常感谢您- Kumar

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

    库马尔

    有一段时间没有收到您的请求、因此我想检查一下您的申请。 正如我在前面的文章中提到的、我认为您遇到的问题是连接到此器件的输出、并且不确定输出4-20mA 转换器的电流是如何灌入的。

    我现在将关闭此帖子、但如果您在获取此测量结果时遇到问题或收到有关传感器输出的更多信息、请发帖、我们可以继续处理此问题。

    吴约瑟