2016年6月21日火曜日

準天頂衛星システムみちびきを使う(中華タブレットのGPS精度向上)

 普段、カーナビやガーミンでGPSを使っていて精度に不満は無いのだが、準天頂衛星システムなる物も使って見たくなった。
 魚探内蔵のGPSも海では周囲に障害物が無いので最適な衛星を捕捉できるので精度が良いのではとは思っているが比較対象物が無いので判らない。
 秋月で準天頂衛星システム「みちびき」に対応したGPSユニットが2,200円だったので使って見ることにした。【GYSFDMAXB】

秋月のGPSユニットはこちら
http://akizukidenshi.com/catalog/g/gK-09991/

 GPSユニットを接続する端末を何にするか悩んだが電池の持ちが良いタブレットとした。Windowsのタブレットは高価だし面白みが無いのでandroidのタブレットとしました。

 手持ちのタブレットはMeMoPADと神行社のPD20がある。マイクロUSB経由でGPSユニットを動かすにはUSBホストモードでの動作が必要だが、使えるかUSBホストケーブルを使ってマウスを接続した。
 結果MeMoPADは使えない、PD20は使用可能でした。
 ちなみにUSBホストケーブルは100均(SERIA)で手に入れた。

 GPSユニットの出力はTTLレベルのシリアルインターフェースなのでUSB/シリアル変換が必要となる。変換ユニットは沢山あるがandroidで動くアプリのドライバがPL2303用なのでチップがPL2303の物を選ぼう。

 秋月ではUSBシリアル変換ケーブルのみしか扱っていないのでaitendoで販売している物を使った。
http://www.aitendo.com/product/11838
http://www.aitendo.com/product/11746
http://www.aitendo.com/product/7298

秋月ではGPSユニットを購入。【GYSFDMAXB】

早速バラックで組んで実験開始

接続は
 シリアル変換        GPSユニット       
   V5   ------------   +5V
   RX   ------------   TX
   TX   ------------   RX
   GND   -----------   GND  

        
秋月からダウンロードした専用ソフトをパソコンにインストールし上記ユニットを接続後通信速度を9,600に合わせてセッティング終了

    
PD20にはアプリとして「You Are Here GPS」をインストール。
PD20側の設定として、開発者向けオプションの「擬似ロケーションを許可」をチェックします。

 最初に組んだのはGPSユニット+USB-TTL変換 [USB-TTL2303-5P]だったのでUSB変換コードでタブレットを接続したら各ユニットのLED表示はアッサリと動作した。


 ところで悩みどころが・・PD20にはGPSユニットが内蔵されており外付けのGPSユニットと競合する恐れがあるので内蔵側を停止したいのだが方法が判らないのである。

やけくそで外部ユニットを接続し「You Are Here GPS」を起動してから、通信速度を9,600にあわせた後他のGPSアプリを確認したら内蔵側は停止している模様。
USBに外部ユニットを接続するとそちらが優先されるようです。


PDA内蔵のgoogleMAPで動作を確認したら正確な場所を表示していました。
これで実験は完了ですので、防水ケースにGPSユニットを収めましょう。


防水ケースを探して色々と物色しましたが、最終的には100均のタッパーにしました。
小型タッパーに3mmの穴を空け、マイクロUSB延長ケーブルのジャック側を切断してUSBシリアルコンバーターに直接接続します。

接続は
 マイクロ          GPS用
 USBコネクタ側       シリアル変換
   V    ----赤-----   V5(5V)
   DN   -----白-----   DN(-)
   DP   -----緑-----   DP(+)
   GND   ----黒-----   GND          
   ID   -----黄-----   ????? 

ここでハマリマシタ。
タブレットとGPSユニットをUSB接続したところ最初は動作していたのですが途中でランプ表示が消え以後動作しなくなりました。

タブレットのUSBポートが壊れたのか?
 ⇒マウス接続ではマウスが動く=【壊れていない】

USBコードが切れた?
 ⇒導通試験結果良好

パソコン接続で
 ⇒ちゃんと動作する

 結果、タブレットがホストモードとならず結果+5Vが出ていないのでGPSユニットが動作していないのでした。
 USBコネクタの黄色線をシリアル変換器のGNDに接続して正常動作となりましが、原因判明まで丸一日かかってしまいました。

 マイクロUSBコネクタ側の黄色線を浮かせても最初はホストモードとなってくれたのはケーブルが1mと長かったので不安定動作だったのでしょう。

 出来上がったGPSユニットをPD20に接続し屋外で動作検証しました。USBシリアル変換ユニットは動作時に派手に赤やら青のLEDが点滅し外を歩くと目だって気が気でありません。

 もう一つのUSBシリアル変換PL2303SAですが最小限の部品しか無くこれで動作するか不安でしたのでネットで情報を検索。たった8PINですがこれで動作するようですね。
これにUSBのDN,DPへ22Ω位の抵抗で接続すればOKのようです。

ケースは100均の乾電池USB充電アダプターを使いました。USBコネクタがそのまま使えるし
電池の幅とGPSユニットのサイズがピッタリでした。


こちらはUSBケーブルでPD20と接続します。
ケースにユニットを入れてみました。丁度全部収納できそうです。
GPSユニットが若干大きいのですが難なく収められます。

出来上がり

ロガーアプリをタブレットに入れ外で使いましたが、精度はとても良いようです。
ロガーのアプリは沢山ありますので色々と使ってみます。測定データも地図アプリで使えるので便利ですね。