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"って呪文唱えるといいこと
あるかもしれませんよぅ
-
免責・連絡先は↑のリンクを
↓SNSもやってます↓
powered by まめわざ- ARM/STM32 (116)
- OpenOCD (27)
- ARM/NxP (34)
- ARM/Cypress (5)
- ARM/Others (3)
- ARM/Raspi (1)
- AVR (13)
- FPGA (4)
- GPS/GNSS (19)
- MISC (81)
- STM8 (2)
- Wirelessなアレ (16)
- おきぱ (1)
- ブラウザベンチマーク (28)
- 日本の自然歩道 (25)
- STM32U0はぢめました
⇒ ねむい (08/07) - STM32U0はぢめました
⇒ ひかわ (07/28) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ ねむい (05/17) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ どじょりん (05/16) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ どじょりん (05/16) - いろいろ試す61(と今年の反省会)
⇒ ねむい (01/02) - いろいろ試す61(と今年の反省会)
⇒ ひかわ (01/02) - いろいろ試す61(と今年の反省会)
⇒ ひかわ (01/01) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ ねむい (12/31) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ ひかわ (12/31)
- October 2024 (1)
- September 2024 (1)
- August 2024 (1)
- July 2024 (1)
- June 2024 (1)
- May 2024 (1)
- April 2024 (1)
- March 2024 (1)
- February 2024 (2)
- January 2024 (1)
- December 2023 (4)
- November 2023 (2)
- October 2023 (2)
- September 2023 (1)
- August 2023 (2)
- July 2023 (1)
- June 2023 (2)
- May 2023 (3)
- April 2023 (1)
- March 2023 (1)
- February 2023 (1)
- January 2023 (1)
- December 2022 (2)
- November 2022 (1)
- October 2022 (1)
- September 2022 (1)
- August 2022 (1)
- July 2022 (1)
- June 2022 (1)
- May 2022 (1)
- April 2022 (1)
- March 2022 (1)
- February 2022 (1)
- January 2022 (1)
- December 2021 (2)
- November 2021 (2)
- October 2021 (1)
- September 2021 (1)
- August 2021 (1)
- July 2021 (1)
- June 2021 (1)
- May 2021 (1)
- April 2021 (1)
- March 2021 (1)
- February 2021 (1)
- January 2021 (1)
- December 2020 (3)
- November 2020 (1)
- October 2020 (1)
- September 2020 (1)
- August 2020 (1)
- July 2020 (1)
- June 2020 (2)
- May 2020 (1)
- April 2020 (1)
- March 2020 (1)
- February 2020 (1)
- January 2020 (1)
- December 2019 (3)
- November 2019 (1)
- October 2019 (1)
- September 2019 (2)
- August 2019 (1)
- July 2019 (1)
- June 2019 (1)
- May 2019 (1)
- April 2019 (1)
- March 2019 (1)
- February 2019 (1)
- January 2019 (1)
- December 2018 (3)
- November 2018 (2)
- October 2018 (1)
- September 2018 (1)
- August 2018 (1)
- July 2018 (1)
- June 2018 (1)
- May 2018 (1)
- April 2018 (2)
- March 2018 (1)
- February 2018 (1)
- January 2018 (1)
- December 2017 (2)
- November 2017 (2)
- October 2017 (1)
- September 2017 (1)
- August 2017 (1)
- July 2017 (1)
- June 2017 (1)
- May 2017 (1)
- April 2017 (1)
- March 2017 (2)
- February 2017 (2)
- January 2017 (2)
- December 2016 (7)
- November 2016 (2)
- October 2016 (2)
- September 2016 (1)
- August 2016 (1)
- July 2016 (1)
- June 2016 (1)
- May 2016 (2)
- April 2016 (1)
- March 2016 (2)
- February 2016 (1)
- January 2016 (1)
- December 2015 (3)
- November 2015 (1)
- October 2015 (3)
- September 2015 (2)
- August 2015 (2)
- July 2015 (3)
- June 2015 (3)
- May 2015 (4)
- April 2015 (2)
- March 2015 (4)
- February 2015 (1)
- January 2015 (3)
- December 2014 (3)
- November 2014 (2)
- October 2014 (1)
- September 2014 (2)
- August 2014 (2)
- July 2014 (3)
- June 2014 (2)
- May 2014 (1)
- April 2014 (1)
- March 2014 (4)
- February 2014 (4)
- January 2014 (3)
- December 2013 (5)
- November 2013 (4)
- October 2013 (3)
- September 2013 (2)
- August 2013 (2)
- July 2013 (2)
- June 2013 (3)
- May 2013 (2)
- April 2013 (2)
- March 2013 (2)
- February 2013 (2)
- January 2013 (3)
- December 2012 (4)
- November 2012 (2)
- October 2012 (2)
- September 2012 (4)
- August 2012 (1)
- July 2012 (3)
- June 2012 (2)
- May 2012 (3)
- April 2012 (3)
- March 2012 (2)
- February 2012 (3)
- January 2012 (3)
- December 2011 (5)
- November 2011 (3)
- October 2011 (2)
- September 2011 (2)
- August 2011 (2)
- July 2011 (2)
- June 2011 (2)
- May 2011 (2)
- April 2011 (2)
- March 2011 (2)
- February 2011 (2)
- January 2011 (3)
- December 2010 (7)
- November 2010 (1)
- October 2010 (1)
- September 2010 (1)
- August 2010 (3)
- July 2010 (4)
- May 2010 (1)
- April 2010 (2)
- March 2010 (2)
- February 2010 (2)
- January 2010 (3)
- December 2009 (3)
- November 2009 (8)
- October 2009 (7)
- September 2009 (5)
- August 2009 (4)
- July 2009 (6)
- June 2009 (6)
- May 2009 (14)
- January 1970 (1)
Copyright(C) B-Blog project All rights reserved.