GPSロガーの構成について② 「GPSモジュール」
GPSモジュール
GPSモジュールにはu-bloxのM8NやM9Nを使っています。
現在は、M9Nがメインです。
(写真のモジュールはまだ加工前です。)
Cold状態からの衛星捕捉が若干早いのがお気に入りです。
アンテナ付きのモジュールを使うようにしています。
M5StickC本体のノイズを拾わないようにという妄想からです(笑)
ケースは3Dプリンタで作成してます。
接続
これをNSF100のリヤシートに付けてます。
GPSモジュールとM5StickCはSerialでつないでます。
理由は大きく2つで、
- I2Cよりも単位時間あたりの情報量を多くできる
- 接続ケーブルをより長くできる
です。
2については、現在のマウント位置の都合も多く影響してまして、
- M5StickCはトップブリッジ側
- GPSモジュールはシートカウルの後部
な為、I2Cでは転送エラーが頻発することを嫌って、のことです。
GPSモジュールの設定
GPSモジュールはubloxの製品なので、u-centerが利用可能です。
u-centerの使い方は追って記載しますが、
現在の設定は以下のような感じです。
モジュールからの出力は一般的なNMEAではなく、UBXを利用してます。
基本設定
- UBX>CFG>RATE
Measurement Periodを100msに設定。 - 必要なUBX: NAV-PVT(位置情報), NAV-SAT(衛星情報), CFG-PMS
- UBX>CFG>PMS
電力設定。Full-Power or Balanced. - UBX>MON>VER(Version)
- UBX>CFG>PRT
出力プロトコルを設定(UBX) - UBX>CFG>GNSS
使用するGNSSを選択。QZSSのEnableをON - UBX>CFG>MSG
NAV-PVT(位置情報) 1
NAV-SAT(衛星情報) 10
などです。詳細は追って書きますが、
- 位置情報は10Hz(100msごと)
- 衛星に関する情報は1Hz(1secごと)
としています。M9Nは20Hzなども可能だったと思いますが(曖昧)、走行ログのファイルサイズが無駄に大きくなるため10Hzで様子を見ている感じです。
NMEAではなくUBXを利用している理由は2つ
- UBXはバイナリデータな為、NMEA(テキスト)よりデータサイズが小さい
- データのパース処理が簡単(乱暴に言えばmemcpyだけで読込が完了してしまう)
です。
プログラムの話なども、需要があれば今後書きます。