GPSを試用する6

20230816追:
最強のGNSSモジュールSAM-M10Qをゲットせよ!
20230816追:




今年に入ってからGARMIN社のGPSレシーバーについにQZSS/GLONASS対応の機種が
出てきました!みちびき(QZSS)ではGPS補完信号のみ対応とのことですが、頭上にGPS
衛星がひとつ増えるというのは心強いことだと思います。
ねむいさんもがーみんほしい…

さて、去年11月下旬以来私の方もみちびき対応のGPSモジュールPA6CをSTM32Primer2
を使ったGPSロガーの心臓部として使用しています。そして厳しい環境で功徳の実証を
重ねて市販品ロガーよりダンチな性能が出るのを確認してきました。そして私のぶろぐを
見て購入される方も沢山いらっしゃるようなので、使用に当たってのTips等を今一度
お伝えしたいと思います。UP-501等他モジュールを使用されている方も一般的な部分が
多いと思うので参考にしてください!
※PC上ソフトウエアはWindowsXP/64bit版Win7の使用を想定しています。


●PA6Cにメイン電源(VCC)を供給する
一見簡単そうに見えてまともに動かそうとなると非常に難しいです。
ブレッドボード上でプロトタイピング的なつなぐだけな使い方をすると
全く性能が生かせません。
GPSモジュールはGHz帯のレシーバーでもあるのでノイズ対策を十分考慮
した電源周りの構築をしなければなりません。

Gtop社が提供しているPA6Cのデータシートには推奨動作条件としてVCCの
リップル許容値や高周波ノイズを食い止める電源ラインのフィルタ回路例
などがわかり易く提示されていますのでこれを参考にユニットを作成すると
よいでしょう。
UP-501やPA6Cは単体の消費電流が低いのでまだ影響は少ないのですがGT-723F
等を使用しているときは初回補足時に80mA程間欠的に消費されます。
このときVCC,GND周りの配線がAWG26番以下の細い電線で15cm以上長く引き伸ばす
ような貧弱な配線を行っていると自分でノイズをまき散らして受信を阻害し、
10分近く待っても補足できないなんてことになります。
ハードウエアにあまり詳しくない人が引っ掛かりやすい点です。

GPSモジュールを使用するシステムの基板上に実装して一体となるのが一番
ノイズを抑えられる手法ですが、後付けの場合でどうしてもというときは
太く・短く・モジュールのVCC直前にデカップリング&フィルタ回路を置くように
しましょう。


↑私もこんな風に差し替え可能なようにユニット化しています。
 メッシュアース基板や1005サイズのSMD受動部品を利用して少面積で作り、
 引き出す電源線はAWG22番線を使用しています。こちらも参考に。


また、世代が進むにつれて使用できるVCCの電圧上限も下がってきています。
UP-501やPA6Cはリチウムイオン/リチウムポリマー2次電池が使用されたモバイル
機器上で動かすことを想定されているため上限が+4.2Vとなっています。
うっかり+5V系のシステムで使わないように気を付けましょう。特にAVRマイコン等
+5Vで動くマイコンで絶対にUARTのTxを直接しないようにしてください。
モジュールが異常発熱したり最悪即死します。


●PA6Cにバックアップ電源(VBAT)を供給する

なぜか見落とされがちな箇所ですがこれも超重要なファクターです。
PA6C・UP501にVbat端子が存在し、常に電源を供給し続けることによりアルマ
ナック・エフェメリスといったGPS補足追跡のためのデータやボーレートや
インターバルなどモジュールの基本動作にかかわる設定を保持し続けます。
解放していてもモジュールとしては動作しますがこの状態だといったんVCCを
切ると設定が全部失われ始めから補足し直し・設定し直しとなってしまいます。
特に単体動作の時はいったんVCCが落ちると何もできなくなってしまうので
VBATは常に電源を供給するようにしておきましょう。


一般的にuAオーダーの消費電流なのでVCCとは独立したコイン電池等でバック
アップしておくとよいでしょう。リポバッテリーなどを使用してるモバイル機器の
場合は電池の出力からじかに1kohm程度の抵抗を直列に介してVbatに繋げ、コイン
電池の代わりにする方法もアリです(私の自作GPSロガーでやってる方法です)。


●PA6Cと通信する

UP-501やPA6C等の新世代のモジュールはモバイル機器に組み込まれるような
使い方を想定されているため、I/OのレベルがLVTTLのみとなっています。
GT-723FはRS232Cの電圧レベルも出てますがその分中でチャージポンプが動いて
るので電流消費がでかいというわけです。ちなみに+5Vトレラントではないので
+5V系のシステムとじかに繋ぐとモジュール内部の入出力バッファが破壊されて
即死します。横着せずにLVTTLの電圧レベルを守りましょう。

また通信のプロトコルは一般的な8bit,ノンパリティ・1ストップビットのUARTで
ボーレートは9600bpsがデフォルト(GT-723G,UP-501も同じ)です。
GPSモジュールから垂れ流しの信号(TxD)のみでシステムを完結させるなら受信側は
RxDだけでも構いません。
ただ、後述するAGPS等の強力な機能を使用するために相互に送受信できるように
しておきましょう。


●PA6Cを設定する

Windows機を使用している方はGlobalTop社よりPA6Cの各種設定を行うとこができる
サポートツールが用意されています。Linux系な方orマイコン制御な方たちはAT
コマンド表片手にコマンドを送ってやれば同じことができます。


↑PA6C設定ツール"MT3339 PC Tool"の操作画面です。

基本的な衛星ID表示画面やPA6C(の中のMT3339)が持つ機能を設定できる項目が
あります。単体でのインターバル補足動作や超低消費電流スタンバイモードへの
移行も可能です。スタンバイモードの移行動作はたとえばガイガーカウンタと連動
してマイコン制御のモバイル記録装置で動作させるような時に有効です。



↑AGPSの設定画面です。

AGPS(AssystedGPS)とはGPSモジュールもしくはチップに内蔵された専用の
フラッシュメモリにアルマナックデータをあらかじめ書き込んで置くことに
よって電源投入直後の初回補足時間の短縮を図る機能で、悪天候・障害物遮蔽が
多い環境で効果を発揮します。なぜかこの機能を活用されていない人が多いの
ですが、ぜひとも活用しましょう!

AGPSはPA6C(14日保持)の他にGT-723F(7日保持),UP-501(14日保持)も利用
できますが、GPSモジュール内部のチップメーカーの違いで設定をするための
ツールも当然違いますのでご注意ください。
GT-723F(Venus6)の場合はGPSViewer、UP-501(MTK3329)の場合はFastraxGPSWorkBench
…はちょっと微妙なのでTransSystemsのGPSViewや有志が作ったフリーのツール
BT747、はたまた上で紹介したPA6C用"MT3339 PC Tool"でもAGPSのみですが
設定可能です。


●PA6Cを"使"ってみる

ここで述べる"使う"は単なる卓上実験ではなく各システム内にGPSモジュールを組み
込んで実際のフィールド上で"使う"という意味合いです。

ねむいさんの使用例はプロトタイピングツール(←強調)であるSTM32 Primer2と組み
合わせてGPSロガーとして使用しています。こちらは以前から何度か紹介してきまし
たが、USB-MSC(USBマスストレージ)機能に加えてUSB-CDC(USB仮想COM)機能も新たに
取り入れさらに使い勝手を上げることに成功しました。


↑各機能は電源投入直後のキー操作で分かれます。
 投入直後何もしなければSTM32のクロックも24MHzまで落とし低消費電流で
 GPSロガーモードに。
 

↑投入直後1Sec以内に左キーを押した状態を3Sec保つと、USB仮想COMモードに
なり、ホストPCとGPSモジュール間で直接データのやり取りができます。これ
 はAGPS用のデータのダウンロードやGPSモジュールの各種設定等で別に通信
 手段を用意する手間が省けて非常に便利です!


↑投入直後1Sec以内に右キーを押した状態を3Sec保つと、USBマスストレージ
 モードになりmicroSDカードに記録されたGPSのNMEAデータをPC上からファイル
 単位で簡単に取り出せられます。

MSC/CDCバルク転送のエンドポイントはもちろんダブルバッファを構成しています。
が、おかげで複合デバイスのやり方がどうしてもうまくいかなくなって電源投入時
のキー入力で機能選択する方式に落ち着きました。たぶんソース見たら分かる人は
分かると思いますが分離できなかったディスクリプタのWrapperを全部こしらえて
機能選択時に全部の関数のポインタを割り当てる(で表現正しいのかしら???)
というかなり見苦しいことをやっています。



↑外気温−2℃の猿が城跡にて…。
 STM32 Primer2ちゃんは生まれつき心臓(電源回路)が弱くシウツをしないと
 電源のON/OFFだけで電源回路中のDC-DCが死んじゃう子でしたが、ねむいさんに
 よるLDOへの無理やりなリプレース・大容量リポ電池にリプレース等の魔改造を
 施されまくり、約2年後には極寒/灼熱の環境にもびくともせずGM-316,GT-723F,
 UP-501,PA6CとメインのGPSモジュールを変遷させつつねむいさんの足跡を
 ロギングし続けるたふすぎてそんはないSTM32Primer2ちゃんが!!
 
 …それなんか違うだろって突っ込み入れられそうですがこんだけバリバリ厳しい
 環境で使いまくってますからもう十分元は取れたと実感していますが東海自然
 歩道はまだ1/3も進んでないのdおいこらにげるなせっかくだから見て行きなさい♥










おまけ
GPSモジュールUP-501(MARY-GB基板にも使用されてます)を使用
してる人でモジュールのファームがAXN1.30の人は……
検索エンジンで"150M-ITX.1139.bin"って呪文唱えるといいこと
あるかもしれませんよぅ

Go to top of page