社区导航

 

搜索
12
返回列表 发新帖
楼主: sky999

[求助] MAX6675温度不稳定

[复制链接]

115

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2019-8-22 14:47 | 显示全部楼层
maychang 发表于 2019-8-22 11:53 “那感觉电路板里的走线也不能太长,毕竟都是铜膜的线” 你没有弄清楚热电偶工作原理。热电 ...

好的,大概清楚一些了,谢谢



回复

使用道具 举报

121

TA的帖子

0

TA的资源

禁止发言

发表于 2019-10-6 22:03 | 显示全部楼层

MAX6675读取程序

IO定义

//PA5 SO
//PA6 CS
//PA7    SCK
#define MAX6675_SO_PORT    GPIOA
#define MAX6675_SO_PIN GPIO_Pin_0
#define MAX6675_CS_PORT    GPIOA
#define MAX6675_CS_PIN GPIO_Pin_11
#define MAX6675_SCK_PORT    GPIOA
#define MAX6675_SCK_PIN GPIO_Pin_12
#define SCK PAout(12)
#define CS PAout(11)
#define MISO PAin(0)
1
2
3
4
5
6
7
8
9
10
11
12
由于这里采用的是stm32f103rct6主控的正点原子mini板,为了保证不和其他IC冲突,使用A0(连接的wk_up)、A11(usb)、A12(usb)引脚。

IO初始化

void max6675_init(void)
{

    GPIO_InitTypeDef  GPIO_InitStructure;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);     //使能PA端口时钟

    GPIO_InitStructure.GPIO_Pin = MAX6675_CS_PIN |MAX6675_SCK_PIN;            
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;     
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;         
    GPIO_Init(GPIOA, &GPIO_InitStructure);                     
    GPIO_SetBits(GPIOA,MAX6675_CS_PIN|MAX6675_SCK_PIN);                        
    
    GPIO_InitStructure.GPIO_Pin = MAX6675_SO_PIN;            
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;          
    GPIO_Init(GPIOA, &GPIO_InitStructure);                      

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
其中用到的宏已经在上面引脚定义处给出。

串行数据读写程序

/**
  * @brief  max6675模块读写一个字节的数据
  * @param  txData:要发送的数据
  * @retval 接收到的数据
  */
uint8_t max6675_readWriteByte(uint8_t txData)
{
    unsigned char temp=0;
    unsigned char dat=0;
    for(temp=0x80; temp!=0; temp>>=1)
    {
        SCK=0;
        SPI_delay();  //让SCK稳定
        SCK=1;
        SPI_delay();  //让SCK稳定
        if(MISO==1)
        {
            dat|=temp;
        }
        else
        {
            dat&=~temp;
        }
    }
    return dat;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
根据IC时序图,可以编写串行数据读取程序,注意因为是上升沿后读取数据,所以SCK先拉低再拉高,其中的SPI_delay调用的系统延时,用于使时钟线稳定,也保证采样时数据稳定,同时由于MAX6675允许的最快速率为4MHz,所以需要必要的延时。
————————————————
版权声明:本文为CSDN博主「小盼你最萌哒」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_27508477/article/details/83117005



回复

使用道具 举报

121

TA的帖子

0

TA的资源

禁止发言

发表于 2019-11-3 17:08 | 显示全部楼层

MAX6675

带有冷端补偿的K型热电偶至数字转换(0°C至+1024°C)

数据资料订阅尚在产。

 

 

说明

MAX6675冷端温度补偿、热电偶数字转换器可进行冷端温度补偿,并将K型热电偶信号转换成数字信号。数据输出为12位分辨率、SPI™兼容、只读格式。

 

转换器温度分辨率为0.25°C,可读取温度达+1024°C,热电偶在0°C至+700°C温度范围内精度为8 LSB。

 

MAX6675采用小尺寸、8引脚SO封装。MAX6675:典型应用电路MAX6675:典型应用电路放大+

关键特性

冷端温度补偿

简单的SPI兼容串行接口

12位、0.25°C分辨率

热电偶开路检测

应用

电器设备

HVAC

工业



回复

使用道具 举报

121

TA的帖子

0

TA的资源

禁止发言

发表于 2019-11-3 17:09 | 显示全部楼层

http://bbs.eeworld.com.cn/forum.php?mod=attachment&aid=NDQxODg0fGI2MDYwZjY2OWY0ODU3ZmVjMjU2NDYxNjg4OTcwMzY0fDE1NzQwMjAxNzI%3D&request=yes&_f=.pdf

这是最新版的datasheet给你参考哦



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /5 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-11-18 03:49 , Processed in 0.146766 second(s), 15 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表