PICマイコンを使って測定ツールを作ってみよう(5) ―― ネットワークとA-Dコンバータを利用してさまざまな場所の温度を測る
A-Dコンバータの機能は,メニューでは,電圧測定(VDC)と電流測定(ADC)で使われています.これを一定時間ごとに実行するにはタイマを使います.青色(右)のLEDを点滅させているのも,タイマで行っています.これらの開始/停止はフラグにまとめたので,このフラグの該当ビットをON/OFFすれば開始/停止が制御できます.今回はすべての設定をVBで決めており,PICマイコンにそれらの設定情報がREAD命令とともに送られてきても,何も対応しません.
現在は,事前設定式でPICマイコン基板に接続されているセンサも決めていますが,最初のPINGでこのコンフィグレーションを知ることができれば,マスタは事前に知る必要もなくなり,システムの運用もずっと楽になります.勝手にスレーブを変更しても,マスタはそれに合わせて,収集パケットのフォーマットを変更してくれるからです.大規模なセンサ・ネットワークでは必須の機能で,非常に便利です.
このPICマイコン基板には,カウンタ,RS-485モニタ,I2Cモニタ,UARTモニタ,SPIモニタ,電圧モニタ,電流モニタの各モニタ機能があります.I2CモニタとRS-485モニタは同時に使えますが,SPIモニタとI2Cモニタ,UARTモニタ,RS-485モニタは同時には使えません.RS-485モニタとUARTモニタも同時には使えません.組み合わせに制限がありますが,一応どのモニタも単独で動作します.そして,測定データをバッファに記録できます.毎回,マスタから読み出さなくても,まとめて読み出すことができます.これはネットワークが輻輳(ふくそう)しているときに役立ちます.
センサとしては,今回の温度計のほか,湿度計,AC電力計,3軸加速度計,ジャイロ,地磁気,マイク,心拍,表面抵抗,照度,赤外線,紫外線などを接続します.温度センサは非常に簡単な回路で動作しますが,次回に紹介する湿度計は,直流電源ではなく1kHzの交流電源が必要です.
画像センサも取り上げる予定です.画像センサが厄介なのは,データ量が巨大で,処理の負荷が重いことです.1秒間にVGA画像(約1Mバイト)を30枚程度送り出すので,USB 2.0では対応できません.JPEG圧縮などを適用して,データ・サイズを小さくする必要があります.そのために,高速SRAMバッファとFPGAが必要になります.当然,今の基板では対応できないので,基板の交換を行うことになります.ただし,PICマイコンや8×2文字液晶ディスプレイはその基板でも使用できるようにします.インターフェースやVBのプログラムも,できるだけ変更が少なくなるようにする予定です.
* * *
今回はA-Dコンバータを使い,温度センサの測定値をUSB経由でマスタに転送し,そのデータをホスト・パソコンに送ってグラフ表示を行うシステムを作りました.次回は湿度計を追加します.
なかにし・しろう
(有)NSL