はじめに
あらゆる物体は赤外線を放射しており、温度が高いほど放射量は多くなります。サーモパイルセンサーは、物体から放射される赤外線を受けると、入射赤外線量に比例した熱起電力を発生する熱型の赤外線センサーで、非接触で物体の温度測定が可能です。その利点を活かし、民生機器に広く利用されています。身近なものでは、コロナ流行期に額(ひたい)の温度測定によく使われたハンディー型の非接触温度計があります。
概要
サーモパイルセンサーの構造を模式図(下)で解説します。
異なる2つの金属Aと金属Bの接合点(温接点)と、両端(冷接点)の間に温度差ΔTが生じると、端子間に電位差即ち熱起電力ΔVが発生します(ゼーベック効果)。ΔVは金属の種類とΔTで決まるので、ΔVを測定すればΔTが分かります(この原理を使った温度検出端が熱電対)。物体からの赤外線によって温接点が温められるとΔTが生じ、ΔTに比例したΔVが発生します。サーモパイルは、多くの熱電対を集積化して直列につなぐことで温接点を増やし、赤外線に対する感度を大きくすることで熱起電力を増幅し(nΔV)、非接触による温度測定を可能にしています。
方法
実験に使用したサーモパイルセンサー A3D01S-FU-50-60(日本セラミック)は、SMBusインターフェース(コラム参照)のメタルCanパッケージで、モジュール中央の丸窓に赤外線が入射します。検出エリア(FOV):90°内の赤外線エネルギーを平均化し、エリア内の平均温度を検出します。また、内蔵サーミスタでセンサー自身の環境温度を測定します。
下は、センサーのデジタル出力仕様です。
Self-temp.(自己温度)のレジスタアドレス:0x70。実数部9ビットと小数部3ビットの12ビットから成り、これをαと仮定した場合、環境温度(TEMP_THT)[℃]=α/8-20 の式で表されます。測定範囲は -20 ~ 100 ℃、最小分解能は 0.125 ℃です。
Object temp.(物体温度)のレジスタアドレス:0x71。実数部9ビットと小数部3ビットの12ビットから成り、これをβと仮定した場合、オブジェクト温度(TEMP_THP)[℃]=β/8-30 の式で表されます。測定範囲は -30 ~ 400 ℃、最小分解能は 0.125 ℃です。
結果
ブレッドボードに回路を組んで実験しました。センサーモジュールは、そのままではブレッドボードに刺さらないので、下写真のようにSOP8基板に半田付けしてDIP化しました。
実際に次のような方法で発熱体(ペルチェ素子)を測定してみました。ペルチェ素子は、ある方向に直流電流を流すと、素子の片面は発熱(加熱)し、反対面は吸熱(冷却)します。ユニバーサル基板にペルチェ素子を取り付けた発熱体ユニットを用意します。熱電対をエポキシ接着剤でペルチェ素子表面に固定し、デジタルマルチテスターにつないで素子表面温度をモニターします。ペルチェ素子とセンサーが対向するように発熱体ユニットをセンサー上に設置して素子を発熱させ、表面温度を熱電対とセンサーで測定します。
下グラフは、ペルチェ素子表面の熱電対測定値とセンサー測定値(THP)の相関です。
ここでは、熱電対測定値をリファレンスとみなします。Gapは、センサーと素子表面との距離です。Gapが大きくなると、測定物からの赤外線の入射が減るので熱電対値との乖離は広がりますが、R2≈1なので高い精度の測定ができています。
まとめ
サーモパイルセンサーは、非接触で瞬時に物体の温度を高い精度で測定できることが確認できました。物体の温度測定の他にも、物体と環境の温度差を確認したり、近接センサーとして使うなど、いろいろ活用できそうです。
なお、非接触温度測定は測定物の特性を考慮する必要があります。測定物が曲面体の場合、赤外線が広い範囲に放射し、センサーには放射の一部しか入射しないため、集光器を使うなどの工夫が必要です。また、測定物内で温度差がある場合、非接触測定では温度が平均化されるため、温度差を捉えることができません。他にも、測定物からの赤外線を反射/吸収するような障害物や環境に留意が必要です。
– 以上 –
コラム
SMBus(System Management Bus)は、I2Cから派生したシリアル・インターフェースで、I2Cと同じSDAとSCLの2線通信です。SMBusは、PCのマザーボードや組み込みシステムの監視などのシステム・マネジメントに使用されることから、I2Cより規定が厳しい仕様になっています。中でもバスクロックとタイムアウトが大きく異なり(下表)、バスクロックが10kHz以下あるいはLow状態が35ms続いた場合、タイムアウトになりデバイスはリセットされます (I2Cは、このような制約はありません)。他にもいろいろ相違点はありますが、ホビー用途では特に留意するものではありません。詳細については、それぞれの仕様書をご参照下さい。
SMBusはI2Cと互換性があるので、デバイスのプロトコル仕様どおりにコマンドを実行すれば問題なく通信できると思いますが、SMBus特有の決まり事があるようなので、参考までにA3D01S-FU-50-60を例に載せておきます。
・Repeat start condition
コマンド送信とデータ読み込みの間はStop conditionではなく、Repeat start conditionから始める。これによって、バスを開放せずに続けて通信が可能になる。
・PEC(Packet error check)バイト
通信の最後にPECバイトを返信。PECは、8ビットCRC計算に基づく誤り検出の仕組みで、受信したPECバイトが計算値と合わない場合、NACKが送信される。(本実験では、PECバイトのチェックは無視しています)