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

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

「熱電対付きサーモグラフィの試作(モニタソフト)」

MLX90640をモニタするパソコンソフトです。

 

 

概要

MLX90640の補正データとピクセルデータをマイコンから読み出し、各ピクセルの温度を計算してヒートマップ表示します。温度計算のための処理は、Melxis提供のドライバ( 資料1*1 )をC#で記述しています。

また熱電対で測定した温度を表示します。

図1. モニタソフト (MLX90640+熱電対)

画面と操作

 ボタン「Serial Port」でCOMポートを開きます。「Start」でモニタを開始します。

ピクセルのデータを収集後に、「Scott Plot」、「Temp」ボタンを押すと、ヒートマップが表示されます。タイプはTurbo,Blues,Grayscaleが選択できます。

図2. メイン画面

図3. シリアルポートと送受信データ表示画面

図4. ヒートマップ


処理概要

データ

・データ型(構造体)

RAMData:MLX90640のRAM領域とレジスタ

ToData:補正演算で求めた各ピクセルの温度

CalibData:MLX90640のEEPROM領域(補正データ)

・主なグローバル変数

sendBuf: 送信バッファ

rcvBuf: 受信バッファ

ram_list: MLX90640のRAM領域とレジスタ

calib_list: MLX90640のEEPROMデータ

to_list: 測定対象物の全ピクセルの温度

to_list_0: Subpage0のピクセルの温度

to_list_1: Subpage1のピクセルの温度

eeData: MLX90640のEEPROMデータ

frameData: MLX90640のRAM,レジスタデータ

・データグリッド

Calib_File_DataGrid : EEPROMデータ用(calib_list の内容表示)

図5. データグリッドによる表示(calib_list)

Pixel_File_DataGrid : RAM,レジスタデータ用

図6. データグリッドによる表示(ram_list)

To_DataGrid : 各ピクセルの温度用

図7. データグリッドによる表示(to_list)
フロー図

図8. 初期化とボタン、タイマ処理

図9. データ受信処理

環境

Windows 11 Pro , 22H2      .NET Framework 4.8 
Microsoft Visual Studio Community 2022 (64 ビット) – Current Version 17.6.3

WPF アプリ(.NET Framework)    ( C#,XAML,Windows,デスクトップ)
ScottPlot 4.1.67 

ファイル一覧

図10. ファイル一覧

 MainWindow 以外のファイルは別Windowになっています。メインウインドウに追加して使用します。(参考:https://vabc.hatenadiary.jp/entry/2021/11/21/085446)

 ScottPlotのパッケージのインストールが必要です。

 

ファイルの登録場所: https://github.com/vABCWork/WPF-Monitor_MLX90640

実験の様子

 測定対象物は黒く塗ったアルミ板です。下からペルチェ素子で加熱または冷却を行っています。

図11. 実験の様子(ペルチェ素子)

 ガスコンロで水を温めた写真です。

図12. 実験の様子(水を沸かす)

補足:

 試作機の基板の取り付けに、タミヤの「楽しい工作シリーズNo.98  ユニバーサルプレートセット」を2つ使用しました。立体構造が手軽につくれて便利です。

図13. 試作機

 

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