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"って呪文唱えるといいこと
あるかもしれませんよぅ

Comments

こんばんは。
以前、MARY-GB基板から剥ぎ取ったUP-501とAVRでロガーを作って愛用しているとご報告しました。で...

>使用してる人でモジュールのファームがAXN1.30の人は……
>検索エンジンで"150M-ITX.1139.bin"って呪文唱えるといいことあるかも

やって見ましたけど、GでもYでもねむいさんのページしか出てこないんですけど(苦笑...

..実は煽動を受けてユーロ安の折、イタリアからPA6も取り寄せたんですけど、まだ火も入れていない体たらくでです。山歩きにも行きたいです。

eNasty様、こんにちは。ねむいです。

もう少しヒントを言うと一番下のあたりにテキストファイル
が引っかかるアドレスがあって上のディレクトリをたどって
いくと…幸せになれるかもしれませんよ!?

あとファームウエアの更新の途中で電源が落ちると完全に死んで
しまいますので自己責任で臨んでください。

お忙しいところ、フォローありがとうございます。
無事、getできました。
さて、いつ幸せになろうかな...

  • eNasty
  • 2012/02/09 2:23 PM

はじめまして。
私は、ハードウェアは、まったくの素人です。ですが、市販のGPSロガーは、記録時間(1日位)が短いので、自分で作ってみようと思いました。いろいろ探しているうちに、このHPにたどり着きました。そこで、PA6CのUARTという言葉が出てきて、いろいろ調べたら、シリアル通信規格までは、分かりましたが、どのようなインターフェースなのでしょうか?
例えば、RS−232cとかですか?
今一、ピンときません。
また、UARTインターフェースの詳細な事が、載っている書物なんか、あるのでしょうか?

はし様はじめまして、ねむいです。

手間暇かけて自作するより市販品のGPSロガーと共に
モバイルブースターを携行するのが使用時間伸ばす
ための一番安価で確実な方法という元も子もない回答は
置いといて…



UARTというのは他のデバイスとデータのやり取りする為の
方法の一つ"調歩同期方式通信"を行うための装置を指し、
データを時系列にシリアル化して相手とやり取りを行います。
論理的な信号(1or0)のタイミング以外は電圧等の細かい
定義はありません。

RS232-Cは上記の決まり事も含めて実際に通信を行う時の
電圧レベルやケーブル長・コネクタ・結線などの物理的な
条件もすべて網羅した決まり事(仕様)を指します。
某CQ出版「改訂新版 パソコン・インターフェース規格入門」
に詳細が解説されておりますのでご参考に。

PA6Cの場合はLVTTLと呼ばれる電圧レベルでUARTの信号を
やり取りしています。これは+3.3Vで動作している回路に
最適化されております。

よくやる間違いがこのPA6Cを+5V系のシステムや市販の
USB-シリアル変換ケーブル等(+-10~15V)を直結してしまい
破損させてしまうことです。
"書いてある通りにやったのに壊れた"という質問をよくい
ただくのですが、深くお話を伺うと7割方の方が異なる
電圧レベルの接続による破損をやっちゃってます…。

Post a Comment








Go to top of page