XBeeネットカメラを組み立てる
前回試作したXBeeネットカメラが好調なので、実用試作をしてみました。
完成写真がこれです。本体はセブンスターを2個重ねたくらいのサイズ。なんかのオマケでもらったミニ三脚に載せてます。
まずはオシロで試作品各所の信号をチェックします。きちんと組んで実用的に使うなら、この段階で問題を修正しておかなくてはなりません。ブレットボードで作るのはあまり好きではないんですが、こう言う時は便利ですね、
その結果、致命的な欠陥が見つかりました。カメラとXBeeからのシリアル信号をダイオードORして、PICのシリアル入力としている部分で、Hレベルが2Vそこそこしかありません。いくらなんでも低すぎます。電源電圧が3.4Vくらいになるとスレショルドに達せず"1"として認識されなくなります。 回路をチェックすると、電源を切っている状態のカメラのシリアルポートが、GNDへの抵抗となって、ダイオードORのプルアップ抵抗に直列に接続、その結果、Hレベルの電圧が分圧されていることがわかりました。
そこで、PchMOSでカメラの+側をON/OFFしていたのを、NchでGND側を切るようにしました。これで電源OFFの時にカメラの回路はGNDから切り離されるので、前の問題は無くなります。
また、ダイオードORのプルアップ抵抗が大きすぎたので4.7Kに変更、ダイオードもショットキーに変更…したかったのですが、手持ちが無く、とりあえず昔懐かしいゲルマニウムダイオードを入れておきました。SD46です。これも順方向電圧降下が小さいので使えます。(でも、なんでゲルマダイオードなんか持っているんでしょう)
次に通信速度の改善です。前回の試作は38.4Kbpsで通信しています。これはカメラの電源投入時の通信速度がこれなので、それにあわせてあるからです。
今回は、PICの通信速度を動的に変えて、カメラを38.4Kbpsで初期化した後115.2Kbpsに設定し、以降XBeeとの通信もそのボーレートで行います。これでずいぶん高速化できるのでは?
試作品とPCをシリアルポートで直接接続して38.4Kbpsと115.2Kbpsを比較すると、劇的に高速になるのが確認できました。しめしめ、これはうまく行きそうです。ところが、XBeeの通信速度を115.2Kbpsに設定して無線テストすると、1~2秒ほどしか早くなりません。
いろいろ調べてみましたが、現在のうちの無線環境では、40Kbpsくらいの転送速度が関の山のようです。XBeeの通信速度は、あくまでもインターフェイスするデバイスとの速度で、XBee間の通信は、電波をどれだけぶんどれるかで決まるのですね。
ちなみに、ウチでは同じ2.4G帯の無線LANと、ブルーツゥースの無線マウス常時使用しています。
組み込みの様子はこんな感じです。ケースはタカチのSW-85、電源は単三電池2本です。この電池で4、5日間は連続で使えます。基板はブラケースにリブを立ててはめ込んであります。止めビスは使っていません。NchFETは手持ちのこれです。ゲート電圧が不足気味ですが、実測するとONした時のカメラとPICとのGNDの電位差は0.1V程度、これなら特に問題はないでしょう。
最後に回路図、ccscのプロジェクトはこれです。
回路図をダウンロード(PDF)
CCSC使用のMPLABプロジェクト「serialBridge2.zip」をダウンロード
VC#2008EEのプロジェクトは以前と同じですが、sirialPort1のプロパティを115200bpsに設定します。XBeeの通信速度も設定するのをお忘れなく。