成为订阅者(免费)

加入29,000名其他订阅者以获得用户销售折扣和 其他免费资源。
:
:
大学教师'担心 - 您的邮件地址完全是 安全的。我保证使用它 只要 to send you MicroZine.

如何使用MAX6675和ARDUINO测量极端温度(和ARDUINO)(和一个 thermocouple)

使用MAX6675芯片和A型热电偶,您可以轻松测量 自芯片以来,使用任何微控制器从0°C到1024°C的温度 通过SPI接口输出数据 - 在这里,我们将使用它 Arduino Uno.

热电偶的巨大优势是测量时的易用性 高温和唯一的其他方式是使用非联系方式 热温枪测量红外光接收,但这是非常的 expensive option.

该芯片专门设计用于k型热电偶和 没有别的,这不是一个大问题,因为k是最受欢迎的 反正。芯片为您提供所有努力,您所做的就是连接 热电偶并从SPI接口读取输出!


提示: 将热电偶直接连接到电路板连接器 或者使用适当的热电偶延长线来延伸接线距离 将确保更准确的阅读即e。唐't使用大量不同的连接 电线,绝对不是不同的线长度或类型(两个 热电偶电线) - 由于这些将成为热电偶!

塞贝克效应

热电偶由两个不同的金属形成在一起 温度传感端 - 另一端应该浸入冰浴中 它保持在0°C。如果这样做,那么跨越温差 从端到端的热电偶线导致要产生的电压( Seebeck效果 - 由Thomas Seebeck的1821年左右发现)比例 到温差。下图显示了非冰浴 连接见下面的原因。

用于热电偶的K材料

笔记: A型热电偶实际上由Chromel组成 [90%镍和10%铬]和氧化铝(镍铝)[95%镍,2% 锰,2%铝和1%硅]] [来源:ThermometricsCorp.com]和 一侧是磁性的,而另一侧不是。

冷结赔偿

产生的电压非常小(〜41uV /°C),并且不同于 不同类型的热电偶,因此需要放大器来转动 读成可用形式。你不'真的想用冰弄乱 浴(除非你想要更好的精度),所以一个叫做的技术 使用冷结补偿(CJC)。

基本上你测量了(较冷)的末端的温度 热电偶,并弄清楚热电偶在的电压 该温度,并将此电压添加到热电偶电压(您工作 向后找到一端在温度的时相等电压 0°C)即补偿非传感末端的环境温度 全温读数可用。

使用您需要的热电偶:

  • 放大器(高增益)。
  • 冷端补偿器(或冰浴)。
  • ADC。

MAX6675

这是MAX6675的位置,因为它具有内置的一切 already for 你;内置放大器,冷 - 结补偿器(CJC)和ADC。 实际上芯片使用了 Type-k热电偶普通,如上面包含在芯片中 you don'甚至必须检索ADC生成ADC的模拟值 数字输出作为12位串行序列发送。

MAX6675的输出格式为SPI - 数字时钟,只读, 接口提供12个输出数据位。

MAX6675数据表

下载max6675数据表。

MAX6675规格


范围 价值
电压电源(VCC)
3.0V〜5.5V.
ABS。最大V.DD. -0.3V〜6.0v.
界面
spi.
供电电流(典型,最大)
0.7mA,1.5mA
范围 0°C至1024°C
分辨率(12bit)
0.25°C.
精度(20°C至80°C)(**) ±3°C

* - 所以引脚的最大输出为50mA,但您赢了't design it that 你呢?如果将SO outpout源进入正常的微控制器输入 (由于这是一个CMOS输入)几乎不会被绘制的任何电流 您将留下MAX6675的1.5mA最大电源电流。

** - 另请参阅不同温度范围的误差分析 这里 (in this page).

优势和缺点

热电偶的优点

  • 可互换,具有明确定义和可重复的输出。
  • 自我兴奋(无需外部电源,因此没有自我 heating problem).
  • 宽温度测量范围-200°C至1350℃。 (注意:MAX6675 操作从0°C至1024°C)。
  • NIST参考表以允许纠错。
  • 如果使用多项式纠错补偿,则可能性 functions.
  • 非常快速的响应时间。
  • 方便且小的测量探头 - 因此低热质量。

热电偶缺点

  • 不能以高精度测量较低的温度范围。 0.1°C. (没有聪明的电路)。
  • 不太准确:通常2.2°C类型k(热电偶响应 alone).
  • 在系统中不需要热梯度即,草稿将导致 errors
  • 需要正确的热电偶延长线来达到远处测量 points.
  • 通过不正确的热安装可以轻松引入错误 chip.

需要硬件

由于MAX6675包装为方形轮廓(SO8)设备A表面 安装部分,您需要一个突破板来访问其引脚。突破 板通常具有用于连接热电偶和标头的螺钉端子 通过杜邦连接器连接到Arduino的引脚。

这个系统的硬件真的很简单;所有你需要的是:

  • arduino. Uno.
  • k型热电偶
  • MAX6675突破板(船上有芯片)。
  • 杜邦连接线。
  • USB电缆

可选的:

  • DS18B20 - 1线温度计。
  • 10UF电容器
  • 无焊接面包板。

该项目从USB端口供电。

上面的可选部分允许您了解热电偶操作的程度 在环境温度下。我只是希望看到对正在发生的事情进行比较。

MAX6675原理图

下面的示意图显示了MAX6675突破板的连接 DS18B20温度传感器。这用于显示精确的温度 对于较低的温度,因此您可以感受到热电偶的方式 操作I.E. A可以比较温度。

基于Arduino热电偶的温度测量

MAX6675和DS18B20的Arduino图书馆

MAX6675 Arduino图书馆

  • 图书馆:MAX6675.

goto arduino菜单:素描 - >Include Library-->Library Manager.

然后在搜索框中输入MAX6675,显示结果:

MAX6675通过ADAFRUIT版本1.0.0 - 单击“安装”。

您可以看到图库是通过进入菜单安装的: Sketch-->包含库,滚动在出现的下拉框中 您将看到标有标有的条目:MAX6675库。

DS18B20的图书馆(温度检查)

有两个图书馆:

  • 图书馆:OneWire(Wire.h)。
  • 图书馆:MAX31850 Dallas Temp(Dallastemperure.h)。

如MAX6675库所描述的安装/检查安装。

MAX6675 Arduino示例代码

以下代码输出热电偶温度,然后输出 DS18B20温度。如果你不'T有后者,然后评论DS18B20 code.

// Prototypes
void ds18B_setup(void);
void do_max6675_loop(void);
void do_ds18B_loop(void);

// Defines
//#define ThermoOnly 1  // For use with IDE Tools --> Serial Plotter

#include <Wire.h>

// Sample Arduino MAX6675 Arduino Sketch

#include "max6675.h"

在 t ktcSO = 8;
在 t ktcCS = 9;
在 t ktcCLK = 10;

MAX6675 ktc(ktcCLK, ktcCS, ktcSO);

void do_max6675_loop(void) {
  // basic readout test

#ifndef 温泉
   Serial.print("Temp = ");
   Serial.print(ktc.readCelsius());
   Serial.print("\t Deg F = ");
   Serial.print(ktc.readFahrenheit());
   Serial.print(" Deg C");
#else
   Serial.println(ktc.readCelsius());
#endif
}


#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into port 2 on the Arduino
#定义 ONE_WIRE_BUS 4

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature DallasSensors(&oneWire);

void setup(void)
{
  // start serial port
  Serial.begin(9600);

#ifndef 温泉
  Serial.println("Dallas Temperature IC Control Library Demo");
  Serial.println("...and MAX6675 Thermocouple.");

  // Start up the library
  DallasSensors.begin();
#endif

  // give the MAX a little time to settle
  delay(500);
}

void do_ds18B_loop(void)
{
  // call DallasSensors.requestTemperatures() to issue a global temperature
  // request to all devices on the bus
  Serial.print("Requesting 1-wire devices...");
  DallasSensors.requestTemperatures(); // Send the command to get temperatures
  Serial.println("DONE");

  Serial.print("Temperature for the device 1 (index 0) is: ");
  Serial.print(DallasSensors.getTempCByIndex(0));
  Serial.println(" Deg C");
}

void loop(void) {

#ifndef 温泉
   Serial.println("\n-START-");

   Serial.println("Thermocouple Temp.");
   do_max6675_loop();

   Serial.println("\nRoom Temp.");
   do_ds18B_loop();

   Serial.print("-END-");
   Serial.print("\n");
#else
  do_max6675_loop(); // Only o/p thermocouple data.
#endif

   delay(500);
}



序列情节

绘制热电偶的输出随着时间的推移非常容易使用 Arduino IDE作为内置的工具,可以创建一个显示的条带图表 数据的最后一个数据。要使用它,您需要将温度输出为a 数字没有添加文本。
定义"ThermoOnly" does this for 您 - 取消注释它以允许这种操作模式。

通过允许定义"ThermoOnly"激活(未评论 以下代码):

#定义 thermoonly 1.

...然后重新编译。草图将从中输出温度值 热电偶(没有其他文字)。

从菜单中激活绘图仪 - >Tools-->串行绘图仪查看 output.

使用MAX6675的详细信息

该芯片使得在巨大的温度读数方便 温度范围0°C至1024°C,采用最流行的热电偶 (k)。您还可以检测小于0.25°C的小温度变化 (12位分辨率ADC给出这种能力[1024.0 / POW(2,12)= 0.25°C]。

芯片还使互相简单的接口,因为它已内置 ADC,CJC和AMP和数字串行输出(SPI)。

MAX6675测量精度

基本芯片错误贡献::

温度范围 错误(PSU 3V3) 错误(PSU 5V) %err(3v3) 额外的寒冷
comp error ±3.00°C
0〜45°C ±1.00°C ±1.25°C 1°C错误 4°C错误
0°C〜+ 700°C ±2.00°C ±2.25°C @ 700〜0.29%err @ 700〜0.7%err
+ 700°C〜1024°C ±4.25°C ±4.75°C @ 700〜0.7%err,
@1000 ~ 0.4% err
@ 700〜1.0%err,
@1000 ~ 0.7% err

芯片的唯一缺点是其精度依赖于晶体管 基于温度测量,可仅限于±3.00°C 芯片的温度范围(-20°C〜85°C)。此错误将是其中之一 总贡献者对总错误预算。

然而,热电偶不是 无论如何(指定为2.2°C),那么ADC有错误 从1°C到4.75°C的内容(取决于温度范围和芯片 电源电压)。所以你可能有3 + 4.75 + 2.2〜11°C的错误。记住 这不一定太糟糕了,因为它会产生百分比的错误 与正在测量的大温度相比仍然很小。

然而,在室温下,晶体管CJC可能会产生最小的 误差。 0°C误差(仅由ME测试仅夹持)和低于700°C 错误是2.25°C +热电偶误差2.2°C,所以您可以说出错 将是4.47°C,但这取决于它的使用。

笔记: 有技术可以做出更准确的读数 具有k型热电偶(校准和设计),但它超出了范围 本讨论 - 由于它需要极端的设计技术即很多 时间并被认为做对。

关于MAX6675的结论

6675是放大热电电压的线性装置 〜41UV /°C常数并数字计算结果。来自的产出 放大器被馈入12位ADC,导致分辨率为0.25°C及其 主要优点是它在芯片内部做了这项工作(放大了 极低的信号变为可用电压,变成了数字 output).

有两种轻微缺点:

  1. MAX6675只能在0°C的温度范围内运行 1024°C实际上k型热电偶能够运行 范围-200°C至1300°C!
  2. 阅读的准确性取决于特征的特征 k热电偶(在0°C范围内没有线性,所以 上面引用的错误细节是热电偶的直接结果 non-linearity.

如果您只想将温度范围0°C至1024°C操作 MAX6675是一个不错的选择(如果您接受错误级别),但您不能 在该温度范围内使用芯片。

热电堆

优雅使用热电偶(天然气试验控制)

我正在寻找有关热电偶的更多信息,并找到了这一点 有趣的信息。如果你曾经有大头大篷车,你会知道 冰箱可以从三个来源供电;电源,12V和天然气。当你使用时 你必须按下起动器按钮的气体(使用a点亮气体 压电打火机,但你也必须暂时握住按钮)。为什么是 那? - 我从未想过问真的'就像魔法一样,它有效! - 真的很奇怪我们如何接受我们周围技术的操作 质疑它!

事实证明,热电偶用于产生电压源 (这就是为什么你必须长时间保持按钮15-30s)所以 热电偶有时间热身。一旦它完成了,这非常小的电压 (数十毫伏的顺序)用于为非常小的螺线管供电 单独采用保持电流(注意:电磁阀的保持电流 可以远小于激活电流,在这种情况下的行为 按下按钮是电磁阀的激活操作,所以没有高功率 是需要的,只是你的拇指!只要火焰继续保持电流 生成(热电偶输出) - 螺线管保持打开。

注意:增加热电偶电压输出结合多个 热电偶一起制作所谓的热电堆。

一些组合的主燃烧器和试验气体阀门(主要由霍尼韦尔)减少 电力需求在一个由A加热的单个通用热电偶范围内 导频(25个MV开路电路用线圈缩小一半,连接到10¢12 MV,0.2¢·0.25个源,通常)通过尺寸尺寸尺寸尺寸尺寸来保持 阀门打开灯弹簧,但仅在初始车削力之后 由用户按压并握住旋钮压缩弹簧 在飞行员的照明期间。这些系统是可识别的"press and hold for x minutes"在导频照明说明中。 (保持电流 这种阀门的要求远小于设计的更大螺线管 从关闭位置拉动阀门需要。)特殊测试集 是为了确认阀门放开和持有电流,因为普通 毫安计不能使用,因为它引入了比燃气阀更多的电阻 线圈。除了测试热电偶的开路电压,以及 通过热电偶燃气阀线圈接近短路直流连续性, 最简单的非专业测试是已知良好的燃气阀的替代。
[Source wikipedia: //en.wikipedia.org/wiki/Thermocouple ]

热电偶示例使用

测量温度输出:

  • 您的计算机(在风扇输出时) - 矿山约为61°C。
  • 蜡烛火焰。
  • 一杯茶 - 矿山约40°C。
  • 烙铁 - 矿山约300℃。
  • 你的烤箱。
  • 电路中的组件e,g。电源晶体管(仔细仔细 晶体管具有外金属罐处的电压)。

当然,一旦你可以测量某些东西,那么你可以控制它e .g 烤箱,炉,高温冶炼,HVAC,烙铁等

提示:设置"#define ThermoOnly"在示例代码中取消注释然后重建代码,然后重建代码 从Arduino IDE中选择菜单以绘制温度: Menu-->Tools-->串行绘图仪。这将绘制出来的价值 实时温度在图上。 (如果你不't看到菜单安装 来自Arduino.cc的IDE,因为有两个版本可用)。


新的! Comments

让你说到你刚刚阅读的东西!留下下面的框中的评论。




隐私政策 | 接触 | 关于我

网站地图 | 使用条款


ezoic.报告此广告

访问我们的Facebook页面:

   点击这里



最近的文章

  1. 如何使用ADS1115

    使用ADS1115精度16位ADC进行教程进行低功耗。

    阅读更多

  2. arduino.模拟输出...易模拟输出生成

    arduino.模拟输出:如何创建最精确的PWM模拟输出以及如何创建模拟PWM正弦波。

    阅读更多

  3. 数号和等效的快速宏。加快代码!

    了解DigitalWrite()的工作原理......现在使用17倍宏宏!

    阅读更多

  4. TCS230颜色传感芯片:如何运作以及如何使用它。

    如何使用TCS230(/ TCS3200)彩色检测器芯片并轻松将其添加到您的任何项目中。

    阅读更多

  5. 如何使用ADXL345进行运动感测等。

    使用ADXL345 Acellerometer,您可以检测到16G!您还可以了解如何使用它来点击检测等。

    阅读更多

  6. HMC5883L 3轴数字MAGENTOMTER如何运作

    HMC5883L - 如何制作数字罗盘,了解HMC5883L和QMC5883L之间的差异以及它们是否兼容。

    阅读更多



读者 Comments

"I wanted to thank
你这么好
对于所有信息
你已经提供了
你的网站's

高超极好的."

- 逃亡Potthath.

"This site really is
最好的和我最喜欢的。
我发现这里有很多很有用
项目和提示。"

- 米兰

Bursach.<at>gmail.com<

"Awesome site,
非常,非常容易和好
导航!"


-
镭_tr.<at>
wolf359.cjb.net.


学习微控制器

"Interested in
微控制器?"

注册
免费7天指南:

自由 GUIDE : CLICK HERE


"I am a newbie to PIC
我想说
 how great your
网站一直在为我。"


- 戴夫

de_scott.<at>bellsouth.net

"Your site is a great
和完美的工作。
恭喜。"


- SURESH.

IntegratedInfosys.<at>
Yahoo.com.

"I couldn't find the correct
要定义的词语
你的网页。

非常有用,揭开,
诚实明确。

非常感谢
你的时间和作品。
问候。"


- Anon.

回到顶部