Bグループ 通信系
ここでは通信系について詳しく説明します。
・通信の目的
GPSセンサと9軸センサの値をリアルタイムでパソコンで認識させ、各センサが正常に動作しているかの制御履歴の確認を行い、CanSatの現在位置と目標地点までの距離を測定するために用います。
・通信の概要
CanSatの競技大会規定より、CanSatに無線通信モジュールの搭載をしパソコンとの通信をするように定められています。これは背景に衛星(探査機)と地上局との通信目的があり、目的地到達のための制御を行えたか、制御履歴の確認を行う必要があるためです。そこで、本プロジェクトでは通信モジュールに「XBee」を用いることにしました。
・XBeeとは
XBeeは無線通信用の小型モジュールとして、屋外で最大1.2kmまでの距離を通信可能とし、CanSatの大会の多くで利用されています。小型で重量が軽く、価格も安易で無線通信の初心者でも比較的に簡単に取り扱うことが出来るモジュールです。電波法に関する無線通信技師などの資格は不要であり、消費電力がとても低く、管理や制御がしやすいのが特徴です。
・使用した部品
使用した部品名、利用用途、購入先は以下の通りです。
① XBee ZB(S2C)/ワイヤアンテナ型
→ 無線通信を行うモジュール本体。
https://www.switch-science.com/catalog/2611/
② XBeeシールド(SparkFun社製)
→ ArduinoとXBeeモジュールとの間でロジックレベル変換をしてくれる。
https://www.switch-science.com/catalog/1972/
③ XBee USBアダプターver.2
→ パソコンとの接続するために必要。
https://www.switch-science.com/catalog/3495/
→ XBeeを基板やブレッドボードに接続する際に必要。接続テストに使用しました。
https://akizukidenshi.com/catalog/g/gP-05060/
・通信の仕組み
XBee通信を行うには、XBeeを2つ用意し、Coordinator(送信側)とRouter(受信側)で使用を分けます。
★ Coordinator(送信側):ネットワークに一つ存在し、ネットワークの制御を行う端末。
★ Router(受信側):データの中継機能を持つ端末。
この設定を行うために、XBeeの本体を設定する専用ソフト(X-CTU)をパソコンにンストールし、XBeeのID登録や通信モードを設定しました。
通信モードには2通りあり、ATモードとAPIモードがあります。
★ ATモード(透過モード):シリアル通信を無線で通信する方法。
★ APIモード:APIフレームで決められた構造でデータ通信を行う方法。
今回はシンプルに無線通信が行えるATモードで通信を行いました。ATモードではArduinoのシリアルモニタに出力されたシリアル通信データをそのままXBeeが無線でパソコンにデータ送信してくれます。これにより、XBeeとArduino間でのシリアル通信データが同様であることを容易に確認することもでき、動作確認がしやすくなるメリットもあります。
・テスト実験の動画
これは実際にGPSセンサと加速度センサの値を受信したときの様子です。また、どのくらいの時間で受信を行っているかを確認するために時間経過も表示しています。
以下は、テスト実験の際にXCTUを用いて通信を行った様子です。
・最終実験の動画
最終実験では、XCTUを用いず、Tera Termを用いて通信を行いました。理由としましては、テスト実験の際に、XCTUのコンソールに表示されるデータ数に限りがあることが判明し、データ受信開始から終了まで、すべてのデータを保存することが出来ず、安定したデータ収集を得られなかったためです。また、Tera Termでは、シリアル通信を用いて、2.5秒間隔でXBeeとの通信を行い、データ受信開始から終了までのすべてのデータを保存することに成功しました。これにより、実験時の各センサ類の情報を取得・確認するとともに、実験終了後のデータ集計に利用しました。
以下は、最終実験の際にTera Termを用いて通信を行った様子です。データは計測時間と実際に取得したGPSデータの値、ローバーの向いてる方向角度、目標地点の座標と現在地の座標の差、コンテナ脱出とローバーの動きを表しています。
0コメント