August 24, 2007

XBeeはじめました

無線環境が必要になってきたのでZigBeeを導入しようとしています。小型であること、調達が容易であること、国内で認証を取っていることが決めてとなり、XBee / XBee Proというmaxstreamの製品を利用することにしました。調達のし易さについては、Digi-KeyRSコンポーネンツで買えます。認証についても多少触れておくと、出力が大きく遠距離まで届くProの方は、国内ではフルパワーでは使わないよう注意書きがある少し面白い状況です。

まだZigBeeの何たるかを習得していないのですが、とりあえずPCと接続して実験しようと考えています。購入した開発キットにはPCと接続して動作を確認するための開発ボードが2枚ついてくるのですが、片方がUSB接続なのにもう片方がシリアルポート接続と、いけていない状況です。ノートPCで利用しようと思うと、USBシリアル変換ケーブルを別途用意する必要があり面倒なので、オリジナルXBee USB接続ボードを作ることにしました。また、せっかくなので、郊外での実験の際はできる限り荷物を減らしたいということもあり、接続の機能のみを実現したできるだけ小さなものを作ってみることにしました。

XBee_bridge_brd_top.gifXBee_bridge_brd_bottom.gif

できあがりはこのような感じになりました。いちおう公開されている本家の開発ボードの回路図(PDF)を元におこした図面なので動作はすると思いますが、まだ基板の発注すら行っていないので動くかどうかはわかりません(笑)。なお、部品の調達には配慮して、秋月と千石で売っているもののみで組み立てられるようにしました。

恒例のEagle回路図レイアウトをおいておきます。(※バグ修正前、以下参照)

※その後、バグが発見されました(2007/10/25)。申し訳ありません。
バグの内容ですが、XBeeの5番ピン(-RESET)にいれるのはCBUS3(デフォルトでは-PWRENの機能)ではなく、CBUS4(同じく-SLEEP)でなければなりませんでした。これではXBeeにずっとRESETが掛かっていることになってしまいます。設計の時点で負論理であることを勘違いしていた可能性が大です。

修正方法ですが、物理的にジャンパでCBUS3とCBUS4を入れ替えても良いのですが、CBUSnの機能は内部EEPROMによって定義され、FTDIの無償ユーティリティMProgによって書き換えが可能なので、そちらでソフトウェア的に修正しました。MProgに書き込む内容は以下のとおりです。

XBeeAdapter_modify.png
赤丸部分が問題の箇所。

CBUS3とCBUS4の機能を入れ替えました。これで無事動作しています。
なお上記のバグを物理的に修正した基板データ(回路図レイアウト)もおいておきます。

なお、できあがりはこのような感じです。

XBee_bridge.jpg

コンパクトで給電もUSBからされるので重宝しています。

22:59 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | この記事をdel.icio.usでブックマーク | トラックバック
このエントリーのトラックバックURL: http://fenrir.naruoka.org/mt/mt-tb.cgi/588
コメント
コメントする









名前、アドレスを登録しますか?
(次回以降コメント入力が楽になります)
  • 匿名でのコメントは受け付けておりません。
  • 名前(ハンドル名可)とメールアドレスは必ず入力してください。
  • メールアドレスを表示されたくないときはURLも必ず記入してください。
  • コメント欄でHTMLタグは使用できません。
  • コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
  • コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。