(2019.4.25 作成)
(2019.6.30 更新)
(2019.7.15 更新)
MAX6675はMAXIM integrated社の販売している熱電対を用いた温度センサのコントロールICです。
このページでは右のリンク写真のように基板に乗せられたモジュール状態のものを扱っています。
このモジュールですが、記事執筆時点では日本のAmazonで400円前後、中国のAliexpressで約100円で販売されており、とても安価に使用できます。
さて早速このモジュールについてですが、熱電対のオープンエラーを検出する機能があります。この機能を有効にするにはT-ピン(Pin2)をGND(Pin1)に接続する必要があるのですが、このページで紹介している基板では残念ながら接続されていません。
有効にするには右写真の様にICの足をショートさせることでこの機能を有効にすることができます。
ちなみにこの機能を有効にし、オープン状態で計測すると読みだしたデータのbit2が1になり、エラーを認識できるようになります。
ArduinoではIDEからダウンロードできるAdafruitさんのMAX6675-Libraryを使用することで簡単に利用できます。
ただしAdafruitさんのライブラリの例ではGPIOピンから電源を取るように書かれています。確かに消費電流も少なく、それでも実際に動くのですが、もともと別のスケッチがArduinoに書き込まれていた場合などに不用意に壊しかねないのでお勧めしません。サンプルはあくまで見るだけにとどめ、実際のコードはそれを参考に作り直すのが良いと思います。
実際に管理人が作成した例としては以下のダウンロードリンク内にサンプルスケッチがあります。このArduinoスケッチを使用すると2chでの測定データがシリアルモニタに確認できます。
ただしそれだけだと使い勝手が悪いので、受信してグラフを作成する簡単なソフトを作成しました。
上記リンクの中のZIPファイルの中に、MAX6675を使用するArduinoのスケッチ(1ch版、2ch版)、受信ソフトの実行ファイル、およびソースコード(C#)が入っています。
使い方はおそらく説明する必要がないと思います。とても簡単に使用することができると思います。Arduinoのスケッチを少し変更するとMAX31855でも使用することができると思います。またCh数ですが動作確認はしていませんが、一応最大8chまで対応するつもりで受信ソフトは作成しています。
せっかくなのでペルチェ素子の両面に熱電対を貼り付けてどの程度の温度差が発生するのか試してみました。
測定開始後5分でペルチェに200mA電流を流し、約10分強立ったところでペルチェの電源を切っています。その測定結果が下のグラフになります。
ペルチェの両面で約7度の温度差が発生していることが分かります。 電源を入れた直後は確かに冷却側は冷えるのですが、残念ながら時間がたつとジュール熱で温まるため、次第に冷却側の温度が上昇してゆき、結果として電源投入前の温度になっています。”なんじゃそれ!?”って感じですね。
さて実際に使ってみた感想ですが、上の測定例を見ていただくとわかるのですが
ただ値段も十分安く、Ch数も容易に増やすことができるので応用範囲は広い温度センサだと感じました。