当前位置:首页 > 技术学院 > 技术前线
[导读]max31865模块 PT100测温 PT1000测温 接线说明要点说明 使用说明 程序 单片机

最后成果(STM32F103C8T6):


max31865与pt100典型电路

要点1 参考电阻

一般PT100选400欧姆参考电阻,但是板子上给的是4300,也就是430欧姆。程序里需要设置参考电阻为430。为啥选4300呢,因为我猜400欧姆没有精致电阻生产。


max31865与pt100典型电路

#define REF_RES 430

temps = temps / 32768.0 * REF_RES; /* Here is the rtd R value; */

1

要点2 接线

板子上有三个位置用于设置线的。


max31865与pt100典型电路

四线最后这样:


max31865与pt100典型电路

三线这样:


max31865与pt100典型电路

要点3 体会

遇到问题一定要好好找找设计这块板子的资料,不然自己瞎转悠。

PT100电阻本身就是一个随温度变化的电阻,可以直接用万用表测其电阻。

要点4 max31865模块重要细节

SPI对其寄存器进行读写,寄存器如下图。

配置寄存器,想读就读0x00,想写就写0x80。

转化后的RTD数值存放于0x01和0x02这2个8位寄存器。

可以设置错误报警门限上限和下限,通俗来说,比如一个PT100能测温范围是-200℃到420℃,用户想设置下限报警值为-180℃,上限报警值为400℃,那么当max31865转换RTD后,会将0x01和0x02寄存器结果与上限值和下限值比较,如果不在设置的范围,就会产生错误标志。

错误标志存在0x07寄存器中。


max31865与pt100典型电路

读取温度过程:

(1)读取0x07寄存器,看是不是等于0x00,即是说无错误标志。有错误标志时,0x07寄存器里面某个值就是1。


max31865与pt100典型电路

错误标志可以手动清除,但如果没实际解决问题,下次检测这个标志还是会被模块拉起。

//清除错误

void maxim_clear_fault_status(void)

{

uint8_t uch_config;

uch_config=MAX31865_SB_Read(0x00);

uch_config&=0xd3;

uch_config|=0x02;

MAX31865_SB_Write(0x80, uch_config);

}

(2)如果能过错误检测,就开始下面的过程。向0x80写入配置,这里写入的是说进行一次转换(One_Shot_Conversion ),然后等待DRDY 引脚变成低电平(意味转换结束)。然后读取0x01和0x02这2个8位寄存器,0x02的最低位装的是错没错的标志,没错的话就可以利用0x01和0x02这2个8位寄存器合成电阻数值。

MAX31865_SB_Write( 0x80, ON + One_Shot_Conversion + RTD_3wire + Filter_50Hz );

while ( DRDY == 1 );

auch_rtd[0] = MAX31865_SB_Read( 0x01 );

auch_rtd[1] = MAX31865_SB_Read( 0x02 );

if ( (auch_rtd[1] & 0x01) == 0x01 )

{

}else{

tempture = (int)Get_tempture();

}

(3)合成电阻

data_temp = (dtemp[0] << 8) | dtemp[1];/* Get 15Bit DATA; */

data_temp >>= 1;/* Get 15Bit DATA; */

temps = temps / 32768.0 * REF_RES; /* Here is the rtd R value; */

(4)PT100电阻变成温度

这个就各显神通了,有各种各样的转换公式。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭