在测试期间、我们发现连接到输入 ADS124S08IPBSR 的 PT100传感器的电阻测量值与温度相关。
最后、我们进行了一项测试、其中采用 ADS124S08的 PCB 位于空调室内、PT100传感器位于室外。
以下是测量结果。 输入使用容差为0.1%的非常精确的电阻器。
您是否有任何想法、我们可以在哪里犯错?
此致、
Tom
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.
您好、Tomas、
欢迎来到 E2E 论坛! 考虑到初始精度不仅与电阻值有关、漂移性能也很重要。 在50摄氏度下、25ppm/°C 的漂移约为5.5欧姆。 基准电阻器的漂移将直接影响结果约1%。 现在、这只是您看到的误差的一部分。 我不清楚您是如何向 RTD 提供 IDAC 电流的。 您能否更详细地介绍从 ADS124S08到 RTD 以及返回基准电阻器的电流路径? 您是否还可以向我发送您正在使用的寄存器设置?
电阻器的漂移是 IDAC 源的漂移及其匹配程度。 通过交换 IDAC 源进行2次测量并对这两个结果求平均值有助于减少误差。
确保您已查看此 RTD 指南以获得其他帮助(第1.4.2节讨论了 IDAC 电流斩波):
http://www.ti.com/lit/an/sbaa275/sbaa275.pdf
此致、
Bob B
尊敬的 Bob:
同事让我了解有关此问题的更多详细信息。
请参阅以下内容:
Tomas
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
我们仅测量有源 RTD (3线制):
RTD#1 [AN0、AN1]
RTD#2 [AN2、AN3]
RTD#3 [AN5、AN6]
RTD#3 [AN9、AN10]
-我们使用连接到特定 RTDX 的给定 ANx 的内部 IDAC1和 IDAC2作为 RTDX 的电流源
-测量原理根据 www.ti.com/.../sbaa275.pdf 的"2.3三线制 RTD 测量、低侧基准"章节进行使用
-多项式近似(ITS -90)用于将测量的电阻转换为温度、但这只是数学计算
/ /
/** RTD 通道配置
// RTD#1
案例 PKG_ADS124S08_CH_RTD_0_1:
{
sRegINPMUX.uContent.bMuxP = 0;
sRegINPMUX.uContent.bMuxN = 1;
ads124s08_WriteReg (sRegINPMUX.bAddr、&(sRegINPMUX.uContent.bValue)、1);
sRegIDACMUX.uContent.bI1Mux = 0;
sRegIDACMUX.uContent.bi2Mux = 1;
ads124s08_WriteReg (sRegIDACMUX.bAddr、&(sRegIDACMUX.uContent.bValue)、1);
中断;
}
// RTD#2
案例 PKG_ADS124S08_CH_RTD_2_3:
{
sRegINPMUX.uContent.bMuxP = 2;
sRegINPMUX.uContent.bMuxN = 3;
ads124s08_WriteReg (sRegINPMUX.bAddr、&(sRegINPMUX.uContent.bValue)、1);
sRegIDACMUX.uContent.bI1Mux = 2;
sRegIDACMUX.uContent.bi2Mux = 3;
ads124s08_WriteReg (sRegIDACMUX.bAddr、&(sRegIDACMUX.uContent.bValue)、1);
中断;
}
// RTD#3.
案例 PKG_ADS124S08_CH_RTD_5_6:
{
sRegINPMUX.uContent.bMuxP = 5;
sRegINPMUX.uContent.bMuxN = 6;
ads124s08_WriteReg (sRegINPMUX.bAddr、&(sRegINPMUX.uContent.bValue)、1);
sRegIDACMUX.uContent.bI1Mux = 5;//4;
sRegIDACMUX.uContent.bi2Mux = 6;//7;
ads124s08_WriteReg (sRegIDACMUX.bAddr、&(sRegIDACMUX.uContent.bValue)、1);
中断;
}
// RTD#4
案例 PKG_ADS124S08_CH_RTD_9_10:
{
sRegINPMUX.uContent.bMuxP = 9;
sRegINPMUX.uContent.bMuxN = 10;
ads124s08_WriteReg (sRegINPMUX.bAddr、&(sRegINPMUX.uContent.bValue)、1);
sRegIDACMUX.uContent.bI1Mux = 9;//8;
sRegIDACMUX.uContent.bi2Mux = 10;//11;
ads124s08_WriteReg (sRegIDACMUX.bAddr、&(sRegIDACMUX.uContent.bValue)、1);
中断;
}
/ /
/ /
/**所有 RTDX 的通用配置
//启用 PGA 设置增益
sRegPGA.uContent.bits.bDelay = 3; // 256 x tMCO
sRegPGA.uContent.bits.bGain = bGainExp;
sRegPGA.uContent.bits.bPgaEn = 1; //启用
ads124s08_WriteReg (sRegPGA.bAddr、&(sRegPGA.uContent.bValue)、1);
///全局斩波禁用、转换模式单次触发、10SPS、低延迟滤波器打开
sRegDATARATE.uContent.bGChop = 1;
sRegDATARATE.uContent.bits.BMODE = 1;
sRegDATARATE.uContent.bits.BDR = 2; //10SPS
/sRegDATARATE.uContent.bits.BDR = 4; //20SPS
/sRegDATARATE.uContent.bits.BDR = 7; //100SPS
sRegDATARATE.uContent.bFilter = 1;
ads124s08_WriteReg (sRegDATARATE.bAddr、&(sRegDATARATE.uContent.bValue)、1);
//电压基准-内部基准始终开启、基准输入 REFP0/REFN0、
// 基准缓冲器 REFPx 被启用、REFNx 被禁用
//FL_REF_L0 已放电、FL_REF_L1已禁用
sRegREF.uContent.brefCon = 2;
sRegREF.uContent.bits.bRefSel = 0;
sRegREF.uContent.brefPBuf = 1;
sRegREF.uContent.brefNBuf = 0;
sRegREF.uContent.bFlRefEn = 1;
ads124s08_WriteReg (sRegREF.bAddr、&(sRegREF.uContent.bValue)、1);
//使用设置激励电流
sRegIDACmag.uContent.bFlRailEn = 1;
sRegIDACmag.uContent.bpsw = 1;
sRegIDACmag.uContent.bIMag = 4; // 250uA
// sRegIDACmag.uContent.bits.bIMag = 5; // 500uA
// sRegIDACmag.uContent.bits.bIMag = 6; // 750uA
// sRegIDACmag.uContent.bits.bIMag = 7; // 1000uA
// sRegIDACmag.uContent.bits.bIMag = 8; // 1500uA
// sRegIDACmag.uContent.bits.bIMag = 9; // 2000uA
ads124s08_WriteReg (sRegIDACmag.bAddr、&(sRegIDACmag.uContent.bValue)、1);
/ /
您好、Tomas、
感谢您提供更多信息。 如果您仔细查看参考文档2.3部分的图9所示的电路、您将注意到 IDAC 电流从与测量引脚不同的引脚流出。 这是为了消除初始精度和滤波电阻器漂移以及 IDAC 源不匹配产生的任何误差。 在您的电路中、电流流经滤波电阻器(例如 R171和 R173)。
在没有漂移或精度问题的理想情况下、每个电阻器上的压降将相同、并且会从转换结果中消除。 但是、这不是发生的情况、因为不能保证电阻器会漂移相同的值、并且 IDAC 源肯定会存在一些不匹配。
有多种可能的选项。 一种方法是尝试 IDAC 斩波、另一种方法是减小滤波电阻器的值、以便将电阻器的任何潜在误差降至最低。 一种更好的方法是将滤波电阻器周围的电流直接路由到 RTD。 这需要使用一组 AIN 输入仅用于 IDAC、然后在测量发生时通过多路复用器运行 IDAC 电流、以路由到所需的 RTD。
此致、
Bob B
您好、米兰、
欢迎来到 E2E 论坛! 让我们用您原来的电路问题来讨论 IDAC 斩波。 IDAC 斩波有助于减小 IDAC 失配的误差、但不会降低电阻器漂移的温度系数误差。 这些25ppm/°C 电阻器的漂移误差可高达5欧姆。
因此、您可以选择绕过输入滤波电阻器、使 IDAC 电流不会流过它们。 另一种选择是使用低得多的电阻值、以便最大限度地减小对滤波电阻器上较低压降差的影响。 第三种选择是使用更稳定的电阻器、例如5ppm 或10ppm 温度系数。 您选择的操作取决于系统所需的精度。
基准电阻器(R74)仍然存在温度系数问题。 对于所用的温度范围、这也会增加大约0.1%的误差。 此处同样可以通过使用5ppm 或10ppm 电阻来降低误差、但在这里、您需要进行一些研究、并且成本可能会有很大差异。 要获得10ppm 电阻器、您可能会发现找到与您现在使用的值略有不同的值、成本要低得多。
R71无需更改、R94、R95、R98或 R99也不需要更改。
此致、
Bob B