PICマイコンを使って測定ツールを作ってみよう(6) ―― PIC12F1822を搭載したRS-485ネットワーク対応のセンサ基板を作成

中西 紫朗

tag: 組み込み 電子回路

エレキ系DIY 2011年12月 7日

 

 各センサの仕様を表1にまとめます.

 

表1 各センサ基板の仕様

 

 

 センサ基板の基本ブロック図を図6に示します.

 

図6 センサ基板のブロック図

 

 

 ブロックは,センサとOPアンプ,8ピンのPICマイコン(PIC12F1822),RS-485インターフェース・トランシーバIC(LTC485)だけのシンプルな構成です.センサ以外の部品は,秋葉原のパーツ・ショップで購入しても,500円でお釣りがきます.ユニバーサル基板で作る場合でも配線数は60本未満なので,やる気があれば自作できます.センサからの出力信号をOPアンプで増幅し,PICマイコン内蔵のA-Dコンバータ(ADC)でディジタル値に変換して,PICマイコンのUARTでLTC485に送り,RS-485ネットワークに乗せます.

 

●RS-485でセンサのデータをパソコンに転送

 RS-485は標準で12V程度の電圧を利用しますが,今回は5Vを使います.到達最長距離は短くなりますが,宅内のせいぜい20m程度の伝送であれば,まったく問題ありません.LTC485のデータシートを見ると,RS-485の規格では110kbpsの伝送速度で4000フィート(約1200m)と規定されています.1km伝送の実験は残念ながら実施する機会を得ていませんが,いつかはそういったアプリケーションにも挑戦してみたいと思っています.

 筆者がまだ駆け出しのエンジニアで,Ethernetが一般に登場したてのころ,勤務していた工場で光ファイバを使ったネットワークを設計しました.このときのファイバ・ケーブルの全長は1kmを超えていたと思います.まだパソコンが登場したばかりのころで,はなはだ不安でしたが,当時はRS-232-Cでネットワークを構築しました.いまは,宅内でも簡単にネットワークを構築できます.隔世の感があります.

 通信プロトコルは,本連載の中でマルチインターフェースPICマイコン基板向けに作成したものを流用します(図7).ソース・コードについてはUSB_COMMからUSB部分を除き,COMM_RS-485として作り直しました.LCD表示の分がないので,すっきりしていると思います.UART処理が中心になるので,今回はタイマ処理も割愛しました.ネットワークの基本思想である「時間フレームでの均等化」ということには反しますが,今回は,実現しやすさ優先で,動作モデルを考えました.

 

図7 RS-485の通信プロトコル

 

 

 マルチインターフェースPICマイコン基板は,センサ基板へデータの送出コマンドを送ります.このトリガは,マルチインターフェースPICマイコン基板に接続したパソコンのVB(Visual Basic)を利用して実現します.VBの画面から各センサ基板に向けてデータ読み出しコマンド(READ)が送られます.このコマンドを受けたセンサ基板は,A-Dコンバータで変換したデータをマルチインターフェースPICマイコン基板に返します.マルチインターフェースPICマイコン基板では,それをUSBを介してパソコンのVBに渡します.

 今回は,1個のデータだけを個別に収集しますが,ネットワークの状況やパソコンの使用状況により,すぐにデータを受け取れなかったり,送出できなかったりする場合があります.このようなときは,センサ基板内部にある程度,データをためておき,ネットワークに送出できるようになった時点でまとめて送る,という方法もあります.また,センサ基板が電池動作の場合,できるだけSLEEPモードで寝かしておき,必要なときだけ起こして送信させる,という方法もあります.このような場合も,データをまとめて送る機能は重要です.

 

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日