以前、たった19ドルの920MHz 3D Radio(互換品)で何の苦労もなくCX-20のAPM2.5.5とドロイドプランナーとミッションプランナーとのテレメトリー接続が可能であった事をポストしたものです。
この3D Radio互換品は技適がないので、実際の飛行では利用できません。
ですので、ちゃんと技適があるモジュールに変更したいと考えました。
国内の920MHzのモジュールを探しましたが、ショップで入手できる技適付き製品は5kbpsまでのものしかなく、技適なしの中華製3D Radio互換品(250kbps)よりもスペックが劣る訳で、プロポと同じ2.4GHzではあるものの、ここで皆さんが推奨されているxBee-Pro ZB S2Bを注文しました。
3D Radio互換品の接続は、APM基板にあるRS232C相当のTx,Rx,GNDピンに行い、問題なく通信できていました。
xBee-Pro ZB S2Bの接続も、同様にAPM基板にあるRS232C相当のTx,Rx,GNDピンにすれば良いのかなあと思っていたのですが、過去のコメントを読んでいると、やはり、57.6kbpsどまりなのでしょうか?これではxBee-Pro ZB S2Bの1Mbpsの能力が無駄になっている様に思います。
そこで、ふと思ったのが、APMのUSBポートにUSB ドングルを経由して、xBee-Pro ZB S2Bを接続したら115.2kbpsは出るかもしれないということです。
諸先輩方はどの様にxBeeとAPMを接続されていらっしゃいますでしょうか?
・APMのRS232C相当のTx,Rx,GNDピンに接続
・USBドングル経由でAPMのUSBポートに接続
Replies
お世話になります。
Xbee-Pro ZB S2Bの設定、結構面倒ですね。
うまく接続できなかったので、てっきり壊したかと思い、再注文してしまいました。
そんなこんなで、半信半疑で、
http://toragi.cqpub.co.jp/Portals/0/backnumber/2012/12/p145.pdf
にある方法を試すと、最新のファームウェア(XBP24BZ7 20A7 - ZigBee Coordinator ATと22A7 -
XBP24BZ7 ZigBee Router ATの間)うまく繋がってしまいました。
XCTUで何のエラー表示もなく、設定変更できたかの様に見えても、書き込みがうまく行かずに、動作がおかしくなってしまう事があるという事と、XBee 5Vインターフェースアダプタを利用したのですが、アダプタのRxのピン側にプルアップ抵抗がない事に気が付くのが遅すぎたということです。
たった19ドルの920MHz 3D Radio(互換品)の様に何の設定変更もせずとも繋がってしまうテレメトリーを経験してしまうと、
ドキュメントを読まずには使えないxBeeはしきいが高いですね。
お盆休みで、一挙に進めることができました。
おかげ様で、xBeeによるテレメトリ通信がうまくいく様になり、機体(CX-20)への組み込みが完了しました。
ありがとうございます。
確かに、38.4kbpsですとエラーなく通信できている様です。
少し困っているのが、Arducopter 3.2.1-Custom (Telemetry修正済みモジュール)を導入すると今度はAnalog Sonarが動かなくなってしまうのです。
Arducopter 3.2.1を導入すると:Telemetry-NG, Analog Sonar-OK
Arducopter 3.2.1-Customを導入すると:Telemetry-OK, Analog Sonar-NG
PixHawkや3DRのAPM2.5ならTelemetryとSonar(Range Finder)を同時に利用可能なのでしょうか?
過去に情報が出ていないのですが、そもそも3DR製のPixHawkであれば、Arducopter 3.2.1の通常版(APM Plannerからインストール)されるFirmwareでもちゃんとTelemetoryが出来るのでしょうか?
そうであれば、PixHawkに買いかえたいと思います。
諸先輩方のアドバイスお願いします。
以下にCX-20におけるxBeeで正常に動作したパラメーター(Defaoultからの変更箇所)の情報を示します。
PC側
機種:XBP24BZ7 (xBee Pro S2B)
Firmware: 20A7 - ZigBee Coordinator AT
USBアダプタ: SparkFun XBeeエクスプローラUSBドングル
ソフトウェア: Mission Planner / APM Planner on Vista64
APM側
機種:XBP24BZ7 (xBee Pro S2B)
Firmware 28A7 -ZigBee End Device AT
5V-3.3Vアダプタ: スイッチサイエンス XBee 5Vインターフェースアダプタ
APM: APM 2.5.5 (CX-20)のボード上のUARTピンにxBeeを5V-3.3Vアダプタ経由で接続
ソフトウェア:Arducopter 3.2.1-Custom (Telemetry修正済みモジュール)をSERIAL1_BAUDを38に設定して使用
共通の設定
PAN ID:相手側と共通のID
DH - Destination Address High:0013A200
DL - Destination Address Low:相手側Adsress Low
BD - Baud Rate:38400
>少し困っているのが、Arducopter 3.2.1-Custom (Telemetry修正済みモジュール)を導入すると今度はAnalog Sonarが動かなくなってしまうのです。
Arducopterソース内のAPM_Config.h内でSonarの機能を無効化してしまってるのでは?
今のArducopterは,機能が増えて容量が大きくなってしまったのでAPMのROMに収めるために
いろんな機能を無効化する必要があるので,間違えてSonarも無効化してしまった可能性がありますね.
Jiro Hattori様
ESP-WROOM-02も良さそうですね。
まだ、出たばかりの様で、情報がかなり少ない様ですが、
これって、2枚買えば、テレメトリーできるものなのでしょうか?
うまくいく様でしたら、是非ともご紹介いただければと思います。
MakerFair で、"ESP-WROOM-02ピッチ変換済みモジュール《シンプル版》"を、入手しました。
技術適合品でが、他の国のように数百メートルも飛ぶのか不明です。
JDC KK様
たいへん、判り易くレスポンス頂きありがとうごじます。
xBee-Pro ZB S2Bは、57.6kbps以上ではエラーが多発しするので、Arduinoなどで、ハードウェアフロー制御やバッファ処理をさせないといけないという事ですね。
xBee-Pro ZB S2Bの実行通信速度は、もっと優れるものと思い込んでおりました。
TOCOS Liteの情報、ありがとうございました。
場合によっては、TOCOSに乗り換えも検討してみます。
Xbee-Pro ZB S2B の連続データ転送能力を測定したこたがありますが
-CTS を使用しない状態で 38.4Kまでならばエラーなく転送可能,57.6K,115.2K
では内部処理が間に合わないため,10~30% のエラーになります。
-CTS端子を見て "H"の期間はデータを止めるように制御すると 115.2Kでもエラーなく
転送できます。
XBeeスペックの1Mbps 等の表示は -CTS やAPIモード などあらゆる方法を使って
XBeeの都合に合わせた時に可能な数値で,連続した垂れ流しデータを送れるものでは
ないと思います。実測してみると とても無理な数値です。
APMのTelem信号は 割合休みなく送信されるので,連続と考える必要があると思います。
また,-CTS信号を受けるポートは無いので,残念ながら 57.6Kでもかなりのエラーが
出ていると考えられます。
MP側でエラ処理しているので,動作が飛び飛びになる現象が 割合起こるようです。
$20程度の915MHz(違法もの)を測定してみると 幾分 少ないようですが,やはり
エラーは出ます。(5~8%くらい)
XBeeが厄介なのは,PC側から送信する時の問題で,いくつかのデータ変更はある程度
出来ますが,10個程度WaypointのあるフライトプランをWriteしようとしてもきちんと
できずエラーで止まります。4Point程度ならば 何とか送れますが。
おそらく XBeeが何バイトかのデータがたまるとパケット送信する方法のため,MPとAPMの
送受信タイミングがずれてしまう問題かと思われます。
915MHzユニットでは その辺を考慮してあるのか はてまた 生でそのまま変調をかけて
送っているのか?わかりませんが うまくいっていますね。
当方は,2ポートのUARTを持っているCPUをXBeeの前に入れて,送られるデータをバッファ
し,-CTS 制御をしながら 115.2KbpsのXBee通信をしています。
また,受け側(PC側)もXbeeとUSB用ICの間は -CTS を管理しています。
ちなみに Wifi はわりと素直な送受信タイミングのようで,問題なく設定できますね。
ただし 距離が伸びない。(アンテナをいろいろといじっても 500mどまり)
また,一度通信が切れると 目の前に来るまで再開しないのが,とてもNG。
一方 TOC0S が出しているTWE は 設定がたいへん面倒だけど 57.6Kで実用になります。
でも残念ながら 現在は STRONGという10mw品は製造中止で,今後も手に入る Lite だと
やはり 500mどまりですね。(2mW品)
でもこちらは Xbeeと違い 915MHz品と同等に通信します。消費電流 18mA程度です。(3V)
レスポンスありがとうございます。
xBeeとAPMの接続は、USBドングル経由ではなく、APM基板上のUARTピンであることを理解しました。
ところで、xBeeの転送からする画像転送プロポの信号までmixして送受信可能ではないかと思うのですが、arduinoにパケット処理させたりされているかたはいらっしゃるのでしょうか?
雑誌インターフェース 2015年9月号
"100Mbps!映像も! ラズパイのワイヤレス化作戦" ですね。
http://www.kumikomi.net/interface/contents/201509.php
APMにUSB ホスト機能が、無いと思いますが。。