输入测量 | ADC 输入电压 | ADC 数字输出 |
---|---|---|
T = -270°C | AINP – AINN = -6.5mV | FCC0H 或 -83210 |
T = 1370°C | AINP – AINN = 55mV | 1B80H 或 704010 |
VDD | GND | |
---|---|---|
3.3V | 0V |
该设计指南介绍了使用 ADS1118 并采用两个热电偶的温度测量电路。该设计使用 ADS1118 内部电压基准进行热电偶电压测量,而使用板载温度传感器进行冷端补偿 (CJC) 测量。ADC 的两个通道用于两个 K 型热电偶,温度测量范围为 –270°C 至 1370°C。该设计包含用于配置器件的 ADC 寄存器设置以及用于配置和读取器件的伪代码。此电路可用于 PLC 模拟输入模块、实验室和现场仪表 以及工厂自动化和控制 等应用。有关使用精密 ADC 和热电偶的更多信息,请参阅热电偶测量基本指南。
如果温度测量范围为 −270°C 至 1370°C,则 K 型热电偶的范围大约为 −6.5mV 至 +55mV。该范围用于在考虑 ADC 满标量程的情况下更大限度地提高测量的分辨率。
在 ADS1118 中,可编程增益放大器 (PGA) 通过缩放电容采样实现,而不是作为真正的放大器。采用这种 PGA,输入范围可扩展到全电源电压范围,但放大率更低,输入阻抗也更低。在该器件中,最大放大率提供 ±0.256V 的满量程范围。这远远大于热电偶的 −6.5mV 至 +55mV 范围。虽然不可能超出 PGA 范围,但测量可以使用满量程范围的有限部分。将热电偶范围与全范围进行比较,可以计算出可用 ADC 范围的百分比:
在 −270°C 至 1370°C 的热电偶范围内,7864 代码用于表示 1640°C 温度范围。这相当于每个 ADC 代码大约 0.21°C,对于大多数热电偶应用来说应该足够了。
在其他精密 ADC 中,PGA 的实现方式类似于仪表放大器。如果使用不同的 ADC,则应根据最大热电偶输出电压计算允许的最大增益(不超出 PGA 范围)。然后,确认热电偶偏置接近 1/2 Vs,以便输入信号处于 PGA 的共模输入范围内。
同等偏置电阻器从热电偶的任一端连接到 GND 和 VDD。在正常运行中,电阻器将热电偶的直流偏置点设置为接近 1/2 Vs。如果热电偶烧毁并变成开路,则电阻器会将热电偶引线拉开到任一电源。这些电阻器设置为高位(通常为 500kΩ 至 10MΩ),以便减少流经热电偶的偏置电流。与热电偶引线电阻发生反应的电阻器偏置电流会导致测量误差。但是,电阻器也必须足够低,以便提供足够的偏置电流,从而克服来自电阻器的任何输入电流。
在该设计中,偏置电阻器选择为 1MΩ。该值会将电阻器偏置电流设置为低至 1.65μA。但是,对于烧坏的热电偶,1MΩ 可提供足够的电流将 ADC 输入与 ADS1118 的 710kΩ 等效输入阻抗分开。
对于良好的热电偶,热电偶电压的范围为 –6.5mV 至 55mV。VDD 电源的其余 3.3V 在偏置电阻器之间均匀下降。使用 1MΩ 偏置电阻器时,热电偶电压的直流工作点接近 1/2 Vs(即 1.65V)。
对于烧坏的热电偶,开路会形成一个分压器,由两个 1MΩ 电阻围绕 710kΩ 等效输入阻抗。采用烧毁热电偶时的 ADC 输入电压可以计算为:
如果热电偶烧毁,ADC 输入电压为 0.86V,远远大于 ADC 的正满量程读数。ADC 报告的读数为 7FFFh,表示存在烧毁情况。
如果存在输入滤波,则输入电流会对任何串联滤波器电阻做出反应,从而产生误差。对于 ADS1118,输入电流建模为等效差分输入阻抗。如前所述,等效差分输入阻抗通常为 710kΩ。因此,输入串联电阻保持较低值,或增加的电压表现为增益误差。
此设计包含差分和共模输入 RC 滤波。差分输入滤波的带宽设置为至少比 ADC 的数据速率高 10 倍。共模电容器选择为差分电容器值的 1/10。由于电容器的选择,共模输入滤波的带宽比差分输入滤波带宽大约高20 倍。
在进行输入滤波的情况下,差分信号以低于共模信号的频率衰减,共模信号会被器件的 PGA 显著抑制。共模电容器的失配会导致非对称噪声衰减,表现为差分输入噪声。差分信号的带宽较低,从而可以降低输入共模电容器失配的影响。ADC 输入和基准输入的输入滤波是针对相同的带宽进行设计的。
在该设计中,数据速率选择为 8SPS。对于 ADC 输入滤波,可以通过以下公式近似计算差分滤波和共模滤波的带宽频率:
对于 ADC 输入滤波,RIN = 500Ω,CIN_DIFF = 1µF,CIN_CM = 0.1µF。这将差分滤波器带宽设置为 160Hz,将共模滤波器带宽设置为 3.2kHz。
要从热电偶获得精确测量结果,必须执行冷端补偿以获得准确的温度测量值。必须精确测量热电偶引线所在的冷端。不能简单地将冷端的温度与从热电偶电压计算的温度相加。要准确确定热电偶温度,正确的方法是:
以下流程图显示了根据 ADC 测量值确定热电偶实际温度的转换方法。
用于根据热电电压确定热电偶温度的转换表和多项式方程可在 NIST 网站上找到。
由于 ADS1118 具有精确的内部温度传感器,因此可用于测量。内部温度传感器在 0°C 至 70°C 范围内具有典型的 0.2°C 精度。此精度非常适合冷端测量。但是,该器件需要与热电偶冷端的连接点之间有良好的热接触。冷端测量中的任何误差都会导致温度测量结果误差。
有关热电偶和冷端补偿测量的更多信息,请参阅热电偶测量基本指南。
根据 ADC 的满量程范围设置,热电偶电压的转换相对简单。该设计使用最小的满量程范围 (±0.256V)。
测量值 1(热电偶 1):
测量值 2(热电偶 2):
内部温度传感器的转换需要进行一些数据操作。来自 ADC 的温度数据表示为 14 位结果,在 16 位转换结果中进行左对齐。数据从最高有效字节 (MSB) 开始输出。当读取这两个数据字节,前 14 位用来指定温度测量结果。一个 14 位 LSB 等于 0.03125°C,负数用二进制补码格式表示。
测量值 3(内部温度传感器):
输出代码 3 是 ADC 的两个字节输出数据的前 14 位。有关 ADS1118 和内部温度传感器的更多信息,请参阅具有内部基准和温度传感器的 ADS1118 超小型低功耗 SPI™ 兼容型 16 位模数转换器。
位 | 字段 | 设置 | 说明 |
---|---|---|---|
15 | SS | 1 | 开始单次转换 |
14:12 | MUX[2:0] | 000 | 热电偶 1 的 AINP 为 AIN0,AINN 为 AIN1 |
11:9 | PGA[2:0] | 110 | FSR 为 ±0.256V |
8 | 模式 | 1 | 关断和单冲模式 |
7:5 | DR[2:0] | 000 | 8SPS |
4 | TS_MODE | 0 | ADC 模式 |
3 | PULL_UP_EN | 1 | 在 DOUT/DRDY 引脚上启用上拉电阻器 |
2:1 | NOP[1:0] | 01 | 有效数据,更新 Config 寄存器 |
0 | 保留 | 1 | 始终写入 1h |
位 | 字段 | 设置 | 说明 |
---|---|---|---|
15 | SS | 1 | 开始单次转换 |
14:12 | MUX[2:0] | 011 | 热电偶 2 的 AINP 为 AIN2,AINN 为 AIN3 |
11:9 | PGA[2:0] | 110 | FSR 为 ±0.256V |
8 | 模式 | 1 | 关断和单冲模式 |
7:5 | DR[2:0] | 000 | 8SPS |
4 | TS_MODE | 0 | ADC 模式 |
3 | PULL_UP_EN | 1 | 在 DOUT/DRDY 引脚上启用上拉电阻器 |
2:1 | NOP[1:0] | 01 | 有效数据,更新 Config 寄存器 |
0 | 保留 | 1 | 始终写入 1h |
位 | 字段 | 设置 | 说明 |
---|---|---|---|
15 | SS | 1 | 开始单次转换 |
14:12 | MUX[2:0] | 011 | AINP 为 AIN2 且 AINN 为 AIN3(被 TS_MODE 忽略) |
11:9 | PGA[2:0] | 110 | FSR 为 ±0.256V(被 TS_MODE 忽略) |
8 | 模式 | 1 | 关断和单冲模式 |
7:5 | DR[2:0] | 000 | 8SPS |
4 | TS_MODE | 1 | 温度传感器模式(旁路掉 MUX[2:0]) |
3 | PULL_UP_EN | 1 | 在 DOUT/DRDY 引脚上启用上拉电阻器 |
2:1 | NOP[1:0] | 01 | 有效数据,更新 Config 寄存器 |
0 | 保留 | 1 | 始终写入 1h |
下面显示了伪代码序列以及设置器件和微控制器所需的步骤,该微控制器与 ADC 相连,以便在单冲转换模式下从 ADS1118 获取后续读数。
数据回读和器件配置随配置寄存器回读一起以 32 位传输周期完成。ADS1118 配置为测量热电偶电压,满量程范围为 ±256mV,数据速率为 8SPS。器件循环读取热电偶 1 的电压、热电偶 2 的电压以及 ADS1118 内部温度传感器。在获取所有三个读数后,需要使用冷端补偿将热电偶电压转换为热电偶温度。
Configure microcontroller for SPI mode 1 (CPOL =
0, CPHA = 1) Set CS low; // Start conversions Send 8D0B8D0B; //Start conversion for
thermocouple 1 // Use 32-bit data transmission cycle with Config register readback
// The first iteration of the loop has no data readback Set CS high; Loop { Wait
69ms // Wait for typical data period +10% for internal oscillator variation Set CS
low; Send BD0BBD0B; // Read data for thermocouple 1, start conversion for
thermocouple 2, Set CS high; Wait 69ms; Set CS low; Send 8D1B8D1B; // Read data for
thermocouple 2, start conversion for temperature sensor, Set CS high; Wait 69ms; Set
CS low; Send 8D0B8D0B // Read data temperature sensor, Start conversion for
thermocouple 1 Set CS high; // Cold-junction compensation to determine thermocouple
temperature Convert thermocouple 1 ADC data to voltage; Convert thermocouple 2 ADC
data to voltage; Convert temperature sensor data to temperature; Convert temperature
sensor data to thermoelectric voltage; // By lookup table or calculation Add
thermocouple 1 voltage to temperature thermoelectric voltage; Convert resulting
voltage for thermocouple 1 to temperature; // By lookup table or calculation Add
thermocouple 2 voltage to temperature thermoelectric voltage; Convert resulting
voltage for thermocouple 2 to temperature; // By lookup table or calculation }
器件 | 主要特性 | 链路 | 其他可能的器件 |
---|---|---|---|
ADS1118 | 具有内部基准和温度传感器的超小型低功耗 SPI™ 兼容型 16 位模数转换器 | 具有 PGA、振荡器、基准电压、温度传感器和 SPI 的 16 位、860SPS、4 通道 Δ-Σ ADC | 精密 ADC (1) |
Other TMs