Raspberry Piでも使いやすいGPSモジュールNEO6Mの基板で10-100kHzのPPS信号

[最終更新] 2017年9月28日

久しぶりにRaspberry Piをいじっている。今までRaspberry PiでGPSを使うときはAdafruitのUltimate GPSを使っていたのだが、これだとPPS信号が1Hzしか出せない。が、色々調べているとu-bloxシリーズのGPSならば、安価な上に1Hz以外のPPS信号を知り、今回実際に使ってみて、10kHzと100kHzを確認した。

スポンサーリンク

Raspberry Piで使いやすいとは

Raspberry Piで使いやすいGPSモジュールとは、冷静に考えるとよくわからない表現だが、つまり以下のような条件を揃えたGPSモジュールだと考えている。

  • シリアル通信によりNMEA等で情報が得られる
  • PPS信号をGPIOピンで取り込める
  • Raspberry Piを電源の供給元として使える
  • 小型
  • 安い

Windows専用のドライバやソフトウェアなしで常用できるものと言えるかもしれない。以上の条件を満たすものとして、AdafruitのUltimate GPSを使っていた(「Raspberry Pi にGPSモジュールをつけてStratum 0で時刻同期(スタンドアロン)」)。これはこれで便利だったのだが、色々調べていると、これよりも安価で、かつ1Hz以外のPPS信号が出せるu-bloxシリーズの存在を知った(PPS信号については「GPSでよくみるPPS信号とはなにか」)。このモジュールは設定の変更にはWindowsが必要なのだが、一度変更すればその設定が保たれるので、それくらいならばまぁよいだろう。

GPS受信モジュールNEO6M-ANT-4Pはまじおすすめ、現在在庫数 76: セッピーナの趣味の天文計算」の記事はたいへん参考になった。大元のNEO-6Mは、データシート(「NEO-6_DataSheet_(GPS.G6-HW-09005).pdf」)によるとPPSがTimepulseと表現され、1kHzまでとなっているのだが、実際にはそれ以上の信号が設定できて、かつ使えるものであるらしい。個人的にはとても有用な機能だ。

問題は使いやすさだが、この基板は外付けアンテナを接続しやすく、シリアル通信のpinが2.54mmピッチとアマチュアにも優しい仕様である。ただ、PPS信号を取り出すところだけはややたいへんだ。細かいハンダ付けが必要になる。糸ハンダと細いコテ先があったほうがよい。

左側が今回購入したものである。右側は今回購入しなかったが、こちらはPPS信号も2.54mmのピンヘッダから取り出せる仕様なので迷った。もちろんピンヘッダから取り出せるほうが使い勝手がよい、が、値段がちょっと高い(比較すればだが…)。

使用感

実際の使用については、トランジスタ技術2016年2月号の記事を大いに参考にさせてもらった。トランジスタ技術2016年2月号は、GPSモジュールを使ってアレコレしたい人には非常に有用な内容なので、是非入手することをお勧めする。見るたびに中古価格が微妙に値上がりしているので、買うならなるべく早めに入手しておいたほうがよいだろう(そろそろトラ技を電子で売ってもらえないだろうか…Interfaceはいつのまにか売られていたが…「Tech Village 書庫&販売 – エレクトロニクス分野の電子書籍販売サイト / CQ出版株式会社」)。

さて、今回の目的は1Hz以上のPPS信号を得ることである。初期設定では1Hzなので、設定の変更をしなくてはいけない。設定の変更には、残念ながら(?)Windowsのソフトu-centerが必要である。「u-center Windows | u-blox」からダウンロードすることができる。

GPSモジュール基板とPCの接続には、USB-シリアル変換基板ないしケーブルを挟む必要がある。トラ技の記事ではUSB-シリアル変換基板を用いていたが、PCとシリアル通信するだけならば、個人的にはUSB-TTLケーブルを使うのが一番簡便ではなかろうかと思う。

左の製品がその一例で、赤5V、黒GND、緑Tx(3.3V)、白Rx(3.3V)となっている。とはいえ、普通のケーブルではないので、変換基板を用意しておいたほうが使いやすいのはそうだろう。

接続したら、ソフトウェアを起動して設定を変更する。手順の詳細はトラ技を読むのが一番だが、ざっくりと箇条書きでまとめておく。

  1. 「Receiver」→「Port」でポートの設定
  2. 「View」→「Sky View」で衛星捕捉状況の確認
  3. 「View」→「Configulation View」→「TP5」で周波数の変更
    1. Frequency 10000Hz
    2. Duty Cycle 50%
    3. Freqency Locked, Duty Lockedを念のため合わせる
    4. Send
  4. 「Receiver」→「Action」→「Save Config」でEEPROMに書き込み

EEPROMに書き込んだ後は、電源を落としても設定を忘れずにいてくれる。

相変わらず見せる気の感じられない写真

画像は実際に使っている時のものである。右側がGPSモジュール基板。やかましい青色が、PPS信号によるLEDで、最初の設定では毎秒点滅していたのが、10kHzの設定にすると点灯状態になる。

とはいえ点灯だけではなんともわからないので(だいたい20Hzくらいから人の目ではわからなくなる)、LED前の抵抗から線を引き出して、手元にあったミニオシロのDSO nanoで見たところ、たしかに10kHzの矩形波が見られた。後日、100kHzをDS203で見たところ、若干髭があったが、でるようだ。

100kHz

とりあえず使えそう。

関連コンテンツ

関連記事

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。