PICマイコンを使って測定ツールを作ってみよう(3) ―― Visual BasicでPICマイコンを制御する

中西 紫朗

tag: 組み込み 電子回路

エレキ系DIY 2011年5月25日


 このプログラムでは,ラベル・オブジェクトをクリックすると,「RS485」と「組み込みセミナ」が代わる代わる表示されます.コードそのものはBASICの文法に沿って書かれているので,理解はたやすいと思います.「開始」アイコンをクリックすると実行されます.

 このように,なんとも簡単にプログラムができてしまいます.ツールには,ラベルだけでなく,文字が入力できるテキスト・オブジェクト,項目を選択できるラジオ・ボタンやチェック・ボックスがあります.これらはすでにWindowを使っていたら,使い方もご存じのものばかりです.割り込みが行えるタイマ・オブジェクトもあります.今回のRS-485による通信を行うためには,コミュニケーション(COMM)オブジェクトが必要になります.ツール・バーにはCOMMオブジェクトのアイコンがありません.こういう場合,プロジェクト・メニューの中のコンポーネントを選択し,新規にCOMMコンポーネントを導入します.ツール・メニューに新しくCOMMアイコンが追加されます(図7).

 

図7 COMMアイコンを追加する

 

 COMMオブジェクトの導入により,パソコンのCOMポートを使ったPICマイコンとの通信が行えるようになりました.ただし,VB6では使えるCOMポート番号に制限があります.COM16までしか使えません.もしPICマイコンを接続したときにCOM16以上の番号になっていれば,強制的にCOM16以下の空いている番号に割り付けます.使用中となっていても,実際に機器が接続されていなければ,その番号に割り付けられます.COMMポート番号は,コントロール・パネルからシステムを選び,デバイス・マネージャの中のポートによって設定します(図8).

 

図8 COMMポート番号を設定する

 

●PICマイコンでRS-485ネットワークを制御する

 RS-485の制御は,PIC基板内の「LTC485」で行います.差動ラインで構成されているので,+,-の2本の信号線とGNDの計3本で簡単にネットワークを実現できます.現在のネットワークの標準はEthernetですが,初期のEthernetにはRS-485と同じようにマルチドロップ・タイプのものがありました(今はハブ方式が全盛).RS-485のようなマルチドロップ形式は簡単にネットワ―クを構築できるので,小規模・低速度のネットワークにはうってつけです.

 PICマイコンから見ると,UARTを制御しているかのように見えます.ただし,出力するときと入力するときを切り替える必要があり,同時に実行することはできません.LTC485がこの制御を受けて,送信(TX)ポートか受信(RX)ポートをRS-485の差動ラインに接続します.通常は受信ポートに接続しておき,必要時に送信ポートに接続します.送信ポートに接続するときは,接続前に,今RS-485ラインが空いているかどうかをPICマイコンが確認してから接続します.マルチドロップなので,最後のノードでは,抵抗により終端します.今回はPIC基板同士を短い距離で接続するので,片方だけを終端します.

 通信プロトコルは自由に決められます.トランジスタ技術 2006年9月号の特集記事「5自由度アームつき自走ロボットの製作」ではネットワークとしてRS-485を使っており,非常に簡単なプロトコルを採用しています.例題として,これがちょうど良いと思います.

 各ノードはIDを持ち,このIDを使って互いに通信を行います.ノードには1台のマスタがあり,他のノードはこのマスタからの要求によりデータ送受を行います.要求は100msごとに送出され,スレーブの応答はこの100ms内で終了しないといけません.送られるデータの最大バイト数は256バイト以下になります.やり取りされるデータはパケットと呼ばれ,要求パケットと応答パケットがあります.それぞれのパケット・フォーマットを図9に示します.

 

図9 RS-485ネットワークのパケット・フォーマット

 

 PICマイコン用プログラムのソース・リストをリスト1(マスタ)とリスト2(スレーブ)に示します.マスタのPICマイコンでは,常にパソコンからのコマンドを待ち,コマンドが来ればそれをUARTに出力します.スレーブのPICマイコンでは,マスタのPICマイコンからのコマンドを受け取り,WRITEコマンドならデータを該当アドレスに出力します.結果を応答パケットにしてマスタに返信します.READコマンドならデータを読み出し,応答パケットにして送り返します.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日