「センサーの値を遠くまで届ける」をテーマにした新シリーズの第2回。第1回で薪ストーブに取り付けた熱電対センサーについて、その測定値を安価な電線を使って10m程度離れた距離からアナログメーターで確認できるようにする。
「センサーの値を遠くまで届ける」をテーマにした新シリーズの第2回です。前回は、薪ストーブに熱電対センサーを取り付け、温度変化を測定できることを確認しました。
さて、薪ストーブに取り付けたこの熱電対センサーの測定値は、ある程度距離が離れた場所で確認したいのではないでしょうか。そもそも、PCなどの電子機器を薪ストーブのそばで使うのはあまりおすすめできませんよね。そこで今回は、熱電対センサーの測定値を基に電圧を使って温度を表示できるようにしつつ、家庭用電灯線コードと同じ安価な電線でより遠くまで伝送したいと思います。
前回紹介したシステム構成では、USBケーブルの長さ程度の距離までしか測定値を伝送できませんでした。今回は、安価な電線を使って10m程度離れた距離から熱電対センサーの測定値を確認できます。
図1に、今回の測定システムの概要を示します。
熱電対センサーの測定値をMAX6675モジュールを用いて温度データに変換した後、SPIというインタフェースを介してArduinoに渡すところまでは前回のシステム構成と同じです。前回はこの後、仮想シリアルポートを使ってPCにそのまま温度データを渡していました。今回は、温度データを電圧に変換してからRC回路で波形を整形し、電線を通じてアナログメーターに表示させます。
Arduinoでアナログ電圧を出力するためにはanalogWriteという関数を使います。第1引数にはアナログ電圧を出力するポートを指定します。アナログ出力が使えるポートはArduinoによって異なりますのでお使いのボードの仕様書で確かめてください。ちなみに、本記事で使っているArduino NanoのようにATmega328Pを搭載しているArduinoボードでは、デジタルピン3、5、6、9、10、11でこの機能が使えます。
第2引数はデューティ比として0〜255の値を指定します。0ではGNDに近い電圧を、255では電源電圧に近い電圧を出力します。電圧を生成する仕組みはPWMという方法を使います。PWMについては以下の過去記事を参照してください。
そのままですと、PWMの生の波形がそのまま出てきますのでRC回路である程度滑らかにする必要があります(図2)。RC回路については、本連載をはじめこれまでの筆者の記事でも何度か登場していますね。
オシロスコープなど反応速度が速いデバイスを対象とする場合はRC回路で波形を整形する必要があります。ただし、今回対象となるアナログメーターは、オシロスコープなどと比べて変化の速い信号に鈍感なので、RC回路を省いたとしてもある程度期待通りの動作をしてくれるでしょう。
図3に今回用いるアナログメーターを示します。
これはVUメーターといわれるもので、オーディオ機器の信号の大きさをモニターできます。以前に十数個のアナログメーターをまとめていくらという感じでオークションサイトで購入したのですが、そのうちの1つです。端子に付属していた抵抗はラグ板に使われているのをよく見かけるので、真空管式のオーディオ機器で使われていたのではないかと推察します。
Copyright © ITmedia, Inc. All Rights Reserved.
組み込み開発の記事ランキング
コーナーリンク