Arduino(18) 熱電対を使ってみました

ブログランキング・にほんブログ村へ

熱電対を使ってみました

概要

熱電対とは、異なる材料の2本の金属線を接続して1つの回路(熱電対)をつくり、ふたつの接点に温度差を与えると、回路に電圧が発生するという現象がおきます。この現象は、1821年にドイツの物理学者トーマス・ゼーベックによって発見され、ゼーベック効果と呼ばれています。熱起電力は、組み合わせる金属の種類と両接点の温度差には依存するものの、構成するふたつの金属の形状と大きさには関係しないため、この現象を利用した多くの温度検出端が開発されました。一般にこの現象を利用した温度検出端を熱電対といいます。
利用した熱電対は、アマゾンで購入した物です。

K型熱電対のセンサーです。K型の熱電対は、クロメル(ニッケルおよびクロムを主とした合金)とアルメル(ニッケルを主とした合金)の二種の金属を利用した熱電対で、温度と熱起電力との関係が直線的であり、工業用として最も多く使用されているものです。理論的には、-270℃ ~ 1372℃の温度範囲の測定が可能です。

アマゾンで購入したK型熱電対のモジュールには、マキシム社のMAX6675というICが使われていて、少し古いタイプのICです。今は、後継デバイスのMAX31855やMAX31856が使われることが多いと思います。性能も格段に向上しているようです。ArduinoとはSPIインターフェースで接続します。

SPIについては別の記事に記載したいと思っています。

回路図

購入したモジュール 8本足のICがMAX6675


配線全体


熱電対のセンサー部分


スケッチ


#include 

int readDATA;//MAX6675のデータ格納変数

SPISettings MAX6675Setting (4000000, MSBFIRST, SPI_MODE0);

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

void loop() {
  SPI.beginTransaction(MAX6675Setting);
  digitalWrite(SS,LOW);
  readDATA=SPI.transfer(0xFF) << 8;
  readDATA=readDATA+SPI.transfer(0xFF);
  digitalWrite(SS,HIGH);
  SPI.endTransaction();

  Serial.print(readDATA,HEX);
  Serial.print(", ");
  Serial.print(readDATA>>3);
  Serial.print(", ");
  Serial.print(readDATA>>3,HEX);
  Serial.print(", ");
  Serial.print((readDATA>>3)*0.25);
  Serial.println(" ℃");

  delay(1000);
}

[/C]

結果の表示 左から元データ、10進表示、16進表示、

ブログランキング・にほんブログ村へ

コメントを残す

メールアドレスが公開されることはありません。