目次へ

小型GPS装置によるリアルタイムのリモート位置計測および記録システム

リアルタイムの位置計測

2009年に小型のGPS記録計を用いて、経度、緯度、高度の情報を記録する手法を報告いたしました。この手法でジョギングや模型飛行機の軌跡を記録することが出来ました。 今回はGPSのデータをパソコンに無線転送し、速度や高度、位置をリアルタイムに表示することに挑戦しました。GPSがノイズに弱いために苦労しましたが、20g程度の小さな部品の位置がパソコン画面に表示された時には感動しました。XBee Proとの組み合わせで、最大1 km程度離れた人や物の追跡が出来ます。法に触れるような使い方はなさらないでください。
Last undatepd on June. 30, 2012.


全体の構成図。海水浴するクマの動きを、部屋にいるクマがリアルタイムで把握しています。

全体の手順

  1. 子機の製作=GPSとXBeeを接続します。
  2. 以下のエクセルファイルをダウンロードし、シリアル通信のCOMポート番号などを記入します。
  3. 「測定スタート」を押すと、リアルタイムで子機の場所が表示されます。

用意する部品類

今回の用途では、50m以上の距離を計測するために、XBeeはProとしました。パソコンを除く部品代の総額は1万円程度です。

  1. XBeeモジュール,2台
  2. XBee変換モジュール
  3. USB-シリアル経由XBee用データ書き込み機=受信機用(1台)
  4. GPS受信機
  5. データを表示、記録するパソコン(今回はエクセルで集計します)

接続方法

XBeeはTransparentモードで使用します。子機の入力に流れてきたシリアルのデータをそのまま親機へ伝えるモードです。設定方法は本ウェブサイトの他のページなどをご参照ください。GPSモジュールとXBeeの間の接続は2本です。Serial inとoutを交差するように接続します。

XBee Proでは電波の出力が大きいために、GPSの受信を乱しやすいようでした。(1)GPSモジュールとXBeeの距離を離す、(2)GPSが衛星を補足した後でXBeeの電源をonとする、などの工夫が必要です。下の写真の例では、スイッチを1個付けて、まずはGPSだけに電源を供給し、衛星を補足した後でXBeeの電波送信を開始する方式としました。XBeeの専用アンテナを使って距離を離せば、同時に立ちあげても動作すると思います。GPSモジュールとXBeeとの間で通信を行うために、両者の電源を3.3Vとします。XBeeの変換アダプタには電圧レギュレーターが付属しています。リチウムポリマーや単三電池3本の電源をこちらに入れ、3.3Vに変圧された出力をGPSに供給します。GPSもXBeeも消費電流が多いですので、モジュール全体の消費電流値は100-150mA程度とかなり高めです。単三電池一本を昇圧して使用した場合には5 時間程度の連続使用が可能です。

GPSモジュールの接続

  1. Pin=1, Ground==電源(電池)のマイナス側。
  2. Pin=2, Power==電源(電池)のプラス側。今回はXBeeと同じ3.3Vです。
  3. Pin=3, 未使用。
  4. Pin=4, 未使用。
  5. Pin=5, Serial IN==XBee のSerial OUT(2番端子)。
  6. Pin=6, Serial OUT==XBee のSerial IN(3番端子)。

注意点 (20130618追加)

下の写真では(電池=GPS=スイッチ=XBee)のように接続しています。XBeeの強い電波がGPSの初期位置出しに悪影響を与えるため、スイッチをoffの状態で電池を接続します。GPSが緯度経度高度を取得したら、スイッチをonとすることで、XBeeの通信を始めます。


子機。透明の熱収縮チューブで絶縁しています。25g程度です。


子機の裏側。XBeeとGPSは少し離して設置すると干渉しないようです。


受信用のXBeeとノートパソコン。(秋葉原で2万円で買いました。)

設定方法

XBeeとGPSモジュールのシリアル通信方式を以下にあわせてください。ソフトウェアは設定されてあります。GPSモジュールの出力形式はGPGGAとします。GPSモジュールの設定変更は、まずは有線で行うことを推奨します。接続にはUSBとの変換ケーブルを用います。マイコンをされている方であれば、他にも色々なUSB-シリアル変換の方法があるかと思います。

  1. シリアル通信=baud=9600, parity=N, データビット=8、ストップビット=1。
  2. GPSモジュール=GPGGA方式。

ソフトウェアの使い方

今回もエクセルのグラフ機能を使って位置を表示させるのが楽だと考え、シリアルのデータを変換するソフトウェアを作りました。以下からダウンロードしてご利用いただけます。パスワードは毎月更新する必要があります。緯度と経度の変化から移動距離を求める方法は以前の報告をご参照ください。

リモートGPS用エクセルソフトver.2-1 ダウンロード


ソフトの画面。模型飛行機用に経度、緯度、東西南北の相対位置(m)、速度、高度などを表示しています。

動作確認

動作確認は河川敷で行いました。子機を手に持ち、四角形の領域を一周しました。緯度は36度+5.096分という表示です。少し変ですが、度以外の部分は小数点付きの「分=1/60度」表示です。同様に経度は、139度26.91分、といった表示です。角度の「秒」は使われておりませんのでご注意ください。また、GPSで表示される時間は、世界標準時ですので、日本時間に合わせるには時差を加えてください。

以下に記録を示します。データのドリフトが多少あり、停止していても、微妙に動いているように記録されています。最後の桁まで測定が出来ていますので、分解能は0.0001分=15cm 程度となっています。高さは誤差が大きいようです。


緯度、経度の記録、0.001分、約1.5m程度の誤差が生じています。


緯度、経度から換算した東西南北への距離。


高さのデータ。平地で測定しましたので、5m程度の誤差が出ていることがわかります。
もう少し電波の安定を待てば、精度が上がると思われます。

まとめ

小さい部品の空間的な位置がリアルタイムで表示されるのは面白いです。模型飛行機に限らず、鳥や動物の運動の記録などに使えるかと思います。ご活用ください!


初めてのトライの時にはネットの情報より書籍が役に立ちますよね。

[当日出荷][送料無料]温度2チャンネルのコンパクトデータロガおんどとり 表示付温度データロガ...

[当日出荷][送料無料]温度2チャンネルのコンパクトデータロガおんどとり 表示付温度データロガ...
価格:24,738円(税込、送料込)

〈 Arduino 〉XBee Shield V1.1

〈 Arduino 〉XBee Shield V1.1
価格:1,502円(税込、送料別)


戸田よろず研究所トップページへ

ここで公開するアイデア/装置は安全性を保障しておりません。用途に応じた設計を行い、十分な安全検査を行ってからご利用ください。本サイトの情報の営利目的での利用はご遠慮ください。本サイトの内容の無断転載を禁じます。© 2012 TYK