打印

max31855测温热电偶问题

[复制链接]
906|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
QQ877789857|  楼主 | 2020-3-6 12:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于max6675不能测负温,FAE推荐我使用max31855

现在遇到的情况是:max31855出来的数据全是负的???

有经验的大咖帮忙分析一下,谢谢!!

使用特权

评论回复

相关帖子

沙发
QWE4562009| | 2020-4-1 15:23 | 只看该作者
你用的是单电源吧?加偏置吧

使用特权

评论回复
板凳
QQ877789857|  楼主 | 2020-4-2 20:45 | 只看该作者
QWE4562009 发表于 2020-4-1 15:23
你用的是单电源吧?加偏置吧

没有哦

使用特权

评论回复
地板
QQ877789857|  楼主 | 2020-4-2 20:46 | 只看该作者
QWE4562009 发表于 2020-4-1 15:23
你用的是单电源吧?加偏置吧

你写过这个max31855K的案子吗

使用特权

评论回复
5
maximQ820270087| | 2020-6-19 16:04 | 只看该作者
MAX31855读数据和数据处理的过程

[mw_shl_code=c,true]
float MAX31855_ReadData()
{u32 data=0;//用于存储从max31855读取的数据
u16 Thermocouple=0;  //
float Ther=0;
int i;        
GPIOC_MAX31855_CS_L; //片选,低电平有效
delay_us(1);
for(i=31;i>=0;i--)
{         //按位读取一共是32位数据,从高位开始读取
GPIOA_MAX31855_SCK_H;  //时序是在上升沿的时候读取数据,在初始化的时候,SCK为低,所以此时拉高
delay_us(1);

  if(GPIOC_MAX31855_SC_IN)//开始读数据,如果当前位为1的话,则通过左移至相应位置,如果是0则不处理
                {
       data|=((u32)1<<i);       //左移至i位,赋值给data的i位
                }
               
                GPIOA_MAX31855_SCK_L;//读取一位完成
                delay_us(1);
        }
        GPIOC_MAX31855_CS_H;//32位读取完成后取消片选
/**********下面对data进行处理****************/
Thermocouple=((temp_data>>18)&0x1fff);//取出[30:18]热电偶的数据 ,我这里没有取出符号位
Ther=Thermocouple*0.25;  //从图5中可以看出,温度的分辨率是0.25摄氏度,固数据应乘0.25,参考端的温度应该乘0.0625,我这里没有对这部分数据进行处理。

return Ther;
}
[/mw_shl_code]

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

124

帖子

2

粉丝