一、概述
本方案旨在设计一个基于ADS1220高精度ADC芯片和PT100/PT1000温度传感器的温度采集系统。PT100/PT1000是一种广泛应用于工业温度测量的热电阻传感器,其电阻值随温度变化而线性变化。ADS1220是一款高精度、低功耗的24位Δ-Σ模数转换器,适用于各种高精度模拟信号的采集。
只需要更改程序即可完成PT100/PT1000采集切换。
二、硬件设计
**电源管理**:ADS1220工作电压为2.7V至5.5V,建议选择3.3V作为供电电压。
**数据速率**:设定合适的数据采集速率,以平衡精度与响应速度。对于温度测量,20ps通常是合理的范围。
三、软件设计
通过改变寄存器设置 ,切换采集 参照手册39页https://www.ti.com/cn/lit/ds/symlink/ads1220.pdf?ts=1732081353659&ref_url=https%253A%252F%252Fso.szlcsc.com%252F
void ADS1220_Init(void)
{
uint8_t config_0 = 0x60;//PT1000采集1倍增益
// uint8_t config_0 = 0x66;//PT100采集8倍增益
uint8_t config_1 = 0x04;
uint8_t config_2 = 0x55;
uint8_t config_3 = 0x72;
ADS1220AssertCS(1);
ADS1220SendResetCommand();
HAL_Delay(10);
ADS1220AssertCS(1);
//写入配置寄存器0
ADS1220WriteRegister(0x00, 1, &config_0);
//写入配置寄存器1
ADS1220WriteRegister(0x01, 1, &config_1);
//写入配置寄存器2
ADS1220WriteRegister(0x02, 1, &config_2);
//写入配置寄存器3
ADS1220WriteRegister(0x03, 1, &config_3);
HAL_Delay(10);
ADS1220AssertCS(1);
ADS1220SendStartCommand();
}
pt1000温度计算参数
double aa,bb,cc,dd,H,t1,t2,t,f_t,f_prime_t;
double wendu_temp(float ZUZHI)
{
if (ZUZHI >= 1000) // 当 t >= 0
{
aa = B;
bb = A;
cc = 1 - (ZUZHI / 1000);
H = bb* bb - 4 * aa * cc;
if (H < 0) {
return -1;
}
// 求解二次方程
t1 = (-bb + sqrt(H)) / (2 * aa);
t2 = (-bb - sqrt(H)) / (2 * aa);
// 返回非负解
return (t1 >= 0) ? t1 : t2;
}
else {
// 当 t < 0
// 三次方程: R_t = R_0 * (1 + A * t + B * t^2 + C * (t - 100) * t^3)
aa = C;
bb = B - 100 * C;
cc = A;
dd = 1000 - ZUZHI;
// 使用牛顿法迭代求解
t = -10; // 初始猜测
for (int i = 0; i < 100; i++)
{
f_t = 1000 * (1 + A * t + B * t * t + C * (t - 100) * t * t * t) - ZUZHI;
f_prime_t = 1000 * (A + 2 * B * t + 3 * C * (t - 100) * t * 2 + C * t * t);
t = t - f_t / f_prime_t; // 牛顿法更新公式
// 判断精度以停止迭代
if (fabs(f_t) < 1e-6) break;
}
return t; // 返回温度
}
}
采集到的数据转换
void ADS1220_GetData()
{
temp = ADS1220ReadData();
Vin = temp*(1650)/8388608;//PT1000采集电压计算
// Vin = temp*(204.8)/8388608;//PT100采集电压计算
ZUZHI=(Vin*2);//PT1000/PT00采集电压计算
T = wendu_temp(ZUZHI);
}
其他程序网上搜直接可以套用
四、总结
PT1000时可以看到25.39°时采集电压在549mv,阻值计算为1098.87
以上即为基于ADS1220与PT100传感器的温度采集系统设计方案。此方案结合了高精度ADC与高稳定性PT100传感器,适用于对温度测量精度有较高要求的应用场景。在实际应用中,还需根据具体环境条件对电路布局、元件选型等方面做出适当调整,以达到最佳性能。