赤外線温度計を作ろう

赤外線温度センサーがちょっと遊んでみようか、というレベルの値段になっているので講習会で使ってみました。

GY-906というモジュールでMelexis MLX90614という赤外線センサーが使われています。Web上の情報ではESFBAAというタイプのようですがGY-906の回路図が見つかりませんでしたので正しいかどうかはわかりません。Melexisからデータシートが公開されているので、ESFBAAが正しいとするとOperating Temperature Rangeは-40℃から85℃で、TO-39型ケース、3V動作(モジュール内で5V→3V変換)、シングルゾーン(視野が単一)、標準パッケージ(視野角90°)ということです。測定できる温度は-70℃から+380℃です。

Amazonでは HiLetgoで670円でした。

https://www.amazon.co.jp/gp/product/B071VF2RWM/ref=od_aui_detailpages00?ie=UTF8&psc=1

AliexpressではMT Technology Co., Ltd.でさらにいくらか安い$4.05でした。

https://ja.aliexpress.com/item/Free-Shipping-GY-906-MLX90614ESF-New-MLX90614-Contactless-Temperature-Sensor-Module-For-Arduino-Compatible/32465344732.html?spm=a2g0s.9042311.0.0.aeFeEN

I2Cですのでライブラリを追加して配線4本でOKです。UNOでは(Nanoでも同じですが、)SDAをA4、SCLをA5に接続します。

表示器も欲しいということになって、I2CのOLED Display Module 128X64も接続しました。これもAmazonの HiLetgoで420円でした。
https://www.amazon.co.jp/gp/product/B071ZPFDWW/ref=od_aui_detailpages00?ie=UTF8&psc=1

AliexpressではHwa Yeh Tech CO.,LTDでいくらか安い$3.00でした。表示器のライブラリはAdafruit_SSD1306を使用しました。ディスプレイへの表示用ライブラリAdafruit_GFXも合わせてインストールします。Adafruit_SSD1306を使う時には使用しているディスプレイの解像度に合わせてAdafruit_SSD1306.hのコメントアウトの行を変更する必要があります。行番号72からの数行を抜き出しましたが、下記が変更後です。

 

講習会ではArduino Nano互換機を使いましたが、この記事を書いている今は手元にあったUno互換機を使っています。

 

この記事を書きながらセンサーの資料を見返していたら、放射率の補正が間違っていたことが分かりました。下のスケッチは訂正済みです。

赤外線温度センサーMelexis MLX90614は5.5μmから14μmの波長域の赤外線を受光して、赤外線で加熱された受光面の温度を多数の熱電対で測定して赤外線の量を求めているようです。赤外線を放出している物体は黒体(放射率=1.0)と仮定して、センサーの温度測定値も用いて、測定対象の温度を推定しています。実際は物体の表面によって放射率は異なり(1よりも小さくなる)、放射率の低い金属表面を測定した場合は黒体に比べて赤外線の放出量が少ないので測定結果は実際の表面温度よりも低い値を出力します。

MLX90614に内蔵されたEEPROMに測定対象の放射率を書き込んで補正した結果を出力するように設定することができます。しかしながらライブラリでは対応していないことと、書き込むためには通信エラー検出用のPEC値も書き込む必要があり、かなり面倒みたいなので、Arduinoのプログラムで補正をすることにしました。放射率E(0~1.0)と、センサー温度(K) Tsnr、測定対象の温度(K) Tact、赤外線量から推定した温度(K) Tmeasの関係式がMelexis社の資料に書かれています。

https://www.melexis.com/en/documents/documentation/application-notes/application-note-mlx90614-changing-emissivity-setting

放射率が分かっていればこの関係式を使って測定対象の温度に変換することができます。

実際の表面の放射率は分からないことが多いので、熱電対等で実測して赤外線センサーでの測定値がその値を示すように放射率で調整する使い方になるようです。

 

2017.08.15

「おしゃべり伝言パック」を組み立てる会(2017年2月18日)

— 難しいことは置いといて、電子工作を始めよう —
電子工作 冬のイベント(2月18日土曜日)@オガール2階
<<事前申し込みが必要です。>>
オガールのITサポートまで直接申し込みに来ていただくか、下記までメールをお願いします。
info@go-forward-japan.org
会費は1000円の予定です。出来上がった「おしゃべり伝言パック」は持ち帰って活用してください。

ベースはサウンドボトルです。マイクを取り外すのは難しいのでパックを開けて録音します。

サウンドボトルの記事と重複しますが、部品リストを書いておきます。
ISD1820 音声録音再生モジュール
Arduino Nano互換機
超音波距離センサー
USBポート付き充電用電池ボックス(100円ショップのCan Do(キャンドゥ))
USB(Mini-B)ケーブル
ブレッドボード
ワイヤー、ピン、ランチパック
中国直送は春節の影響なのか軒並み在庫なしの表示(170125現在)です。私が注文した分は発送済みなので来週届く予定です、多分。

ランチパックにしたのは中の構造が見えると楽しい気がするからです。加工が楽で値段が安くて言うことなしです。

組み立て終わって一通り楽しんだら、レーザーカッターでケースを自作する楽しみも残してあります。ケースはスピーカーボックスを兼ねますから私はバスレフ型を考えたいなと思っています。

サウンドボトル

去年購入して手をつけていなかった音声録音モジュールを使ってみたら意外に機能がしっかりしているので「お客さんが近づくと声をかける」サウンドボトルを作ってみました。ヨーグルトの空きボトルでスピーカーボックスを作ったのでしっかりした音量で再生します。音質は誰が録音したのかわかる程度に良い音です。

モジュールにはマイクがハンダ付けされていたので取り外してボトルに取り付けました。マイクを外した時に基板のパターンも剥がれて、それを修復するのに苦労しましたのであまりお勧めしません。

主な部品
ISD1820 音声録音再生モジュール 169円
Arduino Nano互換機 330円
超音波距離センサー  164円
USBポート付き充電用電池ボックス(100円ショップのCan Do(キャンドゥ))
タクトスイッチ、ブレッドボードなど

動作
タクトスイッチを押しながらマイクに向かって最長10秒録音する。物体が75cmよりも近づくと録音してある音声を再生する。

スケッチ