MAX31865解释
MAX31865是美信公司生产的一款大略易用的热敏电阻至数字输出的转换器,优化用于铂电阻温度检测器(RTD)。
特点:

· RTD的灵敏度可以通过外部电阻进行设置
· 具有±45V输入保护、电缆开路、短路条件的故障检测,RTD可配置
· 内置高精度的Δ- Σ ADC转换器标称温度分辨率为0.03125°C (随RTD的非线性变革)
· 兼容连接2线、3线、4线传感器
· 转换韶光最大21ms
封装及引脚解释:
硬件电路:
官方参考电路:
1、两线制pt100:
三线制pt100:
四线制pt100:
在这里可能有些人对pt100的两线制、三线制、四线制不太明白,下面大略先容一下:
二线制便是在热电阻的两端各连接一根导线来引出的办法叫二线制,但是这种办法接线比较大略,在引线上存在电阻,会对丈量带来一定的偏差,因此用在丈量精度比较低的情形下。
三线制是在热电阻的一端连接一根引线,另一端连接两根引线,这种办法常日,这种办法可以较好的肃清线电阻的影响,常日会与电桥相互合营利用,也是工业中比较常用的利用办法。
四线制是在热电阻的两端各连接两根导线个中的两根引线在利用是会加入恒流源为热电阻电流,然后通过热电阻将电流旗子暗记转换为电压旗子暗记,通过其余两根线将电压引出进行丈量。这种引线办法可以完备肃清线电阻的影响,常利用在对温度精度较高的场合下。
程序编写
在写程序之前我们一要阅读芯片手册,从芯片手册上可知,MAX31856采取SPI通信支持模式已和模式三,通信时的频率不要超过5Mz,芯片内部有16个寄存器堆芯片的操作紧张是对寄存器进行读或写存取寄存器时,利用地址0Xh为读操作,地址8Xh为写操作。紧张寄存器如下图所示:
在进行编程时要把稳寄存器的配置这里我们紧张把稳以下几个寄存器
1.configuration寄存器
2、 RTD电阻寄存器(01-02H)
RTD MSB和RTD LSB两个8位寄存器包含RTD电阻数据,数据格式如下,数据格式为RTD电阻与参考电阻的比值,包含15位有效数据。RTD LSB寄存器的D0为故障位,表示是否检测到任意RTD故障。
温度转换:
对付PT热敏电阻,最常见的阻值时:0摄氏度下标称值为100欧姆和1K欧姆,0-100摄氏度直之间的均匀斜率两个常见的值是:0.00385和0.00392,分别对应IEC751和SMA标准阻值与温度的关系曲线靠近线性,但由一定的波折,可有Kellendar-Van Dusen方程表示:
温度转换主程序如下:
float MAX31865_GetTemp(void)
{
unsigned int data;
float Rt;
float Rt0 = 100; //PT100 0度对应的阻值 0-850时c=0;
float Z1,Z2,Z3,Z4,temp;
float a = 3.9083e-3;
float b = -5.775e-7;
float rpoly; //
MAX31865_Write(0x80, 0xD3);
data=MAX31865_Read(0x01)<<8;//从寄存器RTD电阻寄存器读出阻值
data|=MAX31865_Read(0x02);
data>>=1; //去掉Fault位
Rt=(float)data/32768.0RREF; //阻值转换
/解一元二次方程/
Z1 = -a;
Z2 = aa-4b;
Z3 = 4b/Rt0;
Z4 = 2b;
temp = Z2+Z3Rt;
temp = (sqrt(temp)+Z1)/Z4;
if(temp>=0) return temp;
rpoly = Rt;
temp = -242.02;
temp += 2.2228 rpoly;
rpoly = Rt; // square
temp += 2.5859e-3 rpoly;
rpoly = Rt; // ^3
temp -= 4.8260e-6 rpoly;
rpoly = Rt; // ^4
temp -= 2.8183e-8 rpoly;
rpoly = Rt; // ^5
temp += 1.5243e-10 rpoly;
return temp;
}