专注电子技术学习与研究
当前位置:单片机教程网 >> Arduino >> 浏览文章

基于Proteus的Arduino学习08-MAX6675与热电偶高温测量的实现

作者:我不是奔跑哥   来源:我不是奔跑哥的blog   点击数:  更新时间:2014年06月08日   【字体:
这次我们使用热电偶和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引脚图
首先,我们需要proteus仿真里面添加K型热电偶和MAX6675,在元器件搜索栏中输入“TCK”和“MAX6675”,并添加至元器件选择栏中,如图3和4所示。然后,并将K型热电偶的红色端和蓝色端分别接至MAX6675的T+(2脚)和T-(3脚),MAX6675的SO、SCK、CS分别接至Arduino UNO的数字口8、9、10,热电偶仿真图如图5所示。最后点击MAX6675,设置冷端温度为25℃。如图6所示。

图3 添加K型热电偶

图4 添加AMX6675

图5 热电偶仿真图

图6 设置冷端补偿温度

Arduino代码清单:
#include "Max6675.h"
Max6675 ts(8, 9, 10);
// 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 CSKl
void setup()
{
ts.setOffset(0);
// set offset for temperature measurement.
// 1 stannds for 0.25 Celsius
Serial.begin(9600);
}
void loop()
{
Serial.print(ts.getCelsius(), 2);
Serial.print(" C / ");
Serial.print(ts.getFahrenheit(), 2);
Serial.print(" F / ");
Serial.print(ts.getKelvin(), 2);
Serial.print(" K\n");
delay(3000);
}
编译成功之后,导入proteus仿真软件进行仿真。通过调节K型热电偶的温度值,可以看到串口输出的温度数值,串口输出的温度值为热电偶的温度+MAX6675中设置的冷端温度。【注】冷端温度为25℃,热电偶温度为240℃、49℃的仿真图如图7、8所示。
【注】由于仿真环境为理想环境,传感器为理想模型,仅能验证能否对传感器进行读写操作,初步地验证程序的正确性。实际测量过程中,测量温度与实际温度会有一定的误差,误差大小和传感器、环境等都有关系。


图7 热电偶为240℃时的仿真图

图8 热电偶为49℃时的仿真图
最后奉上视频
关闭窗口

相关文章

推荐文章