熱電対温度センサは、サーミスタや半導体温度センサに比べ、安価でとても広い範囲の温度を測ることができます。しかし、熱電対の出力は微少でまた相対的であることから、高精度アンプや補償回路など信号処理回路が少し複雑になる欠点があります。最近はこれらのアナログ信号処理をワン・チップにまとめた便利な熱電対インターフェースICが出回っているので、これを利用してコンパクトな熱電対温度計を製作してみました。
図1に示すように、導体の一部に温度差を与えると高温部と低温部の間に電位差が発生します。これは温度差により導体中のキャリア(たとえば金属なら電子)の密度に偏りが現れるためです。これをゼーベック効果といい、熱電対はこれを利用した温度センサです。この電位差は直接測ろうとしても検出することはできません。なぜなら、測定回路の配線材料にも同様に電位差が発生して差し引きゼロとなってしまうからです。しかし、発生する電位差の程度(ゼーベック係数という)は導体の素材により異なるので、図2に示すように異種金属で回路を構成してやればそれぞれの差の電圧が検出されることになります。ゼーベック効果による起電力は熱起電力といい、検出される値は双方の接続点の温度差に良く比例します。
熱電対温度センサに用いられる素材の種類には、用途に応じて純金属や合金などいくつかの組み合わせが標準規格として存在し、一般工業用ではK型(クロメル-アルメル)熱電対が最もよく用いられています。熱起電力の値は、数十μV/℃なので、熱電対測定回路では入力オフセット電圧の小さい高精度なアンプが必要になります。また、熱起電力から求められる温度は温接点温度Thと冷接点温度Tcの差の温度Th - Tcであるため、冷接点の温度は既知でないと温接点の温度が分かりません。このため、図3に示すように冷接点の温度をサーミスタやICセンサなどで測って補償してやる必要があり、これを冷接点補償といいます。なお、温接点は被測定部の接続点、冷接点は測定器入力部の接続点のことで、温接点が常に冷接点より高温というわけではありません。
熱電対の出力から温度データを得るには、高精度増幅回路、冷接点補償回路、A-Dコンバータなどが必要になり、設計にはある程度のアナログ回路技術が必要でした。現在は、これらの回路をワン・チップにまとめた熱電対専用ICが何種類か出回っているので、これらを使うと誰でも簡単に熱電対を使うことができます。それらの中でもMAXIMのMAX31855はA-Dコンバータまで内蔵していて、温接点温度をデジタル・データとして取得することができるため、今回はこれを使用してみました。MAX31855は使用する熱電対のタイプ毎に対応する型番が決まっているため、購入するときは注意しなければなりません。K型熱電対用ならMAX31855Kとなり、これのパーツ・セットが苺で購入可能です。

冷接点補償はICチップ内の温度センサで行っているので、MAX31855と冷接点(コネクタ)は熱結合していないと誤差の原因になってしまいます。このため、MAX31855はコネクタの直近にレイアウトし、温度勾配を抑えるため周囲の発熱体はコネクタから遠ざけなければなりません。熱電対用のコネクタとしては、写真2に示すようなミニチュア・コネクタがよく使われていますが、これに対応するソケットが入手しにくかったため、ソケットは自作してみました。でも、必ずしも熱電対付属のプラグを使う必要はなく、それぞれ使いやすいコネクタを利用すればOKです。素線のままならプッシュ・オン式の端子台が良いでしょう。

電池駆動のため消費電力を抑えなければならず、必然的にLCD表示器を使うことになります。定番はキャラクタLCDモジュールですが、キャラクタLCDは文字が小さくメータの表示器としては視認性が悪いため、デジタル・メータ用の7セグLCDパネル(写真3)を使うことにしました。7セグLCDパネルはLCDコントローラを内蔵していないので、何らかの方法でLCDパネル駆動波形を生成する必要があります。スタティック駆動のLCDパネルならマイコンのGPIOポートで駆動することもできるので、今回はこの方法をとります。LCDパネルは必要な駆動電圧が決まっているため、3V駆動が可能なTWV1302W(aiteinoで販売)を使用しています。SP-521(秋月で販売)は3Vだと少し薄くなりますが、昇圧回路を追加すれば十分なコントラストが得られます。
ロギングに使えるように、シリアル出力を設けています。出力をパソコンのシリアル・ポートに直結することもできますが、フォトカプラを駆動するなどして絶縁したほうが良いでしょう。
電源は電池1本から昇圧型DC-DCコンバータで3Vに変換して得ています。電源スイッチはソフトウェアによる自己保持なので、マイコンの書き込みの間は電源ボタンを押さえている必要があります。消費電流は1.5Vで実測4mA程度だったので、単5アルカリ電池で100時間以上の動作時間となります。
F/Wの機能は、LCDパネルの駆動、0.5秒毎にMAX31855から温度データを読み出してLCDに表示、およびシリアル送信(N81,300bps)だけで、ほかには電池電圧のモニタ程度ときわめて単純なものです。特に解説する点は無いでしょう。詳しくはソース・コードを参照してください。
