|
在本篇文章中,我们将使用MAX6675热电偶传感器和Arduino开发板制作一个工业温度计,并在LCD显示屏上显示温度。使用MAX6675分线板模块和K型热电偶,我们可以使用任意微控制器实现轻松测量0°C至1024°C的温度范围。芯片通过SPI接口输出数据。本文将通过SPI接口将MAX6675与Arduino Nano开发板连接。
在之前的帖子中我们使用过DS18B20和LM35等温度传感器,但它们只能测量125°C以下的温度。在高温测量方面,MAX6675无疑是最佳选择。热电偶的最大优点是在测量高温时易于使用。测量这种高温的另一种方法是使用非接触式热温枪。但非接触式红外温度传感器的缺点是非常昂贵。
本文将使用MAX6675芯片以及K型热电偶一起设计。该芯片具有内部温度测量功能,只需连接热电偶并读取SPI引脚的输出即可。所以,让我们使用MAX6675热电偶、Arduino开发板和LCD显示屏制作一个工业温度计。
所需的组件 ● Arduino Nano开发板 ● 1602 LCD显示屏 ● MAX6675热电偶温度传感器 ● 连接跳线 ● 面包板
MAX7765 K型热电偶温度传感器 这款MAX6675模块+K 型热电偶传感器使用 Maxim的K型热电偶转数字转换器MAX6675。它提供了一个与微控制器兼容的数字串行接口(SPI 兼容),用于对温度进行精确的温度补偿测量。
该芯片具有12位的分辨率,可将温度解析为0.25°C,读数高达+1024°C,并且在0°C至+700°C的温度范围内具有8LSB的热电偶精度。螺钉式端子允许连接到热电偶铲形连接器,与微控制器的连接采用5针标准2.54mm间距的插头。
规格参数 1. 工作电压:DC 5V 2. 工作电流:50mA 3. 测量温度范围:0°C – 1024°C 4. 测量精度:+/-1.5C 5. 分辨率:0.25C 6. 输出方式:SPI数字信号
热电偶设计原理(塞贝克效应) 热电偶测量两种不同金属的热端和冷端的电位差。金属的一端保持在高温下,另一端保持在冷冰上。如果这样做,则热电偶线两端的温差会导致产生与温差成比例的电压(塞贝克效应,Seebeck Effect)。
塞贝克效应产生的电压很小,通常每开尔文结温差只有几微伏(百万分之一伏)。如果温差足够大,一些塞贝克效应器件可以产生几毫伏(千分之一伏)。要了解可用于热电偶设计的不同类型的金属,您可以查看这篇文章:金属和合金。
冷端补偿和MAX6675芯片 产生的电压非常小,因此需要一个放大器才能将读数转换为可用的形式。因此使用了一种称为冷端补偿 (CJC) 的技术。
这就是MAX6675的用武之地,因为它具有内置放大器、冷端补偿器 (CJC) 和ADC等所有功能。事实上,该芯片使使用K型热电偶变得微不足道,您甚至不必检索模拟值,ADC会生成一个数字输出,该输出作为12位串口序列传输。
MAX6675热电偶传感器与Arduino的硬件连接 现在让我们将MAX6675热电偶温度传感器连接到Arduino Nano开发板,并在1602 LCD显示屏上显示温度读数。硬件连接原理图如下。
Arduino开发板和MAX6675之间的连接很简单,采用SPI接口。将MAX6675热电偶传感器的D0、CS和CLK引脚分别连接至Arduino开发板的12、10和13引脚。
同样,按照电路图连接1602 LCD显示屏。将 LCD的1、5、16引脚连接到GND,将2、15引脚连接到VCC 5V。在引脚3上使用10K电位器来调整LCD对比度。将引脚4、6、11、12、13、14分别连接到Arduino开发板的数字引脚7、6、5、4、3和2 。您还可以在面包板上组装这些组件。
MAX6675热电偶的Arduino代码 下面给出了MAX6675与Arduino连接的代码。该代码不需要额外的库进行编译。只需复制代码并将其粘贴到Arduino IDE,然后上传到Arduino开发板中。
MAX6675 Arduino.rar
(699 Bytes, 下载次数: 81)
测试温度测量结果 上传代码后,LCD将开始显示摄氏度单位的室内温度。您可以将温度值转换为华氏度。LCD上的温度值将每1秒更新一次。
为了测试传感器的工作状况和检测高温的能力,您可以用烙铁或打火机加热传感器,然后观察显示的温度值。
以上就是使用MAX6675热电偶传感器和Arduino开发板制作工业温度计的方法。如果有任何问题,请随时在本帖下面回复。 |