Max6675与K型热电偶的使用

 先来说一下热电偶,常用的热电偶分为S型,T型,K型热电偶。K型热电偶有两个端口,热端(Hot junction)与冷端(Cold end),其原理大概是在一定条件下,两个端在同一温度下受自身物理特性影响产生电动势,温差越大,产生的热电动势也就越大。其外形如下图(图片来自网络)。

在这里插入图片描述

 Max6675是美信公司推出的一款支持K型热电偶接口的12位ADC,SPI数据输出格式,带有温度补偿功能,测量范围为0℃~+1023.75℃。配合微控制器,可直接用于热电偶输出量的读取。数据手册地址:http://pdf1.alldatasheet.com/datasheet-pdf/view/73692/MAXIM/MAX6675.html。
 ![引脚图](https://img-blog.csdnimg.cn/20190122185019853.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjA5ODc4Mg==,size_16,color_FFFFFF,t_70)
 各引脚定义如下:
 GND,VCC:电源端
 T-,T+:连接热电偶的冷端与热端,注意T-应总是接地。
 SO:SPI数据输出端
 SCK:SPI时钟信号端
 CS' :SPI片选端
 数据输出格式为:
 ![16bit数字量输出格式](https://img-blog.csdnimg.cn/20190122185540390.)
其中D15固定为0,D14~D3对应12bit数据位,高位在前;D2表征热电偶是否断开,在正常工作时,D2=0,当热电偶输入端开路时,D2=1,可以凭次位判断系统是否正常工作;D1为芯片ID,固定为0;D0为三态端,不知有毛用。
数据读取时序可以使用外控制器的SPI接口实现,但是对许多低端单片机而言,通常不具有SPI接口,需要模拟SPI时序(有些情况下即使带有SPI接口也会选择模拟SPI时序,提高传输稳定性),注意应在SCK下降沿将数据位读出。在使用高速CPU时,CLK频率最大为4.3Mhz,高低电平时间最小为100ns。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码是通过STM32的SPI2接口与MAX6675热电偶温度传感器进行通信,以测量K热电偶的温度。MAX6675是一种数字式热电偶温度传感器,通过SPI接口与STM32微控制器进行通信。 首先,在函数MAX6675_GPIO_Init中,配置了SPI2的引脚和相关参数。GPIO_InitStructure结构体用于配置GPIO引脚的模式、速度和复用功能。SPI_InitStructure结构体用于配置SPI的工作模式、数据大小、时钟极性和相位等参数。RCC_APB2PeriphClockCmd函数用于使能GPIOB的时钟。 接下来,在函数TEMP_ReadReg中,通过控制SCK和CS引脚的电平变化以及读取SO引脚的状态,逐位读取16位的温度值。具体的操作过程如下: 1. 置CS为高电平,SCK为低电平,进行一些延时。 2. 置CS为低电平,开始传输数据。 3. 循环读取16位数据: a. 左移Temp_2一位。 b. 置SCK为高电平,进行一些延时。 c. 判断SO引脚状态,如果为高电平,则将Temp_2最低位置为1,否则为0。 d. 置SCK为低电平,进行一些延时。 4. 置SCK为低电平,进行一些延时。 5. 置CS为高电平,进行一些延时。 6. 对Temp_2进行一些位操作,将其右移4位,以获得实际的温度值。 7. 返回温度值Temp_2。 需要注意的是,这段代码中的引脚操作和寄存器配置是基于特定的STM32F10x系列微控制器和MAX6675热电偶温度传感器,实际使用时需要根据具体的硬件和接口配置进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值