GPSロガーの構成について② 「GPSモジュール」

GPSモジュール

GPSモジュールにはu-bloxのM8NやM9Nを使っています。

現在は、M9Nがメインです。

(写真のモジュールはまだ加工前です。)

f:id:stdgarage:20211111214444j:plain

Cold状態からの衛星捕捉が若干早いのがお気に入りです。

アンテナ付きのモジュールを使うようにしています。

f:id:stdgarage:20211111214452j:plain

M5StickC本体のノイズを拾わないようにという妄想からです(笑)

ケースは3Dプリンタで作成してます。

f:id:stdgarage:20211111214436j:plain

接続

これをNSF100のリヤシートに付けてます。

GPSモジュールとM5StickCはSerialでつないでます。

理由は大きく2つで、

  1. I2Cよりも単位時間あたりの情報量を多くできる
  2. 接続ケーブルをより長くできる

です。

2については、現在のマウント位置の都合も多く影響してまして、

  • M5StickCはトップブリッジ側
  • GPSモジュールはシートカウルの後部

な為、I2Cでは転送エラーが頻発することを嫌って、のことです。

GPSモジュールの設定

GPSモジュールはubloxの製品なので、u-centerが利用可能です。

www.u-blox.com

u-centerの使い方は追って記載しますが、

現在の設定は以下のような感じです。

モジュールからの出力は一般的なNMEAではなく、UBXを利用してます。

基本設定
  1.  UBX>CFG>RATE
      Measurement Periodを100msに設定。
  2.  必要なUBX: NAV-PVT(位置情報), NAV-SAT(衛星情報), CFG-PMS
  3.  UBX>CFG>PMS
     電力設定。Full-Power or Balanced.
  4. UBX>MON>VER(Version)
  5. UBX>CFG>PRT
     出力プロトコルを設定(UBX)
  6. UBX>CFG>GNSS
     使用するGNSSを選択。QZSSのEnableをON
  7. UBX>CFG>MSG
     NAV-PVT(位置情報)        1
     NAV-SAT(衛星情報)        10

などです。詳細は追って書きますが、

  • 位置情報は10Hz(100msごと)
  • 衛星に関する情報は1Hz(1secごと)

としています。M9Nは20Hzなども可能だったと思いますが(曖昧)、走行ログのファイルサイズが無駄に大きくなるため10Hzで様子を見ている感じです。

NMEAではなくUBXを利用している理由は2つ

  1. UBXはバイナリデータな為、NMEA(テキスト)よりデータサイズが小さい
  2. データのパース処理が簡単(乱暴に言えばmemcpyだけで読込が完了してしまう)

です。

プログラムの話なども、需要があれば今後書きます。

GPSロガーの構成について①

 

何回かに分けて、現状の構成を載せていきます。

まず構成を図にしてみました。

構成図

f:id:stdgarage:20211109193856p:plain

構成図
  • 黄色 バイクにセンサー類を取り付けます。
  • オレンジ センサーからの情報を取得しBluetoothで送信します。
  • 緑色  Android用アプリでラップタイム確認やログ保存を行います。

M5StickC(Plus)


f:id:stdgarage:20211109194118p:plain

各回路の制御にはArduinoベースのM5StickC Plusを使っています。

 

f:id:stdgarage:20211109205730j:plain

黒いのはマウント用のケースです。3Dプリンタ(PETG、ABS、ASA)で作成しています。

センサー接続用のHAT(回転数、エンジン温度)も自作です。

f:id:stdgarage:20211109205738j:plain

HATとの接続はこんな感じ。

こんな感じで動作します。

youtu.be

GPSモジュール

f:id:stdgarage:20211109205720j:plain

基板丸出しのモジュールを使い、3Dプリンタでケースを作って中に納めます。