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.

[参考译文] ADS1241:自增益校准不工作

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/571710/ads1241-self-gain-cal-not-working

部件号:ADS1241

我正在使用ADS1241测量热电偶。  在PGA增益=1或PGA增益=2时工作正常。  但随着PGA增益的增加,它开始提供数字。  我尝试了自增益校准(SCLFGCAL)命令,但似乎没有任何作用。  我的增益越高,我得到的温度误差就越多(相反)。

我的初始化代码如下所示

将所有零写入设置寄存器以设置PGA=1。

将所有零写入ACR寄存器(双极,缓冲关闭等)

将所有零写入ONAC寄存器。

SCLFGCAL命令

然后再次写入Setup寄存器,将PGA设置为16。

SELFOCAL (自偏移校准)。

将多路复用通道都更改为输入0。

SYSOffsetCAL。

将所有零写入ACR寄存器

谢谢。

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


    您能否回复此帖子并提供您获得的结果? 最好能显示ADC值(以十六进制或十进制表示,而不是以转换值表示)以及在每个校准步骤之前和之后得到的信息。 同时记录输入和参考的万用表测量值(我假设您使用的是万用表,而不是校准源)。 我想知道误差有多大,以及它如何随着收益而变化。

    此外,如果您使用万用表测量输入电压和参考电压,您使用的是什么品牌和型号? 我只是想确保您有足够的准确性和分辨率来获得您想要的结果。 我们经常使用Agilent 3458A。但在大多数情况下,3.4401万A足以获得良好的读数。


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

    这是我到ADC的输入电路。  未安装R32。  ADC_AVDD上有大约200mVp-p的噪声。  当我移除R62和R57 (将共模偏差设置为2.5V)时,模拟输入上的噪声降低到大约20mVp-p  这种噪音是否会使放大器过饱和?

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


    只是为了确定,此噪音是否与您的校准问题有关? 如果您的模拟输入噪音和您所说的一样大,然后您进行任何类型的系统校准,您将获得不一致的结果。 我只是想确保我们仍然面临同样的问题。

    作为对我昨天所作评论的补充,最好是先进行SCLFCAL,然后再进行SELFOCAL。 SCLFCAL提供启动偏移校准。 这消除了在增益校准中出现的任何初始偏移误差。 大部分时间,这是一个很小的问题,但我认为这是一个较好的方法。

    至于您最近的帖子,我不确定是什么问题。 如果您正在测量热电偶,则1MΩ Ω 电阻器不应显示在测量中,并应拒绝共模信号。 共模抑制大部分时间应大于120dB。

    我不认为噪音会使放大器饱和,但我不确定您的配置。 ADC的增益为16,但输入缓冲器是否已启用? 如果未启用缓冲区,则可能会有大量输入电流与来自滤波的输入电阻发生反应(这将产生显著的直流错误,但我想说这不会产生更多噪音)。 我还会考虑移除和绕过输入端的铁氧体磁珠。 我看到许多人使用它们进行筛选,但我一直对它们保持警惕。 ADC对带电容器的模拟输入进行采样,每个采样都有一个浪涌电流。 电流的这种快速变化会导致电压峰值,因为存在较大的L (di/dt)。

    请注意,您应该发布我在第一篇文章中询问的结果数据。 这可能有助于更快地调试问题。


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

    我没有精密万用表(只是手持式示波器)。  我有一个DAC (AD5412),我将输出连接到ADC的输入中。  因此,我改变DAC输出以提供ADC输入电压。  我使用ADC输出值来计算ADC UV读数。  以下是错误(绘制在下方)与输入电压的对比,也是不同增益(1,2,4,8)的误差。  对于实心迹线(输入1),输入滤波器具有除R32之外的所有内容。  对于虚线迹线(输入2),输入滤波器没有R32,铁氧体(旁路),R62,R57,R58, R59。  所以它只有3个电容器。  因此,输入1在ADC_AVdd和GND_ISO之间具有2.5V的共模偏置,但输入2没有该共模偏置。  似乎共模偏差不应影响错误。  ADC_AVdd当前有大约300MVP-p噪声。

    相对于输入电压,这是否是合理的错误?

    如果我将热电偶校准器连接到它的增益=1且增益=2,则我获得良好的温度测量值(仅~0-2°F误差),但随着增益的增加,温度误差会变大(~20-50°F)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    否,未启用缓冲区。 我可以尝试一下。 我在一次测试中移除了铁氧体磁珠,并且在增益> 2时看到的较大温度误差没有差异。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Signalflow,


    我还会注意到,如果未启用缓冲,有效输入阻抗为300kΩ Ω。 如果您对每个滤波电阻器使用10kΩ,则会出现明显的增益错误。


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

    不确定开机自检是否完成(再次发送)。

    我有一个DAC,用来设置ADC输入上的电压。  输入1 (实线)在输入滤波器上具有除R32之外的所有组件。  输入2除电容器外,所有设备均已移除或旁路。

    此错误看起来是否合理或看起来有问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    数据表显示:
    缓冲区的输入范围约为50mV至AVDD–
    1.5伏。 缓冲区的线性将降低到此范围以外。
    差分信号应调整为两个信号
    在缓冲区的输入范围内。

    这并不意味着我不能使用来测量小于50mV的极小热电偶信号。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Signalflow,


    您应该能够使用缓冲区。 ADC测量来自AINP-AINN的输入。 只要AINP和AINN都在0.050 至AVDD-1.5V范围内,就应该可以测量它们。 例如,如果AINN=2.5V且AINP=2.51V,则输入为10mV,缓冲器仍将工作。 缓冲器不受差分电压的影响,仅受AINP或AINN的直流点的影响。 如果AVDD=5V且AINN=3V,则由于缓冲区的原因,您可以使用的最大AINP为3.5V。 将缓冲器视为单一信号的单位增益缓冲器,其范围为0.050V至AVDD-3.5V。

    能否发送您绘制的Excel文件? 我想看看这个图背后的数字。 最好有来自ADC的十六进制值以及用于查找理想预期值和误差的电压测量值。

    我会注意到,这看起来像输入阻抗与10kΩ Ω 滤波器电阻的反应。 当增益越高,输入阻抗越低,误差越大。 作为一项测试,您可以缩短10kΩ Ω 滤波器电阻。


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

    缓冲器无疑有助于处理这些大信号(0.1 -2.5V输入)。  请参阅下面的图解(以及随附的2个Excel工作表)。  但是,热电偶上启用的缓冲区会产生偏移。  偏移量为~5°F (5 x 28uV/degF = 140uV)。  但是,打开缓冲器至少可以使温度读数在较大的温度范围内显示正确,但偏移量在该范围内保持恒定。  因此,启用缓冲区时,212degF的读数可能为208°F,而675degF的读数可能为670°F。  即使增益为1,温度偏移也为-5°F。  禁用缓冲区时,在212处仅为+2degF偏移,而在325degF处为0 deg偏移。

    e2e.ti.com/.../2017_2D00_02_2D00_03-_2D00_-ADC-tests_5F00_buffer_5F00_disabled.xlsxe2e.ti.com/.../2017_2D00_02_2D00_03-_2D00_-ADC-tests_5F00_buffer_5F00_enabled.xlsx</s>2017

    所以,  

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


    缓冲器有所帮助,因为它增加了模拟输入处的输入阻抗。 ADC输入可看到输入阻抗和滤波器电阻之间输入信号的分压器。 如果您移除了10kΩ Ω 系列电阻器并将其替换为短路,我认为您也不会遇到增益误差(除非您正在测量的信号具有高输出阻抗)。

    我注意到您的输入信号在每个整数电压输入处都有某种不连续性。 您使用什么作为输入信号? 这可能是您正在使用的源或万用表。

    由于使用缓冲区会产生高偏移,您是否能够运行某种系统偏移校准? 您应该能够将其归零。 请注意,如果ADC本身改变温度,您可能会看到一些偏移漂移。


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

    我正在使用DAC (AD5412)输出连接到ADC输入的模拟电压。 对于温度测试,我使用热电偶校准器(Omega CL3512A)。

    因此,在我进行自偏移校准之前启用缓冲,当校准器设置为212°F时,我得到214degF。 如果在执行自偏移校准之前启用缓冲区,自偏移校准效果似乎更好。 如何进行系统偏移校准? 我是否应该只使用mux并将两个通道设置为相同的输入(因此它有效地短路)并运行SysOCal命令? 我应该按什么顺序进行校准? 例如,

    设置PGA=1
    自增益校准
    将PGA设置为所需的增益值
    打开缓冲器
    自偏移校准
    系统偏移校准

    我试了一下,结果似乎不能帮助我在212°F时偏移2°F。 在低增益(1,2,4,8)时,在647度时的偏移为oly 1或2 deg。 当我上升到PGA=16时,在647度的偏移是-7度(显示640°F)。 可能是增益错误。

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


    系统偏移校准将在输入短路时进行,无论您设置了什么配置。 我已经阅读了您的顺序,我认为以下内容最好:

    设置PGA=1
    运行SCLFCAL
    打开缓冲器
    将PGA设置为所需的增益值
    运行系统偏移校准

    SCLFCAL首先将输入短路,然后进行测量。 这样可以测量存储的偏移量,并从未来的测量值中减去偏移量。 然后将参考设置为输入,然后再将其与参考进行比较。 然后对该输出进行缩放,使其满刻度输出为7FFFFFh。 增益校准部分补偿输入采样帽与参考采样帽之间的不匹配。

    通常,我会先打开缓冲区,然后运行SCLFCAL,但引用不可能在缓冲区的范围内。 我猜VREFN电压是接地的。

    请注意,任何校准都将受到噪音的影响。 通过直接写入OCR和FSR值来校准设备可能更好。 对于OCR,请将输入短接在一起,然后取16个数据点并计算它们的平均值。 您可以通过调整FSR来校准FSR,以获得从校准器获得的正确值。

    从您的上一条评论中,您应该尝试将偏移和获得错误分开。 我首先要提高增益,因为参考的输入偏移应该更明显。


    吴若瑟