MAKER UNO + で始めるSTEM (5) 温度計測

 日本には四季があります。地球の回転軸が太陽に対して約23度傾いているからです。季節によって太陽の光りが地面に当たる量が変化するので、1年(地球が太陽を1周する期間)を通じて、温度変化が生じます。

 温度の単位は3種類あります。国際的な単位は摂氏(セルシウス温度)です。アメリカなどは華氏を使います。もひとつは分子の熱運動がほとんどなくなる温度を0Kとする絶対温度です。温度センサの中には、絶対温度を基準とするデバイスがあり、273.15を加算して摂氏に直すことがあります。
 摂氏と華氏の換算式です。教科書には、暗算しやすい式が載っていますが、コンピュータなら、割り算を使わないほうが高速に演算します。

  摂氏 = (華氏 - 32) * 0.56
  華氏 = 摂氏 * 1.8 + 32

 自動車のラジオの動作温度は、-40~85℃です。これは、ラジオが聴けないと、何かトラブルがあったときに情報が得られなく、生きられないという理由から決まった基準のようです。工業用機器もこの温度範囲で設計されることが多いです。日本では-28℃くらいまでしか野外の気温は下がりませんから、-40℃の動作テストは、専用の実験室が必要です。
 今のラジオは、ほとんどが半導体でできています。40年ほど前は、回路自体は半導体でしたが、選局の切り替えなどは機械式スイッチを使っていました。市販されている半導体デバイスの動作温度を見てみましょう。ATMega328Pは、

  • 動作温度 -55~125℃
  • 保存温度 -65~150℃

です。Arduino はどうでしょうか。検索してもあまり見つかりません。Arduino YÚN miniの動作温度範囲が0~60℃です。民生機器の多くは、このような温度範囲で動作を保証しています。

温度センサの種類は多い

 測りたい温度によって、利用できるセンサの種類はいろいろあります。気温が測りたいといっても、北海道ならマイナスを測れないと役に立ちません。料理で使うオーブンは230℃ぐらいまで設定します。
 マイコン・ボードの動作温度範囲が0~60℃であるならば、センサは、マイコンからある程度の距離が離れている必要があります。最低で数十cm離すには、センサの出力のケーブルが伸ばせるものでなければなりません。

サーミスタ

 測定温度範囲は-50~+150℃が多いようです。低温と高温では、センサの被覆材料に適切な材料を選びます。また油や薬品であれば、その耐性が必要です。最大の特徴は、センサの価格が安いことです。最大の欠点は、回路(通常抵抗1本)を組み、非線形の出力を取り込んで補正するプログラムが必要なので、1ピン物には向いていません。量産するとき、開発費用は原価に入れられるので、プログラムの作成に時間をかけられます。


 センサ自体の温度の測定時間はすごく短い=応答性に優れています。ただし、被覆されているので、現実は素早く温度が測れません。体温計などでは、測定が始まって測定温度が上昇する初期の計測値から、飽和する温度を予測して体温を表示するようなプログラムが入っています。

 センサは、非常にたくさんの種類があるので、だれかが作ったサーミスタのプログラムを流用するには、同じ型名のサーミスタを入手しないと、正しく温度が測れません。したがって、電子工作分野では利用しにくいです。

熱電対(ねつでんつい)

 測定できる温度範囲が広いです。一番利用の多いK型では、−200 〜 +1000℃が測れ、価格も安いです。得られる電圧は温度とは非線形の関係で、古くは、折れ線近似など特性の異なるアンプを組み合わせて非線形特性を近似していました。今でも、A-Dコンバータで電圧を読み取った後にマイコンで非線形を補正するプログラムを組みます。
 もしくは、その補正演算を行ったうえでディジタル出力をする専用ICを利用します。

白金測温抵抗体

 理化学分野では、劣悪な環境下で測定することも多いので、安定な金属プラチナを使った白金測温抵抗体が使われます。測定温度範囲は-200~+660℃と広範囲で、規格化されているので、いろいろなメーカの製品を取り換えても、回路やプログラムの変更は不要です。
 センサを2線式でつなぐと、導線による誤差が出ます。3線式か4線式で使うと、導線の長さやアンバランスによる誤差をキャンセルできます。

トランジスタ

 半導体は、温度センサになります。トランジスタやダイオードのPN結合は温度係数をもっているから、温度によって流れる電流が変化します。その変化を増幅すれば、温度計として利用できます。CPUの温度などは、独立した温度センサではなくトランジスタを使って温度を測っています。
 温度と電流の関係は非線形ですが、ほとんど直線的なので、扱いやすいです。具体的には、トランジスタをそのまま使う方法と、出力が扱いやすい電圧になったアナログ温度センサというカテゴリの製品を使う場合があります。

非接触

 物体が放射する赤外線を感知して温度を測定します。センサによっては、人の皮膚温度を0.1℃程度の分解能で測れます。高温にも対応している製品があります。溶鉱炉から溶けだした銑鉄の温度を、少し離れたところから測るような用途に使えます。
 また、感知素子をマトリクスに配置して、エリアの温度分布を測ることができるのは、ほかの温度センサでは実現できないことです。

ディジタル温度センサ

 温度を測る部分の方法や原理は様々ですが、出力がディジタルなのをディジタル温度センサと呼びます。五つのカテゴリがあります。

  • 独自な出力
  • 1-Wire(1線)
  • I2C(2線)
  • SPI(3もしくは4線)
  • RS-232C、RS-485(2線)

 それぞれたくさんの製品があります。I2CとSPIは、配線は10cm程度までしか伸ばせられません。バス・リピータなどを使うと数m程度伸ばせますが、一般的ではありません。
 1-Wireは数十mの配線ができ、接続するために必要なのは、信号線、電源、グラウンドの3本だけです。デバイス自体に固有のIDが振られているので、3本の線に複数の1-Wire温度デバイスをつなげられます。

 RS-485では、数十個のセンサ・モジュールを数kmにわたって敷設できます。RS-485は、センサ単体で対応しているのではなく、マイコンが内蔵されたモジュール製品になっているので、産業用は高価です。そのような広域で複数の温度を測る用途には、センサとWi-FiやBluetoothで複数の無線対応のセンサ・モジュールをメッシュ状につなぐソリューションがあります。最近は、920MHz(サブGHz)やLTE(3G)を使って数kmの距離を通信できるソリューションが実用の時期に来ています。

アナログ温度センサ

 出力がアナログだとアナログ温度センサと呼びます。通常電圧出力ですが、電流やパルスのカウント値(PWM)もあります。電圧や電流出力の場合、A-Dコンバータでマイコンに取り込みます。電子工作ではLM35がよく使われますが、零度以下はマイナス電源が必要です。プラス電源だけでマイナスの温度が測れる製品もたくさんあります。

コラム 動作温度範囲が0℃から

 マイコンは-40℃でも動作するのに、なぜ、Arduinoボードの動作温度範囲が0℃以上なのでしょうか。
 たとえば、回路の中でたくさん利用される積層セラミック・コンデンサでは、同じ容量でも、いろいろな温度特性があります。中には、温度によって容量が大きく変化し半減するものもあります。そのような、選択する部品によって、動作温度範囲が異なることが考えられます。

 マイコン・ボードが低温と高温に繰り返しさらされると、部品の伸縮が起こります。温度をなんども可変するテスト環境をパスした実装方法が望まれます。プリント・パターンの設計の良しあしで、その熱サイクルに対する耐性が異なります。とくにはんだの部分はクラックが入って信号が切れてしまう事故は昔からよく発生していました。

 したがって、Arduinoのボードを-20℃になる野外で動かすと、そのときは正常に動作するかもしれません。しかし、それを1年間通して動かせるかどうかは保証されないということです。
 野外で動作するためには、防水対策をした箱に入れ、結露対策も重要です。もう一つ重要なのが電源です。商用電源がないところで動かすには、蓄電池や乾電池、太陽光発電パネルなどを利用します。それらを組み合わせて1年動かすというのは多くの実験の積み重ねと運用ノウハウが必要です。
 さらに、得られたデータをどのようにして別の場所に送るかという方法が面倒です。しかし、いくつかの広域無線通信方法が提案されているので、解決できます。今だとSigFox、2019年はNB-IoTなどが利用できるようになるでしょう。

前へ

vs Arduino UNO WiFi (4) Wi-Fi接続とMQTT

次へ

ESP32入門 通信機能が標準搭載されたマイコン・ボード (4) サンプル・プログラムを用いてWi-Fi経由でLEDのON/OFFを行う(2)