Ardunio MEGA+MAX6675热电偶测温
一、热电偶工作原理
两种不同成份的导体两端接合成回路,当两个接合点的温度不同时,在回路中就会产生电动势,这种现象称为热电效应,而这种电动势称为热电势。
热电偶就是利用热点效应原理进行温度测量的,其中,直接用作测量介质温度的一端叫做工作端(也称为测量端),另一端叫做冷端(也称为补偿端);冷端与显示仪表或配套仪表连接,显示仪表会指出热电偶所产生的热电势。 热电偶的实物如图1所示。
图1 热电偶实物图
热电偶实际上是一种能量转换器,它将热能转换为电能,用所产生的热电势测量温度,对于热电偶的热电势,应注意如下几个问题:
1、热电偶的热电势是热电偶工作端的两端温度函数的差,而不是热电偶冷端与工作端,两端温度差的函数;
2、热电偶所产生的热电势的大小,当热电偶的材料是均匀时,与热电偶的长度和直径无关,只与热电偶材料的成份和两端的温差有关;
3、当热电偶的两个热电偶丝材料成份确定后,热电偶热电势的大小,只与热电偶的温度差有关;若热电偶冷端的温度保持一定,这时候的热电偶热电势仅是工作端温度的单值函数。
将两种不同材料的导体或半导体A和B焊接起来,构成一个闭合回路。当导体A和B的两个执着点1和2之间存在温差时,两者之间便产生电动势,因而在回路中形成一个大小的电流。
根据热电偶测温原理,热电偶的输出热电势不仅与测量端的温度有关,而且与冷端的温度有关,需要测量出冷端温度,从而才能准确地测量出真实的温度。下面将介绍集成冷端补偿的芯片MAX6675。 二、MAX6675工作原理
MAX6675是MAXIM公司的K型热电偶串行模数转换器,它能独立完成信号放大、冷端补偿、线性化、A/D转换及SPI
串口数字化输出功能。
MAX6675内部集成有冷端补偿电路;带有简单的3位串行SPI接口;可将温度信号转换成12位数字量,温度分辨率达0.25℃;内含热电偶断线检测电路。冷端补偿的温度范围-20℃~80℃,可以测量0℃~1023.75℃的温度。 MAX6675为SO-8脚封装,工作电压为+5V直流电压,功耗为47.1mW,电流为50mA,适用于体积不大,不利散热的装置条件下使用,其引脚图如图2所示。其中SO为SPI串行输出端口引脚;
CS为片选信号;SCK为串行时钟输入;T+、T-分别接热电偶的测量端和冷端。
图2 MAX6675引脚图三、Arduino程序设计
MAX6675的库文件自带的串口输出示例,把采样间隔改为2s。
#include \
// Max6675 module: SO on pin #8, SS on pin #9, CSK on pin #10 of Arduino UNO
// Other pins are capable to run this library, as long as digitalRead works on SO,
// and digitalWrite works on SS and CSKvoid setup() {
ts.setOffset(0);
// set offset for temperature measurement. // 1 stannds for 0.25 CelsiusSerial.begin(9600); }void loop() {
Serial.print(ts.getCelsius(), 2); Serial.print(\
Serial.print(ts.getFahrenheit(), 2); Serial.print(\
Serial.print(ts.getKelvin(), 2); Serial.print(\delay(2000); }
四、实物实验演示
图3 MAX6675模块实物图
图4 MAX6674与MEGA连接图采用用串口助手接收温度数据,数据如下:
1、放置在空气中,常温环境下
图5 热电偶暴露于空气中
图6 空气中的温度可以看出,温度还是很稳定的,还说明南京很热,都30℃了。2、放置于一杯热水中,高温环境图7 热电偶置于盛有热水的杯子中
图8 瓷杯中的水温水温稳定在57℃左右,看起来温度不是很高,但是我端水杯还是感觉很烫的。 五、结束语
K型热电偶的应用非常广泛,基于MAX6675的热电偶测温模块解决了冷端补偿、线性化等问题,虽然效果不是特别好,可以通过其他手段,进一步提高测温精度,有一定的工业应用价值。