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.

[参考译文] ADS124S08:ADC 不'读取不正确

Guru**** 2391415 points
Other Parts Discussed in Thread: ADS124S08

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1249835/ads124s08-adc-doesn-t-read-correct

器件型号:ADS124S08

您好  

我有 ADS124S08。 我使用4通道。  所有通道均配置 4线 PT100。

有些通道读取正确、有些通道读取不正确。

例如、I 使用万用表100.5欧姆进行测量  

但当我尝试使用 ADS124S08时、得到的结果是103.2欧姆、

硬件正确、我使用了电阻器1k (%0.001容差)。

如何读取正确的数据?

//U8 data[6]={0x12、0x0A、0x14、0x12、0x07、 0xF0};//通道0配置

// U8 data[6]={0x45、0x0A、0x14、0x12、0x07、 0xF3};//通道1配置

//U8 data[6]={0x78、0x0A、0x14、0x12、0x07、 0xF6};//通道2配置

// U8 data[6]={0xAB、0x0A、0x14、0x12、0x07、 0xF9};//通道3配置

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

    您好、0_utq_0:

    您能否共享原理图?  测量是比例式的、那么如何进行计算呢?  另外、在通道之间切换时是否考虑了模拟稳定?

    对于您认为没有正确显示的单个输入、查看连续连续的一系列数据(128个样本没有缺失的数据点)将会很有帮助。  在这里、我希望以原始数据(代码)的形式进行分析、而不是转换为电阻。

    此致、

    鲍勃 B

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

    你好,Bob

    我的原理图 是:

    I 通过以下代码计算得出

    void read_data(ADS124_t* p_ads124,char slaveId, float *data)
    {
        char i_Data[3]={0,0,0};
        unsigned long output_data=0;
        unsigned long  scale = 16777215; //2^24 -1
        unsigned long  gain  = ((2*1000)/4); // (2*RREF) /Gain
        float rrtd=0;
    
        SPI_CS_LO(slaveId);
    
        spiRead(p_ads124->mp_sPI, i_Data, sizeof(i_Data));
    
        output_data = i_Data[0];
        output_data = (output_data<<8) + i_Data[1];
        output_data = (output_data<<8) + i_Data[2];
         
        SPI_CS_HI(slaveId);
        rrtd=(float)output_data/scale;
        rrtd=rrtd*gain;
        *data=rrtd;
    }

    我以200ms 的间隔更换通道。 

    例如
    I 从 ADS124S08_INPUT_MUX 写入寄存器
    0x12
    0x0A
    0x14
    0x12
    0x07
    0xF0
    然后我读取第一个 PT100数据。在200ms 后、
    I 将0x45写入 INPUT_MAX
    我将0xF3写入 IDACMUX 
    然后我读取第二个 PT100数据。在200ms 后、 
    I 将0x78写入 INPUT_MAX
    我将0xF6写入 IDACMUX 
    然后我读取第三个 PT100数据。在200ms 后、 
    I 将0xAB 写入 INPUT_MAX 
    我将0xF9写入 IDACMUX 
    然后我读取第四个 PT100数据。200ms 后、我再次读取第一个数据。 


    有没有我遗漏的点? 


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

    您好、0_utq_0:

    您正在使用比例电阻转换、但看到多个数据点而不是多路复用器循环将很有帮助。  如果存在输入的模拟稳定、转换结果将在结果中证明这一点。

    切换通道时会有一个短暂的延迟、以帮助实现模拟稳定、但此延迟可能不够长。  在连续转换模式下、将新配置写入 ADC 时、转换将重新开始、但如果输入或基准仍在稳定、则可以读取到错误。  

    您还可以尝试写入配置、然后等待200ms、再读取转换结果、而不是等待读取数据结果。

    在另一个不相关的问题上、我看到您在电源线上使用了铁氧体。  我建议不要使用铁氧体、因为当 ADC 需要短时间的电流时、铁氧体磁芯通常会有问题。  例如、启动 IDAC 电流和打开内部基准时、会需要更高的电流。  我建议将铁氧体替换为0欧姆电阻。

    此致、

    鲍勃 B

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

    行数据表中 还有0.6欧姆的差异。  当我将电阻器转换为温度时、温度偏差会更大。

    使用万用表测量 软件原始数据 软件计算数据
    100.1 0x33d827 100.686
    104.0 0x358已添加 104.598
    107.9 0x378dc1 108.503
    111.8 0x398bf0 112.395
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、0_utq_0:

    这与最初的陈述大不相同。  您600mΩ 的结果似乎具有大约500 μ V 的偏移。  您使用的是实际的 RTD 还是固定电阻器?  您的万用表有多精确?  如果您始终如一地读取偏移、则可以在测量结果之外进行校准。  首先、我建议您使用万用表测量基准电阻、以查看仪表是否准确测量。  基准电阻器最有可能无法精确测量1000 Ω、任何差异都将反映在您正在计算的转换结果中。

    此致、

    鲍勃 B

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

    你好,Bob  

    我 mΩ  Ω Fluke 726精密校准器模拟 PT100、是的、现在为500-600 μ m、但与系统集成、偏移可高达2 μ m (

    电缆变长了)。 

    我检查了基准电阻器。 Ω 为1000 μ F。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、0_utq_0:

    那么您是否要使用校准器在4线 RTD 模式下进行仿真?  如果增加导线长度、那么在电流流经接线、流经校准器并返回 ADC 时、很可能也会增加模拟稳定的时间长度。

    而且、没有什么是精确的。

    此致、

    鲍勃 B