恒压三线制PT100电路

原理图

大二才
其中Rx1,Rx2,Rx3表示PT100三线的电阻,阻值相等Rx
PT100阻值Rp

计算思路

1、设流过Rx1上电流I1,流过Rx2上电流I2

I1 = (2V5REF-U1)/2000;
I2 = (2V5REF-U2)/2000;

2、根据I1,I2的值计算出Rx的值

Rx = (Vref-I2*2100)/(I1+2*I2);

3、根据Rx的值以及U1计算出Rp的值

Rp = (Vref-I1*2000-(2*I1+I2)*Rx)/I1;

4、得到PT100的阻值之后查表法计算温度

5、根据公式推导温度值
/计算温度/
float Cal(float Rt) {
float T;
T = 9E-10f * Rt * Rt * Rt * Rt + 4E-07f * Rt * Rt * Rt + 0.0008f * Rt * Rt + 2.3828f * Rt - 246.81f;
return T;
}

仿真计算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试代码

#include <stdio.h>

#define	Vref	2.5

float CalCurrent(float Voltage)
{
	return (Vref-Voltage)/2000;
}

float CalRx(float Cur1,float Cur2)
{
	return (Vref-Cur2*2100)/(Cur1+2*Cur2);
}
float CalR(float Cur1,float Cur2)
{
	return (Vref-Cur1*2000-((Vref-Cur2*2100)/(Cur1+2*Cur2))*(2*Cur1+Cur2))/Cur1;
}

int main() {
	float I1 = 0,I2 = 0,Rx = 0,R = 0;
	I1 = CalCurrent(0.128086);
	I2 = CalCurrent(0.125829);
	Rx = CalRx(I1,I2);
	R = CalR(I1,I2);
	printf("Rx = %f\t\n",Rx);
	printf("R = %f",R);
}

项目实战

设计思路

在原理部分,我们需要一个2.5V的电压来提供电压参考,用于后续计算出两条线路上的电流,但单独提供一个基准参考电压会徒增成本,考虑到MCU供电电源(3.3V)已经存在,理论上3.3V计算也是一样的,只需要保证这个3.3V稳定就行,或者直接将3.3V作为ADC转换时的参考电平,由于是纯电阻网络,这样不管3.3V是否稳定,只要电路中用于计算电流值的电阻稳定,计算出来的PT100阻值都是不变的(和前面提到的电阻成比例关系,这里计算出来的精度与电阻精度正相关)

ADS1220

ADS1220 集成PGA 和基准的4通道、2kSPS、低功耗、24位ADC

我们将施加在电阻网络的电压直接接入ADS1220的参考REF引脚
PT100电阻桥网络,省去前面原理部分提到的100Ω,减少系统误差

将施加在电阻网络的电压值连接至REF引脚

系统整体原理图

文章附带的资源为一个8通道的PT100采集电路,由于设计的时候没有注意ADS1220单端放大最多只能放大4倍,所以精度上还可以改进,参考设计时可以将ADS1220模拟输入引脚其中一个引脚接PT_0V,其余引脚重新分配,做16倍的差分放大,增加计算精度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值