60歳からの電子工作ノート

生涯学習として取り組んでいます。

「熱電対付きサーモグラフィの試作(MLX90640の温度計算)」

 MLX90640は32x24ピクセルの赤外線(Infra Red)アレイセンサです。
測定対象物の輻射熱から温度分布を得ます。温度の求め方について調べました。

資料を以下に示します。

・MLX90640のデータシート、資料1*1

・ドライバソフト、資料2*2、資料3*3

・Adafruit社、資料4*4

・測定範囲(FOV)の説明、資料5*5

・熱の輻射に関して、資料6*6

・放射温度計、赤外線センサに関して、資料7*7

資料8*8、資料9*9、資料10*10

 

サーモパイルによる温度測定

絶対温度が0[K](ケルビン)でない物体は、物体内部の分子運動によりその温度に応じた熱エネルギーを電磁波(ほぼ赤外線)の形で放出しています。(熱輻(ふく)射)(資料 6)

サーモパイルは熱電対が複数直列に接続されており、赤外線がセンサの受光部に入ると、冷接点側との温度差となり熱起電力が発生します。熱起電力から補正演算を行うことで、測定対象物の温度(T)を得ます。

図1. サーモパイルによる温度測定

温度の計算

MLX90640では最初に補正(キャリブレーション)用のデータを、EEPROMから読出します。その後、測定データをRAMから読出し、各ピクセル毎に演算を行い温度を得ます。

図2. 温度計算の概要
測定データと更新周期

センサーの測定データ(16bit)は、センサー内のRAM領域(0x400~0x6FF) に、768(=32x24)個分格納されます。

図3. MLX90640 測定データの格納領域

この領域はSubpage0とSubpage1の2つに分けられ、サブページ毎に交互にデータが更新されます。  デフォルト(Chess reading pattern設定)のSubpage割り当ては以下の通りです。

図4. サブページの割り当て(デフォルト時)

測定データは更新周期毎に、Subpage0またはSubpate1に格納されます。

更新周期(IR refresh rate)=4 [Hz]の場合、250msec毎にSubpage0またはSubpage1が更新されます。更新完了で、ステータスレジスタ(0x8000)のbit3(New data available in RAM)が1となります。

図5. サブページの更新(refresh rate = 4Hz)
補正データ

I2C通信でEEPROMから読み出します。ドライバソフトでは読み出し後、構造体のメンバ(変数)に格納しています。

図6. 補正データ

図7. 補正データの取り出し(ドライバソフト)

以下はドライバソフト(資料2) の int MLX90640_ExtractParameteres( ) 内の処理です。

括弧()内の項目は、データシート(資料1)での該当箇所です。

1)供給電圧 (Vdd)    Extract_VDD() (11.1.1. Restoring the VDD sensor parameters)

 供給電圧 Vddの計算用パラメータの取り出しと、演算。Kvdd と vdd25を得る。

図8. Vdd

2) PTAT      Extract_PTAT()   (11.1.2. Restoring the Ta sensor parameters )

Ta(センサ周囲温度) 計算用パラメータの取り出し。KvPTAT, KtPTAT, vPTAT25, alphaPTAT を得る。

図9. PTAT

3)Gain    Extract_Gain()  (11.1.7. Restoring the GAIN coefficient (common for all pixels)

ゲインの取り出し。GAINを得る。

図10. GAIN

4)TGC    Extract_Tgc()  (11.1.16. Restoring the TGC coefficient)

TGCの取り出し。  MLX90640ESF-BAx-000-TU の場合は常に 0。

図11. TGC

5) Resolution    Extract_Resolution()   ( 11.1.17. Restoring the resolution control coefficient)

reaolutionEE を得る。

図12. Resolution

6) KsTa    Extract_KsTa()  (11.1.8. Restoring the KsTa coefficient (common for all pixels) ) 

KsTaを得る。

図13. KsTa

7)KsTo    Extract_KsTo()  (11.1.10. Restoring the KsTo coefficient (common for all pixels) )

KsToと ctの取り出し。

図14. KsTo

8) CP    Extract_CP()  

  cpKta,cpKv,cpAlpha[0],cpAlpha[1],cpOffset[0],cpOffset[1] を得る。

図15. CP

9) Alpha    Extract_Alpha()

alpha[768]とalphaScaleを得る。

図16. Alpha

10) Offset    Extract_Offset()  (11.2.2.5.2 Offset calculation)  

offset[768]を得る。

図17. Offset

11) Kta    Extract_Kta()  (11.1.6  Restoring the Kta(i,j) coefficient )  

ktaScaleとkta[768]の取り出し。(データシートとドライバで処理が異なる。)

図18. Kta

12) Kv    Extract_Kv()  (11.1.5   Restoring the Kv(i,j) coefficient )  

kvScaleとkv[768]の取り出し。(データシートとドライバで処理が異なる。)

図19. Kv

13) CILCP    Extract_CILCP()  

calibrationModeEEとilChessC[3]の取り出し。

図20. CILCP

14)  ExtractDeviatingPixels ()

不良ピクセル(broken , outlier)数のチェック。

温度計算フロー

ドライバソフト(資料2)の 3.4.3  MLX90640_CalculateTo  の処理フローです。

括弧()内は、データシート(資料1)に該当する項目です。

(Adafruit(資料4)も同じドライバを使用しています。また、テーブルによる温度計算(資料3)は使用していません。)

図21. 温度計算フロー 1

図22. 温度計算フロー 2

計測範囲

センサの計測範囲は、FOV(Filed of View)と距離により得られます。(資料5 )

測定対象物とセンサが d 離れている場合、Sは次式となります。

図23. 計測範囲

MLX90640-ESF-BAAの場合、FOVはX 方向=110°, Y方向=75°です。

図 24. FOV (データシート 資料1より)

センサと測定対象物の距離を50mmとします。

計測範囲のX方向は、

 S_{x} = 2 \times 50 \times tan( \dfrac{110°}{2}) ,    (tan55° = 1.428)

 S_{x} = 143 [mm]

Y方向は、

 S_{y} = 2 \times 50 \times tan( \dfrac{75°}{2}) ,    (tan37.5° = 0.767)

 S_{y} = 76.7 [mm]

 

計測範囲は143x76 [mm]となります。

図25. 計測範囲 FOV=110°x75° 距離=50[mm]

 

 

*1:資料1「MLX90640 32x24 IR array Datasheet (REVISION 12 – DECEMBER 3, 2019) 」 https://www.melexis.com/en/product/MLX90640/Far-Infrared-Thermal-Sensor-Array

*2:資料2「MLX90640 32x24 IR array Driver (REVISION 1 - OCTOBER 31, 2022)」  https://github.com/melexis/mlx90640-library

*3:資料3「MLX90640 32x24 IR array Look-up table implementation 」  https://github.com/melexis/mlx90640-supporting-functions/tree/master

*4:資料4「Adafruit MLX90640 library functions」 https://github.com/adafruit/Adafruit_MLX90640

*5:資料5「FOVの説明動画 」 https://www.youtube.com/watch?v=YGFmlFPjRLE

*6:資料6 「例題でわかる伝熱工学 第2版 熱の移動が図でみえる」 (森北出版)

*7: 資料7 堀場製作所「放射温度計の基礎知識」https://www.horiba.com/jpn/process-and-environmental/products/infrared-radiation-thermometer/

*8: 資料8 日本セラミック「サーモパイル型赤外線センサについて」https://www.nicera.co.jp/products/infrared-sensor/thermopile-sensor/about-thermopile-sensor

*9: 資料9  「ジャパンセンサー 赤外線」 https://www.japansensor.co.jp/manage/wp-content/uploads/2018/10/infrared_20180930.pdf

*10: 資料10  「ジャパンセンサー サーモメータ」 https://www.japansensor.co.jp/manage/wp-content/uploads/2015/03/thermometer.pdf