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.

[参考译文] ADS1118会不时返回高数据

Guru**** 2535150 points
Other Parts Discussed in Thread: ADS1118

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/700112/ads1118-returns-high-data-from-time-to-time

主题中讨论的其他器件:ADS1118

你(们)好

我面临的问题是、ADS1118返回到 Arduino/STM32duino 意想不到的高利值、如下所示。 AIN 线通过10k 接地。 当我将信号输入、即1V 时也是如此(我选择1024mV 的放大值)。

我还测试了32位和16位模式。 不幸的是、结果相同。 我还在 CS 变为低电平时测试了不同的 delayes 等 我使用860SP、但也测试了其他模式-同样的不良结果。

下面还有 SPI 接口。 我无法理解为什么它突然发送高分数-我检查了之前的帧、一切都很好。 我在两个微控制器上检查了这一点、并且始终相同。 我使用3、3V 或5V 为 ADS1118电源供电。 我还使用 LC 滤波器来清除电压、并测试了500kHz 至4MHz 范围内的 SPI 速度。 我使用了串行150 Ω 电阻器和相同的电阻器。

请告诉我错误的地方。

提前感谢

Tom

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

    您好!


    ADS1118以二进制补码表示法返回值、因此您看到的大数实际上是报告小负数的 ADC。 正满量程读数为7FFFh、负满量程读数为8000h。 数据表第23页的数据表对二进制补码表示法进行了少量解释。

    从数据点列表中、您应该得到以下输出值:
    1 = 1
    1 = 1
    0 = 0
    65535 =-1
    65534 =-2
    65533 =-3
    65530 =-6
    0 = 0

    所有值都非常接近。 但是、如果您期望的值比该值大得多、我将检查器件的输入多路复用器设置、并确保选择了正确的输入。


    吴约瑟

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

    如您在分析仪屏幕上所见、我始终设置 AIN0输入(X100...) 并仔细检查了连接。 因此、不应出现这些高值。
    大约负值我还添加到了代码中(分数和0x7FFF)、但我一直收到像32760这样的值-正如您在屏幕上看到的、ADS1118的数据中都有"1"。

    我想在 MPPT 转换器中使用它,但这些问题使它无法实现。 我做了很多测试,试图弄清楚什么是错误的…

    现在、我使用 STM32duino 的内部 ADC 并进行过采样获得了更好的结果...

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

    Tom、


    通常、我会要求查看一组更长的数据、以显示良好和不良的结果。 最好使用32位数据传输周期(如数据表第24页所示)来显示数据和配置寄存器设置。 我还想看一个原理图、其中显示了电路连接以及如何施加输入电压。 人们经常遇到的一个问题是、输入电压不能相对于电源电压浮动。

    如果您输入的是±1.024V 范围的1.0V 信号、则预期结果为7D00h。 在数据中、可能的结果中没有提到这一点。 如果您获得的是常规值和接近0的值、则可能连接不良。

    如果您能够使用 STM32duino ADC 且适合您的应用、那么祝您好运。 但是、如果您想继续调试您的电路、我相信我们可以解决这个问题。


    吴约瑟