Arduino用のセンサーの最近のブログ記事

小型LCD、Arduino、K型熱電対を接続する(2)
 スイッチサイエンスのオリジナル商品のMAX6675K型熱電対温度センサ(SPI接続)で測定したデータを、超小型LCDディスプレイに表示します。

 熱電対ですので1000℃以上の測定ができます。チャッカマンの炎の温度を測ってみました。

adr540015.jpg

小型LCD、Arduino、K型熱電対を接続する
  LCDのモジュールは、Arduinoのボードに直接取り付けるには、少し大きいので、いつもの通り蒲簿の板に取り付けようとしました。あいにく蒲鉾の板では幅が少し足りないので、120mm×120mmの板に取り付けることにしました。

 材料を次に示します。板は120mm×920mm×13mmのホーム・センタで購入したファルタカの板を切断しました。LCDモジュールとマイコン・ボードをステンレスのカラー木ネジで止めます。

adr530010.jpg

ローストビーフの内部温度のモニタ結果
 前回、スイッチサイエンスのオリジナルのK型熱電対センサ・モジュールを利用して、焼き過ぎないようにローストビーフの内部の温度をモニタしながら焼いてみました。

 結果は、次に示すように概ね目的を達したようです。


adr490010.jpg

シース熱電対を接続する
   スイッチサイエンスのキットに添付されていた熱電対に代えて、次に示すような、ステンレスのシース(保護カバー)熱電対を用意します。このシースは外径が1mmφの物を使用しています。シースの長さは1mの物を購入しましたが少し長すぎました。50cm位の方が扱い易くなります。ステンレスのシースの部分は650℃まで対応できますが、スリーブの部分がエポキシ樹脂でできているため100℃以上には曝さないようにということでシースが1mと少し長めの物を購入しました。

adr480010.jpg

 

スケッチの準備
   前回でハードウェアの準備は一応完了しました。今回はスケッチを用意して実際の温度測定を行います。スケッチはスイッチサイエンスで用意してあるサンプルのスケッチをそのまま使用します。
 スケッチおよび導入方法は、このスイッチサイエンスのWebに詳しく載っています。その手順に従って、インストールしました。

MAX6675からSPIでデータ受信
   熱電対制御ICのMAX6675からは温度として計測されたデータは、SPI(Serial Peripheral Interface)と呼ばれる次に示す4本の信号線を用いたシリアル通信方式でやりとりされます。

SCK(Serial Clock)     マスタ・スレーブ間のシリアルデータの送受信のためのクロック
MISO(Master In Slave Out) スレーブから出力され、マスタに入力されるデータが
                                          送受信される信号線
MOSI(Master Out Slave In) マスタから出力されスレーブに入力されるデータが
                                           送受信される信号線
SS(Slave Select)            複数のスレーブが接続されている時にスレーブを選択する
                 ための信号線。マスタとスレーブが一対一の時は配線を
                 省略することもできる。

 MAX6675の通信のための信号線はSO(MISO)、/CS(SS)、SCKの三種類で、MOSIのマスタからMAX6675へデータを送信する信号線が用意されていません。
 今回は、ArduinoとMAX6675との間だけの通信ですのでSCK、MISO、MOSI、SSの4本の信号線はArduinoのディジタル・ポート13番(SCK)、12番(MISO)、11番(MOSI)、10番(SS)に接続されています。

K型熱電対
 150℃くらいまではLM35DZの半導体温度センサがあります。今回はオーブンの内部温度の測定を想定しています。そのため、200から300℃くらいの高温の温度測定が必要になります。
 このような高温の温度測定には熱電対(ねつでんつい)がよく利用されます。タイミングよくスイッチサイエンスからこのK型熱電対センサ・モジュール・キットが発売されました。このセンサ・モジュール・キットを利用することで目的が達成できそうです。

K型熱電対センサ・モジュール・キット
 スイッチサイエンス社のK型熱電対センサ・モジュール・キットには、MAXIMのMAX6675と基板、電源バイパス・コンデンサ、K型熱電対用コネクタ、熱電対センサがセットになっています。
 MAX6675は冷接点補償熱電対/ディジタ・ルコンバータICで、熱電対からの信号電圧をディジタル変換してSPIのシリアル信号で送出します。Arduinoのディジタル・ポート8から13を利用してMAX6675に電源を供給し、温度測定結果をSPIのシリアル通信で受信してPCのArduino IDEのモニタに測定結果を送出するサンプルが用意されています。
 完成したものをArduino Duemilanoveに接続したようすを次に示します。

adr460010.jpg

計算の精度
  スケッチで扱う変数の種類により、表現できる数値の上限と下限が決まります。計算途中で上下限の範囲を超えると正しい結果が得られなくなります。
 今回の例では、アナログ入力の基準電圧をmV単位の値でvref=1100と設定しています。LM35DZのセンサからの入力は0から1023までの値となります。室温が20℃くらいだとするとセンサからの出力電圧は200mVになります。アナログ入力ポートから読み取られた値はおおよそt0=186となります。

湿度の測定
 今回、LM35DZを二つ使用して乾湿球湿度計を作ります。アウグスト乾湿球湿度計は単に乾湿球湿度計と呼ばれ、小学校で湿度の測定に使用したものです。今回の測定では1、2%の湿度の誤差は無視できますので二つLM35DZの温度センサを並べ、一方のセンサにガーゼを巻き水に浸します。LM35DZを使用した乾湿球湿度計を作ります。

adr350010.jpg

温度のモニタ

 前回追加したセンサを含めて、5か所の温度経過が測定できるようになりました。今回このセンサを利用して、蒸篭内の温度分布と時間経過に伴う変化の様子を調べてみます。


  t1 : 蒸篭の底の蒸気の吹き出し口から蒸気を発生するステンレスのなべに
      センサを差し込み、なべで発生する蒸気の温度を測定します。
  t2 : 蒸篭のすだれの下の蒸気だまりの温度
  t3 : 蒸篭に入れた米のすだれに近い底の中心部分に差し込む
  t4 : 蒸篭に入れた米の上部の中心部分、センサが隠れるくらいだけ差し込む
  t5 : 蒸篭に入れた米の上部の中心から一番遠い角の温度をはかる、センサが
      隠れるくらいだけ差し込む

 お米は、スーパーで購入した茨城産のコシヒカリ2.5kgを一晩、水に浸して、2時間くらいざるに上げたものを使用します。

Tera Termを起動しログを開始する
  ArduinoはUSBケーブルを接続すると、温度の計測を開始します。Tera Termを起動すると測定データを受信することができます。ファイル>ログを選択し、ログを保存するファイルを設定すると、次に示すログを制御するウィンドウが開きログが開始されます。

adr340010.jpg

温度計の追加
  Arduinoでは、アナログ入力が6ポートまで設定できます。この後行う麹の培養管理では、湿度の管理も行います。そのため、湿度を測定する必要があります。湿度センサも多く開発され発売されていますが、数百円で湿度を直読できるものはまだ見当たりません。そのため、小学校の気象観測で測定した乾湿球湿度計をLM35DZで用意して、Ardunoで湿度を評価することにします。
 前回までに、3ポートLM35DZが接続されていたものに、新たに2ポートのLM35DZを追加しました。

コネクタをB3B XH3(日本圧着端子)に変更
  今回コネクタを、日本圧着端子 B3B-XHに変更し、以前より抜けにくいものにしました。少し抜き差しが大変になりますが、しっかり固定されます。

adr330010.jpg

カテゴリ

このアーカイブについて

このページには、過去に書かれたブログ記事のうちArduino用のセンサーカテゴリに属しているものが含まれています。

前のカテゴリはArduino使うための準備です。

次のカテゴリはLCDの接続です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログのライセンスは クリエイティブ・コモンズライセンス.