ESP8266-Arduino编程实例-带MAX6675放大器的K型热电偶驱动

带MAX6675放大器的K型热电偶驱动

在本文中,将介绍如何使用带有 MAX6675 放大器和 ESP8266 NodeMCU 板的 K 型热电偶来读取温度。 K 型热电偶是一种温度传感器,测量范围宽,如 -200 至 1260ºC(-326 至 2300ºF)。

在这里插入图片描述

1、K型热电偶介绍

热电偶是一种由两个不同的电导体组成的设备,这些电导体形成一个电结——热结。 结处的温度变化会在参考结处产生一个轻微但可测量的电压,可用于计算温度。

在这里插入图片描述

热电偶可以由不同的金属制成。 使用的金属会影响电压范围、成本和灵敏度。 有标准化的金属组合导致不同的热电偶类型:B、E、J、N、K、R、T 和 S。

在这里演示使用的是关于 k 型热电偶的。 k 型热电偶由铬和铝导体制成,一般温度范围为 -200 至 1260ºC(-328 至 2300ºF)。

在这里插入图片描述

2、MAX6675放大器介绍

要从热电偶获取温度,我们需要一个热电偶放大器。 热电偶放大器的温度输出取决于参考结上读取的电压。 参考结上的电压取决于参考结和热结之间的温差。 因此,我们需要知道参考结的温度。

在这里插入图片描述

MAX6675 热电偶带有一个温度传感器,用于测量参考结处的温度(冷补偿参考)并放大参考结处的微小电压,以便我们可以使用我们的微控制器读取它。 MAX6675放大器使用SPI通信协议与微控制器通信,数据以12位分辨率输出。

MAX6675具有如下特性:

  • k型热电偶输出直接数字转换
  • 冷端补偿
  • 简单的 SPI 兼容串行接口
  • 工作电压范围:3.0 至 5.5V
  • 工作温度范围:-20 至 85ºC
  • 将温度解析为 0.25ºC,允许读数高达 1024ºC (1875ºF)。

1、硬件准备

  • ESP8266 NodeMCU开发板一块
  • K型热电偶传感器模块一个
  • MAX6635模块一个
  • 面板板一个
  • 杜邦线若干
  • 数据线一条

硬件接线如下:

在这里插入图片描述

MAX6675 ESP8266
GND GND
VCC 3.3V
SCK GPIO 14
CS GPIO 15
SO GPIO 12

3、软件准备

  • Arduino IDE或VSCode + PlatformIO

在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:

ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:

4、代码实现

本次示例使用到如下驱动库:

示例代码如下:

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
27
#include "max6675.h"

int thermoDO = 12;
int thermoCS = 15;
int thermoCLK = 14;

MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);

void setup() {
Serial.begin(9600);

Serial.println("MAX6675 test");
// 等待芯片稳定
delay(500);
}

void loop() {
// 打印采样结果
Serial.print("C = ");
Serial.println(thermocouple.readCelsius());
Serial.print("F = ");
Serial.println(thermocouple.readFahrenheit());

// 两次读取间隔不小于250毫秒
delay(1000);
}

文章来源: https://iotsmart.blog.csdn.net/article/details/127783833