08-16-2017 07:49 AM
赤外線温度センサは赤外線を受光するメンブレンの微小な温度変化を、ちょっと想像できませんが、多数の熱電対で測定するものだと聞きます。MEMS技術によりコンパクトに、安価に、使いやすいセンサーになっています。
デジタル通信で測定値にアクセスできるのがこのセンサーを使う上での手軽さの肝で、Arduinoを仲介してPCにつなげると安いし楽だと思います。
「ArduinoはCでプログラムを書かないといけないんですよね。」と、ちょっと敷居を感じている言葉が先日のMaker Faire Tokyo 2017の来場者から聞きましたが、センサーのデータを取り込んで、PCに伝えるのがArduinoの役割と割り切れば、使わなければならないC言語もかなり限定的です。
赤外線センサーで使うArduinoプログラムも、こんなものかと思うほど簡単なものです、ということで、リストを載せてみます。
----------------------------------------
// ***************************************************
// MLX90614 Temp Sensor library by Adafruit Industries.
// ***************************************************
#include <Wire.h>
#include <Adafruit_MLX90614.h>//MLX90614 Temp Sensor library
Adafruit_MLX90614 mlx = Adafruit_MLX90614();//by Adafruit Industries
void setup() {
Serial.begin(9600);
Serial.println("irSensor");
mlx.begin();
}
void loop() {
float temp0=mlx.readAmbientTempC();
float temp1=mlx.readObjectTempC();
Serial.print(temp0);
Serial.print(",");
Serial.println(temp1);
delay(100);
}
----------------------------------------
センサーのライブラリで提供されているサンプルをシンプルにしただけです。
PCのCOMポートには測定値がどんどん送られてきます。
LabVIEWで受け取るだけでOKなんて、手軽な時代です。
サブVIにした放射率補正の関数です。
測定対象から放射される赤外線の量で温度を推定しようというセンサーですから、測定対象の放射率が低ければ実際の表面温度よりも低い値が出力されます。測定対象は「理想的な黒体(放射率=1.0)」だとみなして、センサーは温度を出力しますが、現実は0と1のどこかにあるので、「温度を測ります」といってもかなりいい加減な代物かもしれません。
「離れたところで温度が測れる。」、「反応が速い。」という利点にどの程度魅力を感じるかということでしょうか? 魅力を感じるのであれば、熱電対をつけて熱電対の測定値を正しいものとして、赤外線温度センサを校正する手間をかけてお釣りがくるか、どうか?
測定対象の放射率をあれこれ変えてみて補正後の赤外線センサの出力と熱電対の測定値が一番近い値を「測定対象の放射率」として使うというもののようです。
ArduinoのプログラムとLabVIEWのVIを添付しましたのでご活用ください。
Arduino(互換機ですが)はAmazonで500円以下で購入できますし、赤外線センサーはAmazonで700円ぐらいなので、遊んでみて何処かに使えないかなと考えるのも良いのではないでしょうか。
(2017.8.16)推敲中
08-17-2017 02:48 AM
おおはしです。
何かの拍子で「ohashi」では入れなくなったので、今後「おおはし」でアクセスすることになると思います。同一人物ですのでよろしくお願いします。
この記事は推敲中だったのですが、編集ができませんのでこれで完了とします。
センサー名はMelexis MLX90614で、Arduinoだけで完結する記事としては
http://keisoku-lab.mond.jp/2017/08/13/赤外線温度計を作ろう/
を参考にしてください。