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.

[参考译文] ADS1232:缩放输出错误

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1236143/ads1232-scale-output-error

器件型号:ADS1232

您好!

我们将 TI 的 ADS1232用于我们的最新秤产品之一。 我们只会遇到 IC 传输错误数据的一些问题。 取决于 ADS 向输出数据提供的速度/频率、每个 x 行输出一个零。 它不仅具有1个 IC、而且还具有所有 IC。 我们的软件工程师试图找出问题所在、但他发现问题实际上来自于 IC、并不属于软件问题。

请参阅附录中的称重器输出、您可以在其中找到每个第6个重量的零误差。

在附录中、还可以找到 PCB 图。

 e2e.ti.com/.../Schematics-Autogram_5F00_PCB_5F00_V3.PDF

谢谢

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

    您好 Levi:

    这看起来像是通信的时序问题。

     您能否发送原始 ADC 数据、而不是计算结果?

    2. 请使用示波器或逻辑分析仪 SCLK、nDRDY/nDOUT 在4-5个周期内捕获 IO 信号,包括读数为0的周期。  还应测量 nPDWN 和 SPEED 引脚、以确保这些信号在转换读数期间不发生变化。   

    3. 尽管这不会导致读数为"零"、但基准输入电容 C11的值应至少为10nF 或更高、以降低电源噪声。   建议使用与输入电容器 C7相同的100nF 电容器。

    此致、
    N·基思
    精密 ADC 应用

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

    Keith、您好、

    感谢您的快速回复和您的帮助/

    我道歉,但我解释的问题不正确。 输出不是经常给出0、而是输出在每个 x 输出时给出重复的值。 由于我们将测量上述计算中的差异、因此当两个数字彼此相等时、其结果为0。 我们进行了许多测量、量程似乎总是在特定的 ADS 速度下生成具有精确重现频率的重复值。 这些重复值的频率取决于 ADS1232的速度设置

    有了这些信息、您能再说些什么吗?还是我还应该做同样的测试?

    我让我们的工程师来做这个、他们很快就会回复。

    谢谢!

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

    您好 Levi:

    是的、我仍然需要  SCLK、nDRDY/nDOUT 捕获的 IO 数据超过4-5个周期。   这似乎是时序问题、但我需要 IO 信号进行确认。

    这也可能是固件的问题。  提供原始 ADC 读数将确认重复的读数是来自 ADS1232、还是某种类型的固件错误。

    此致、
    基思

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

    尊敬的 Keith:

    我希望这条消息能让您满意。 首先,请接受我对拖延答复表示的诚挚歉意。 我们的工程师已经赶上了各种任务、这导致延迟了解决您的问题。

    在查看原始数据并将其与计算数据进行比较后、我们发现重复数据的问题似乎只在计算数据中表现出来。 然而,迄今为止,查明这一问题的确切位置对我们来说是相当具有挑战性的。

    为使阁下更清楚地了解有关情况,我已将有关资料附于附录内。 您会发现一个突出显示双精度数据实例的屏幕截图。 可以看到、只有计算数据是双倍的。

    我们使用以下链接提供的库。

    https://gitlab.com/jousis/ads1232-library

    此外、我们在主软件中的计算如下所示:

    ''重量=(双精度) taxed_value /(双精度) cal_factor;
    MLt = powf (10.0f、2);
    重量= roundf (重量* MLT)/MLT;''

    鉴于您在这一领域的丰富经验,我们恳请您指导我们朝着正确的方向解决这一问题。 您可以提供的任何见解或建议将会非常感谢。

    非常感谢您的理解与合作。

    此致、

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

    您好 Levi:

    我无法从提供的信息中得知问题发生的位置。

    1. 读数不断增加。  这些实际的重量变化、还是输入斜坡电压导致的变化?

    2. 我无法从代码中看出为 Raw 值打印的变量。  您能否提供更多代码来显示完整 printf 语句、以及 所提供代码中使用的所有变量的值和类型(float、double、INT 等)?

    3. 如果可能,请捕获 ADS_DOUT、ADS_PDWN、ADS_SCLK 和 ADS_SPEED 波形。  

    此致、
    基思

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

    Keith、您好、

    再次感谢您的快速响应  

    1:JES 这些是实际的变化、但是您可以看到权重增加了一倍、原始数据不是。

    2: 在 Wetransfer 链接中查看我们用来进行 ADS 计算的软件

    3:很遗憾、对于当前的 PCB 设计、我们无法捕获此数据/

    在主文件的 ADS 任务中、可以找到用于将数据从 ADS 中取出的代码。

    希望这能为您提供更清楚的信息?

    https://we.tl/t-HWKhdFjePY

    等待您的回复

    谢谢!

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

    您好 Levi:

    我无法使用您链接的文件共享服务。  请提供相关代码的屏幕截图。

    此致、
    基思

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

    Keith、您好、

    我将相关代码复制到一个字文件中。 请参阅附录。

    您可以在这里找到

    - ADS 任务(读取和计算重量)

    - ADS1232.h (图书馆)

    ADS1232.c (库)

    e2e.ti.com/.../ADS-task.docx

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

    您好 Levi:

    我不确定您的代码是什么导致了重复的结果。  不过、由于原始 ADC 值在变化、这可能与软件相关。  我建议在'initconfig'中将"smoothing"变量设置为 false、以便 readRaw 返回平均 ADC 值。   

    此外、我不知道 ScaleAverage 变量定义的位置;它应声明为特定值、例如4。

    此致、

    基思

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

    Keith、您好、

    1:通过将平滑处理设置为"false"、我成功解决了问题。 我真的很感谢你在这个问题上的帮助。

    但是、我已经注意到、当平滑处理关闭时、结果不太稳定。 我正在考虑是否应该使可根据算法进行调整的"false"和"true"值变量。 这样、终端用户只会看到一个稳定的值、并且平滑处理将根据机器正在执行的操作进行切换。 如果我们实施此方法、您是否可以预见到任何潜在的问题?

    我们 存储在变量中的2标度平均值。 该 变量的范围是1至5。 在机器称重循环期间、我们将 ADS 速度设置得更高。 相反、当用户与机器交互时、我们将 速度设置为 较低的值。 此策略可确保称重器对最终用户而言稳定可靠。

    感谢您关注这些问题、我期待您的意见。

    此致、

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

    您好 Levi:

    在某些情况下、使用"动态"函数没有遇到任何问题、而在其他情况下只是求平均值。  这 对 ADC 性能没有影响、并且是一种 固件滤波方法、 可在低噪声和响应时间之间提供良好平衡。  但是、如果您打算使用平滑处理函数、那么我建议您联系示例代码的作者 https://gitlab.com/jousis/ads1232-library、 以便更好地了解该函数是如何工作的。

    此致、
    基思

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

    尊敬的 Keith:

    再次感谢您的提示。

    在我们成功结束对话之前、我还有一个最后的问题。

    您能否确认德州仪器(TI)是否已开发出专门用于 ADS1232的库、我们可以利用这些库?

    感谢您的帮助。

    此致、

    列维

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

    您好 Levi:

    遗憾的是、我们没有有关该器件的示例代码或库。  但是、许多第三方示例、包括您正在使用的示例代码、为读取原始 ADC 值提供了一个良好的起点。  

    此致、
    基思