title0a.gif

Memorandumの小部屋

本ページは金銭授受を伴う行為を含むAuctionや商用Web Pageからの無断リンク・無断参照を禁じます。
無断リンク・無断参照が判明した時点で然るべき処置をとらさせて頂きます。


電池ボックス電子工作(その20)

一体型いつどこGPSロガー 8(電池内蔵タイプ)

1.背景

 ATLAS GPS LOGGER AL20GPSロガー GT−740FLなどの市販品のGPSロガーは電池が内蔵されており、持ち運びをしやすくなっています。 それに対して電池ボックス電子工作(その16) いつどこGPSロガー6 の自作品はGPSセンサー部とプラットフォーム部が分離されており、可搬性が劣っていました。 そのため、ゆくゆくは市販品のように電池を内蔵した一体型のGPSロガーを自作したいと思って使えそうな部品を見つけては集めていました。

 今回、ひととおり部品が揃ったので一体型GPSロガーの製作を行いました。 本ページでは、その紹介をしたいと思います。 実は、電池ボックス電子工作(その16) いつどこGPSロガー6を使い込みすぎたせいか、USBコネクタの接触が悪くなったりしていろいろガタがきていることもあり、代替え品の製作が必要となったという背景もあります。


2.「いつどこGPSロガー8」の仕様

2.1 全体概要


2.2 「いつどこGPSロガー8」で使用した部品

 ATLAS GPS LOGGER AL20GPSロガー GT−740FLような市販品は、適切な仕様の部品面実装部品や専用プリント基板を用いますので小型化は可能です。 また、配線用電線がほとんどありませんのでパッチアンテナの周辺の空間確保も比較的容易です。
 しかし、市販品の部品を用いてユニバーサル基板で製作するとなると、一番の問題は部品の大きさとなります。 今回、「いつどこGPSロガー 8」の製作を可能にしてくれた部品を以下に紹介します。

圧電ブザー

ムラタ表面実装圧電サウンダ(トランスデューサ/圧電スピーカ/) [PKLCS1212E4001-R1]

入手先 秋月電子通商

実は最後まで残っていた問題は圧電ブザーでした。

GPSモジュール

GM−5157A

入手先 aitendo

コネクタを自作しないといけませんが、性能はGPS−74A(A)並みです。

リチウムイオン電池充電チップ

TP4057

入手先 aitendo

他のデバイスを購入していたのですが、行方不明となったのでTP4057に変更しました。

リチウムイオンポリマー電池

PRT−10718

入手先 千石電商

電池容量は何種類かありますが、10時間くらいを目指して400mAh品を利用することにしました。

ナイロンコネクタ

2mmピッチ、1.5mmピッチ

入手先 千石電商

電池のコネクタをそのまま利用できるように、2mmピッチの電池用コネクタを設けました。また、外部電源用コネクタは差し間違え防止と小型化を兼ねて1.5mmピッチとしました。

押しボタンスイッチ(SW2 Mode用)

モーメンタリー1a接点
(型式不明 一時的な入荷品)

入手先 千石電商

過去に、aitendoでPSW3Pの型番で販売していたようです。

USBコネクタ、USB−RS232Cコンバータ

FT231X USBシリアル変換モジュール

入手先 秋月電子通商


FT232RL USBシリアル変換モジュールに比べて一回り小さくなっています。

耐熱電線 SHW(より線)

7/0.08mm 錫メッキ 0.65mm

30V 80℃

入手先 千石電商

 

耐熱電線とあるものの80℃と少し低いですが、柔軟性があります。 通常の塩化ビニル製よりは熱に耐えるようです。

基板配線を部品面に集中させるために、ワイヤーペンのポリウレタン電線の利用を最小限にして被覆電線としました。 ただし、はんだ付け作業性を向上するために、耐熱電線で、できる限り細いより線を探しました。

ハーフピッチ部品

基板、ヘッダーピン、ジャンパーピン

1.27mm(ハーフ)ピッチコネクタセット
通販コード P-01151

1.27mmピッチジャンパーピン(5個入)
通販コード P-03912

入手先 秋月電子通商

 

ハーフピッチのジャンパーピンは小型化の際にとても役立ちます。秋月電子通商の店頭では見かけません。

SOPタイプ PICマイコン

PIC16F648A−I/SO

入手先 秋月電子通商

ICSP(インサーキット・シリアル・プログラミング)に初挑戦です。

SOPタイプ 標準ロジック

74HC157 

入手先 鈴商

鈴商は品揃えが多く、部品の小分け販売でも手間暇をかけて封止パッケージをしています。 パッケージには型式も明記してあり、ストックするのに適しています。 鈴商の名前はあまり広まってはいないと思いますが、電気電子工作をするうえではとても大切なお店です。

 


2.3 製作仕様概要

 「いつどこGPSロガー8」の主たる仕様を下記します。

「いつどこGPSロガー8」 仕様

対応
GPSモジュール

出力フォーマット NMEA-0183準拠。
出力信号 3.3V TTL レベル
信号フォーマット 4800、9600bps 調歩同期 (RS−232相当) 
(19200bpsはPICマイコンのソフトがおいつかない可能性があります。)

GPSモジュール

GM−5157A

ドングルモード

内蔵のスイッチにより、GPSセンサモジュールとPC間を仮想COMポートで通信できるようにできます。

SDメモリ種類
(GPS-EEPROM)

マイクロSD (注意:端子に電線を直接はんだ付けするため交換不可)

SDメモリ容量
(GPS-EEPROM)

16MB〜1GB (SDHC非対応)

SDメモリ読み出し
(GPS-EEPROM)

USBポート(仮想COMポート)を介し てオリジナルフォーマット(テキストもしくはバイナリ)で読み出し。

SDメモリカードを 単なるEEPROMとして使用している。 ファイル管理フォーマットには準拠していないためファイルイメージでの読み出し不可 。

記録間隔

EEPROM設定(PIC-EEPROM)により1秒〜255秒間隔で設定可能。 

記録時間
(GPS-EEPROM)

2.4項参照 (16MBで5日以上)

出力フォーマット

NMEA-0183準拠

 GPRMC 、GPGGA 、GPGSA 、GPVTGのデータが必要。

記録データ

時刻(UTC) 、 緯度 、 経度 、 衛星数 、 測位状態 、 アンテナ高度 、  ジオイド高度 、 年月日、 方位 、 速度

電源

リチウムイオンポリマー電池を内蔵 (3.7V 400mAh)
2mmピッチコネクタ取り合い。

これ以外に外部電源接続用コネクタ設置済み。

動作モード

GPSロギングモード : GPSデータをSDメモリ(GPS-EEPROM)に格納。

SDメモリ読み出しモード : USBポート(仮想COMポート)でロギングデータを読み出し。

SDメモリ消去モード : ロギングデータを消去。

モニタモード : PICマイコンのEEPROM(PIC-EEPROM)の編集。

 

 なお、本ページの説明でEEPROMに関して2通りの表現が記載されています。  それぞれの意味は下記のようになります。

PIC-EEPROM

 「いつどこGPSロガー8」を制御するPICマイコンに内蔵されているEEPROMです。 このEEPROMの設定値で「いつどこGPSロガー」の動作を設定します。

SDメモリ
GPS-EEPROM

 GPSモジュールのデータを格納する別設置のSDメモリ(EEPROM)です。 この SDメモリ(EEPROM)にGPSデータが格納されます。

  


3.「いつどこGPSロガー8」の製作

3.1  「いつどこGPSロガー8」試作

 今回、初めて電池充電回路とPICkit3を利用するためにブレッドボードで動作確認をしました。 以下に回路図と試作時の状況を下記に記載します。 なお、試作回路と最終版の回路は異なります。

 

(クリックすると原寸大の回路図をダウンロードできます。)

【 「いつどこGPSロガー8」回路 】

 

これで動作確認を行い、本番の製作を開始しました。

【 「いつどこGPSロガー8」試作時外観 】

 

 最近はブレッドボードで動作確認をすることが当たり前になっていますが、その際に部品の接触を確実にしないと無駄な時間をかけてしまいます。 最近はブレッドボードに確実に部品のリード線を確実に差し込めるように、部品のリード線部を改造したりチップ部品基板化を行っています。 今回利用したブレッドボード対応部品を下記に掲載します。

 

試作に使用したチップ部品やスライドスイッチです。

【 ブレッドボード用部品1 

 

 機構部品や圧電ブザーです。

【 ブレッドボード用部品2 


3.2  「いつどこGPSロガー8」の製作

  当初は試作回路どおりに製作を行い動作確認まですすみました。 その後、電池を取り付けたまま何度か基板をケース組込み取り外しをしているうちに動作しなくなりました。 トラブルシューティング当初は3.3V定電圧レギュレータに問題があると判断して別の部品に交換をしましたがを、それでも直りませんでした。 結局は電流回り込み防止用のダイオードHN2S01FUが中途半端に破損していることが判明しました。 信号用を整流回路用に流用したのが間違いでした。 正式版では電源回路部分の使用素子を見直しました。 

 

(クリックすると原寸大の回路図をダウンロードできます。)

【 「いつどこGPSロガー8」回路 】

 

 

ごちゃごちゃごちゃごちゃになっています。

【 GPS8基板外観(部品面) 】

 

 この面にSDメモリメモリやFT231X USBシリアル変換モジュールが実装されますので、できるかぎり出っ張りのないようにしています。

 スルーホールを抜いた小さい穴(6個)はFT231X USBシリアル変換モジュールのピンヘッダ用端子が貫通する穴です。 上記写真の上側にUSBコネクタが向くようにFT231X USBシリアル変換モジュールを実装します。

 大きい穴(2個)は、GPS8基板固定用の穴です。

【 GPS8基板外観(ハンダ面) 】

 

 100kΩのプルアップ抵抗を実装しています。 SDメモリの組込み時は、GPS8基板とFT231X USBシリアル変換モジュールの隙間に入れ込んでいます。

【 SDメモリ接続部分 】

 

自作のコネクタを用いています。 詳細はGM−5157Aを参照して下さい。

このコネクタ(基板)にC1(47μF)を実装しています。

その後、コネクタ部を正規のコネクタ「CB−SUR 6極」に変更しています。 

【 参考 GPSモジュール部1 】

 

その後、コネクタ部を正規のコネクタ「CB−SUR 6極」に変更しています。 

【 参考 GPSモジュール部2 】

 

最低限の端子(信号用、固定用)のみヘッダーピンを上むきに実装します。
USBコネクタは接触時の短絡防止のためビニルテープを貼り付けています。

【 FT231X USBシリアル変換モジュール (部品面) 】

 

制御信号のショート配線を行います。 

【 FT231X USBシリアル変換モジュール (ハンダ面) 】

 

GPS8基板に周辺部品を接続します。

【 周辺部品接続状態1 】

 

スライドスイッチは電池ボックス実装品を流用します。

【 周辺部品接続状態2 】

 

 FT231X USBシリアル変換モジュールはGPS8基板のハンダ面に実装します。
 GPS8基板とFT231X USBシリアル変換モジュールの隙間にSDメモリを実装しています。

【 周辺部品接続状態3 】

 

 電池ボックス 単3×2本用(フタ付プラスチック・スイッチ付) [SBH-321-1AS]を利用します。
 内部の仕切り板などを削りとります。 上側の白い切り欠けた部品はGPS8基板固定用のスペーサです。

【 電池ケース加工状態1 】

 

【 電池ケース加工状態2 】

 

LED状態確認用の穴を2ヶ所あけています。

【 電池ケース加工状態3 】

 

【 電池ケース組込み状態1 】

 

アンテナの周辺やスイッチ部分にクッション材を入れます。 クッション材はどうでもよい部材と思われがちですが、パッチアンテナ周辺の空間確保、振動対策、SW1・SW2固定に用いるととても大切な部材です。

【 電池ケース組込み状態2 】

 


コネクタ「CB−SUR 6極」適用例

  後日、aitendoより正規のコネクタ「CB−SUR 6極」が発売となりました。 これを利用することで接触が確実になりました。

【 「CB−SUR 6極」交換状態 】

 

 

【 「CB−SUR 6極」組込み状態 】

 


3.4  「いつどこGPSロガー8」の完成外観

 

右下の小さい出っ張りがSW2です。

【 「いつどこGPSロガー8」完成外観1 】

 

左下のUSBコネクタ用穴加工に失敗して、少し広くなってしまいました。

【 「いつどこGPSロガー8」完成外観2 】

 

左下の皿ネジでGPS8基板を固定しています。

【 「いつどこGPSロガー8」完成外観3 】

 

充電中です。

【 「いつどこGPSロガー8」完成外観4 】

 

充電完了です。

【 「いつどこGPSロガー8」完成外観5 】

 

GT−730FL−Sと並べてみました。

【 「いつどこGPSロガー8」サイズ比較 】

 


3.5  「いつどこGPSロガー8」の性能確認

3.5.1 ジョギングのお供

 「いつどこGPSロガー8」をお供にジョギングに出ました。 同じコースで「いつどこGPSロガー8」 v.s. 「いつどこGPSロガー6」、「いつどこGPSロガー8」 v.s. 「GPSロガー GT−740FL」の2回ほど試しました。 なお、GPSロガーの取り付け方法は「GPSデータの小部屋」の方法6(帽子トップとりつけ方法 )を用いています。 今回の測位結果より十分使えることを確認できました。

「いつどこGPSロガー8」(桃色)
v.s.
GPSロガー GT−740FL(白色) 

「いつどこGPSロガー8」(桃色)
v.s.
いつどこGPSロガー6」(黄色)

 

中央下側は小山になっており視野が急変する部分です。その前後の見通しはよいです。 行きと帰りで2組の軌跡が記録されています。

 

中央上側は小山を削った崖状になっており、その崖に沿っている歩道を通ったときの軌跡です。
 

 

右側の陸橋の下側をくぐり、その後、中央部分のアーケード街を通り、左側
のロータリーへ抜けています。 天頂側の視界が急変する場所です。

 

いつもベンチマークを行っている大きな陸橋を渡った時の軌跡です。

 

道路を渡る部分は地下道となっています。 地下道の天井の一部は吹き抜けと
なっており、吹き抜け部の地下道でも「いつどこGPSロガー8」では測位してくれました。

 

  GPSロガー GT−740FL」の測位精度は、今回は良かった結果となっています。 しかし、良い時と良くない時の差が大きく、また、軌跡のガタガタが大きいため、GPSロガー GT−740FL」は「いつどこGPSロガー8」に比べて今一つの印象です。

  いつどこGPSロガー6」との比較では、「いつどこGPSロガー8」は、軌跡の滑らかさは同等であり、測位の良さは若干上回っています。

 

3.5.2 お出掛けのお供

 近隣のショッピングセンターへ車でお出掛けした際に、ダッシュボード上に「いつどこGPSロガー8」を置いて軌跡採取をしました。 車の移動でも問題なく測位してくれることを確認しました。

【 お出掛け時の軌跡1 】

 

【 お出掛け時の軌跡2 】

 

3.5.3 電池動作時間の確認

 「いつどこGPSロガー8」の内蔵電池の充電完了後に、ブザーをオフにした状態での連続動作時間を測定しました。 当初の10時間を上回る結果を得ました。

 結果 動作開始時間 23:05:07

     停止時間    翌日の16:46:54

     連続動作時間 連続17時間以上

 


4. 「いつどこGPSロガー8」詳細資料

4.1 いつどこGPSロガー6」からの改変点

  1.  GPRMC,GPGGA,GPGSA,GPVTGの4種類のNMEAコマンドを受信しないとSDメモリにデータを書き込まない仕様となっていましたが、4種類のコマンドの要否を個々に設定できるようにしました。(最低1種類のコマンド受信でSDメモリに書込みを行うことができます。)

  2.  従来は、受信データを格納するトリガとなるNMEAコマンドを指定する方法をとっていました。 この方法では指定したNMEAコマンドを受信した際にNEMA受信フラグの設定開始を行い、4種類のコマンド全てを受信したことをフラグで確認してSDメモリメモリに書込むようにしていました。
     しかし、(1)項対応のために、SDメモリへの書込みを行うNMEAコマンドを指定する方法に変更しました。 この方法では指定したNMEAコマンドを受信終了後にSDメモリへの書込みを行います。 これは、当該のコマンドを受信しない限りSDメモリへの書込みを行わないことを意味します。
     また、(1)項との関係で、NMEA受信データを読み取れない場合があります。

事例 デフォルトでGPVTGコマンドが送出されないGPSセンサモジュールを使用した場合。

 SDメモリへの書き込みトリガとなるNMEAコマンドとしてGPRMCを設定する。

 GPVTGコマンドを受信しなくてもSDメモリへの書き込みをする設定を行う。

 GPSセンサモジュールからGPVTGコマンドを送出できるようにする。

 GPSモジュールからGPRMC→GPVTGの順番に連続してデータが送出された場合、GPRMCまでのデータは書き込まれるがGPVTGのデータを読み取れない。

推定理由

 GPRMCコマンドを受信してからSDメモリへの書き込み処理を行うが、その最中に受信したGPSモジュールからの受信データ(NMEAコマンド)を読み取れないためと推測される。 

  1.  測位確定しないとSDメモリへ書き込みしないようにしていましたが、測位確定しなくてもSDメモリへの書き込みできる機能のオンオフをEEPROM設定に追加しました。 

  2.  従来のモニターモード移行時のボーレート9600bps固定起動ジャンパーピン設定を、電源投入時9600bps固定でモニターモードに移行する機能に変更しました。 また、その際にモード表示LEDが白色(3色点灯)に点滅するようにしました。

  3.  SDメモリ消去中にも、PC側のキーボードでESCキーを押すとモニターモードに移行するようにしました。


4.2 PICマイコン IOピン割り当て

 PICマイコンのIOピン割り当ては以下のようになります。 

 PIC16F648A I/Oピン割り当て

PIN
No

信号
名称

方向

信  号

RA2

出力

マイクロSDメモリ DI信号

RA3

入力

マイクロSDメモリ DO信号

RA4

入力

電源投入時モニタモード移行。 通信速度は9600bps固定設定選択。
(EEPROM書換時に通信速度設定が適切でなかった場合の復旧用。)

RA5

入力

SDメモリクリヤモード選択入力。
電源投入時 LowレベルでSDメモリクリヤモード移行。

Vss

GND

電源グランドライン

RB0

入力

モード選択スイッチ信号。
 電源投入時 : LowレベルでGPSデータ記録モード移行。
           HighレベルでSDメモリ読み出しモード、もしくは、モニタモード
 GPSデータ記録モード時 : ブザーオンオフ切り替え

RB1/RX

入力

シリアル通信入力

RB2/TX

出力

シリアル通信出力

RB3

出力

圧電プザー用オンオフ信号。 (パルス信号であり、レベル信号ではありません。)
ブザーオフ時 : Lowレベル固定
ブザー発振周波数 : EEPROMで設定可能。
ブザー発振継続時間 : GPS検出時 70ms、 未検出時 10ms

10

RB4

出力

LED1出力 (緑色)
(PIC=EEPROMでアノードコモン/カソードコモン設定可)

11

RB5

出力

LED2出力 (赤色)
(PIC=EEPROMでアノードコモン/カソードコモン設定可)

12

RB6

出力

LED3出力 (青色)
(PIC=EEPROMでアノードコモン/カソードコモン設定可)

13

RB7

出力

GPSモジュール電源オンオフ信号、データ選択信号。
Highで電源オン。
(GPSモジュールRS−232CのTX信号用マスク信号としても使用。)

14

Vdd

Vcc

+電源ライン。

15

OSC2

発振

セラミック振動子 10MHz

16

OSC1

発振

セラミック振動子 10MHz

17

RA0

出力

マイクロSDメモリ クロック信号

18

RA1

出力

マイクロSDメモリ チップセレクト信号

 


4.3 記録メディア、記憶容量、記録方法

 各サイズのSDメモリにいけるデータ個数などは以下のようになります。

SDメモリ容量

User Area
(Blocks)

使用可能最終アドレス+1

GPS用
データ個数

連続記録日数
(サンプル1s間隔)

16M

28,800

$00E1 0000

460,800

5日8時間0分0秒

32M

 59,776

$01D3 0000

 956,416

 11日1時間40分16秒

64M

 121,856

 $03B8 0000

 1,949,696

 22日13時間34分56秒

128M

 246,016

 $0782 0000

 3,936,256

45日13時間24分16秒

256M

 494,080

 $0F14 0000

 7,905,280

91日11時間54分40秒

512M

 940,864

 $1CB6 8000

 15,053,824

174日5時間37分4秒

1GB

 1,983,744

 $3C8A 0000

 31,739,904

367日8時間38分24秒

 多分、最後まで書込みをすることは無いと思いますが、SDメモリの最終アドレスに達した場合に、以下の2通りをPIC-EEPROMの設定で選択できるようにします。

Singleモード

 それ以上の書き込みを終了し、GPSモジュールの電源をオフする。 つまり、SDメモリの最初のデータを必ず残したいときに選択します。 

上書きモード

 SDメモリの先頭アドレスから上書きするモード。 延々を保存を繰り返します。 つまり、最新のデータを優先して残したいときに選択すます。

 ただし、終了方法は「いつどこGPS」の電源をオフする方法しかありませんので、 SDメモリへの書き込みタイミングをLED状態(LED3(青色)点灯⇒消灯)で確認して電源をオフしてください。 このタイミングをずらすと、最新の取得データのいくつかを失うことになります。

 


4.4 PICマイコン EEPROM

 PICマイコン内のEEPROMのデータ設定を下記に記載します。

EEPROMのデータ (2011年2月版 Ver 6.0.1)

アドレス

データ内容

デフォルト
16進数

$00

GPSデータ保存間隔設定1。 

0、1:連続

N(2〜255):GPSモジュールからのデータをN回受信して1回だけ記録する。

’01’

$01

未使用

’02’

$02

GPSデータ保存開始時先頭アドレス設定

0:空きエリアの先頭ブロックを探し、空きエリアから追加で書込み(追記モード)

1:先頭アドレス$0000 0000から書込み (上書きモード)

’00’

$03

SDメモリ最終アドレス書込み後の処理設定。

0:Singleモード (初期データ保存)

1:上書きモード (最新データ保存)

’00’

$04

LED1,LED2,LED3信号論理設定

bit4:LED1 、 bit5:LED2 、 bit6:LED3

0:Highレベル出力で点灯するLED使用時。(カソードコモン用)

1:Lowレベル出力で点灯するLED使用時。(アノードコモン用)

’F0’

$05

SDメモリ書込時動作 ブザー1s間連続発音/LED1s間連続点灯間隔設定

GPSデータ保存間隔設定1の場合、16s間隔(1ブロック512バイト/32バイト=16)でSDメモリ書込時動作を行う。  書込み動作時に書込みを正常に動作していることを確認できるようにブザー1s間連続発音/LED1s間連続点灯 するようにしている。 この書込み動作確認を、書込み何回毎に行うかを設定するパラメータ。

例1 GPSデータ保存間隔設定1 本設定値=1 間隔=1×16s×1=16

例2 GPSデータ保存間隔設定1 本設定値=2 間隔=1×16s×2=32

例3 GPSデータ保存間隔設定2 本設定値=1 間隔=2×16s×1=32

例4 GPSデータ保存間隔設定2 本設定値=2 間隔=2×16s×2=64

’02’

$06

GPSロギングモード GPSモジュール通信速度設定 (9600bps相当)

 SPBRGレジスタの値(10MHz、BRGH=1)
 PIC16F648データシートの「USART Baud Rate Generator」を参照。

 デフォルトでは9600bps相当。 (4800bpsの場合は’81’)

’40’

$07

SDメモリ読み出しモード、SDメモリ消去モード、モニタモード時PICマイコン通信速度設定 (57.6kbps相当)

 SPBRGレジスタの値(10MHz、BRGH=1)
 PIC16F648データシートの「USART Baud Rate Generator」を参照。

 デフォルトでは57.6kbps相当。

’0A’

$08

SDメモリ読み出し状態設定

bit

機能

値0

値1

SDメモリ読出し
フォーマット

ASCII

Binary

読出し終了判定

最終番地まで読出し

最初の空きブロック検出で終了

同一データサイズSDメモリ転送 ASCIIとBinary比較結果例

bit0

ASCII

Binary

メモリサイズ

1,653,4320

814,323

57.6kbps転送時間

約4分51秒

約2分25秒

 データサイズが大きくなるにつれて、転送時間が長く、HDD格納サイズが大きくなるためにBinary転送機能を追加した。

’00’

$09

未使用

’00’

$0A

未使用

’00’

$0B

ブザー発振周期設定 (周波数 = 1/周期)

発振周期 = (設定値+1) * 4 * 16 * 0.1μs

例 : 設定値(22)16=34 → 224μs = 4.46kHz

’22’

$0C

SDメモリ種類

’01’=16MB 、 ’02’=32MB、 ’04’=64MB、 ’08’=128MB

’10’=256MB(デフォルト) 、 ’20’=512MB、 ’40’=1GB

’00’=Manual設定 

  (終了アドレス+1)番地を$0A、$0B、$0Cに設定する。

  最終アドレスを小さく制限したい場合などに使用する。

上記以外の設定 = 16MB

’10’

$0D

$0F

$0A=’00’時の(最終アドレス+1)番地を設定。 512バイト単位の設定のためアドレスA8〜A0は内部で0に設定。

$0B:最終アドレス A31〜A24

$0C:最終アドレス A23〜A16

$0D:最終アドレス A15〜A8
            (A8はEEPROMで設定できるが、内部で強制的に0と見なす。)

デフォルトは4MB相当(1s間隔保存で約36時間)

$0B=’00’

$0C=’40’

$0D=’00’

$10

SDメモリ書込みトリガNMEAコマンド指定 (必須)

SDメモリへの書込みを開始するGPSモジュールから送信してくるコマンドを設定。  この際、GPRMC、GPGGA、GPGSA、GPVTGの4種類のコマンドを受信していることが書込みの条件となる。(これ以外にも測位確定していることも書込み条件となる。) 受信できていないコマンドがあった場合は、次に本設定コマンドを受信するまで書込み判定を行わない。

bit0=1 GPRMC , bit1=1 GPGGA , bit2=1 GPGSA , bit3=1 GPVTG

デフォルトは「GPRMC」。

NMEAコマンド要否設定。

SDメモリへの書込み時に4種類のコマンド受信を確認するが、下記ビットを1に設定することで、受信していなくてもSDメモリへの書込みを許可する。

bit4=1 GPRMC , bit5=1 GPGGA , bit6=1 GPGSA , bit7=1 GPVTG

デフォルトは全ビット0。

’01’

$11

SDメモリ書込み時、測位確定要否

bit7=0 測位確定時のみSDメモリへ書込みを許可する。

bit7=1 測位確定していなくてもSDメモリへ書込みを許可する。

 

’00’

 


4.5 GPSデータ保存フォーマット

 GPSデータ保存フォーマットは以下のようになります。

 SDメモリに保存する際、1回の測定データの所要容量はキリのよいように 32バイトとし、データフォーマットを以下のようにしました。

アドレス

b7

b6

b5

b4

b3

b2

b1

b0

+0

GPS測位
 = 1
測位不可
 = 0

測位データ正常受信  = 1

時間 ×10時間桁
 BCD Data

時間 ×1時間桁 BCD Data

+1

時間 ×10分桁 BCD Data

時間 ×1分桁 BCD Data

+2

時間 ×10秒桁 BCD Data

時間 ×1秒桁 BCD Data

+3

H’0E’ (「.」の下位4ビット)

時間 ×0.1秒桁 BCD Data

+4

時間 ×0.01秒桁 BCD Data

時間 ×0.001秒桁 BCD Data

+5

緯度 ×10°桁 BCD Data (*1)

緯度 ×1°桁 BCD Data (*1)

+6

緯度 ×10分 桁 BCD Data (*1)

緯度 ×1分 桁 BCD Data (*1)

+7

H’0E’ (*1)

緯度 ×0.1分 桁 BCD Data (*1)

+8

緯度 ×0.01分 桁 BCD Data (*1)

緯度 ×0.001分 桁 BCD Data (*1)

+9

緯度 ×0.0001分 桁 BCD Data(*1)

北緯 = 1
南緯 = 0

東経 = 1
西経 = 0

測位不能 = 1
2次元測位 = 2
3次元測位 = 3

+10

経度 ×100°桁 BCD Data(*1)

経度 ×10°桁 BCD Data(*1)

+11

経度 ×1°桁 BCD Data(*1)

H’0E’(*1)

+12

経度 ×10分 桁 BCD Data(*1)

経度 ×1分 桁 BCD Data(*1)

+13

経度 ×0.1分 桁 BCD Data(*1)

経度 ×0.01分 桁 BCD Data(*1)

+14

経度 ×0.001分 桁 BCD Data(*1)

経度 ×0.0001分 桁 BCD Data(*1)

+15

衛星数 10個桁 BCD Data(*1)

衛星数 1個桁 BCD Data(*1)

+16

アンテナ高度 ×10000m 桁 BCD Data(*1)

アンテナ高度 ×1000m 桁 BCD Data(*1)

+17

アンテナ高度 ×100m 桁 BCD Data(*1)

アンテナ高度 ×10m 桁 BCD Data(*1)

+18

アンテナ高度 ×1m 桁 BCD Data(*1)

H’0E’(*1)

+19

アンテナ高度 ×0.1m 桁 BCD Data(*1)

ジオイド高度 ×1000m 桁 BCD Data(*1)

+20

ジオイド高度 ×100m 桁 BCD Data(*1)

ジオイド高度 ×10m 桁 BCD Data(*1)

+21

ジオイド高度 ×1m 桁 BCD Data(*1)

H’0E’(*1)

+22

ジオイド高度 ×0.1m 桁 BCD Data(*1)

日付 10日桁 BCD Data

+23

日付 1日桁 BCD Data

日付 10月桁 BCD Data

+24

日付 1日桁 BCD Data

日付 10年桁 BCD Data

+25

日付 1年桁 BCD Data

方位 ×100°桁 BCD Data(*1)

+26

方位 ×10°桁 BCD Data(*1)

方位 ×1°桁 BCD Data(*1)

+27

H’0E(*1)

方位 ×0.1°桁 BCD Data(*1)

+28

方位 ×0.01°桁 BCD Data(*1)

速度×1000m 桁 BCD Data(*1)

+29

速度×100m 桁 BCD Data(*1)

速度×10m 桁 BCD Data(*1)

+30

速度×1m 桁 BCD Data(*1)

H’0E’(*1)

+31

速度×0.1m 桁 BCD Data(*1)

速度×0.1m 桁 BCD Data(*1)

(*1)

 該当のデータ種はゼロサプレスデータ(上位桁の0を送信しない。 仮数桁数値1以上のある桁から送信)に対応としています。 上記マップは、全桁数値のある場合のマップを示しています。 データ種毎にGPSモジュールから送信されてくるデータがゼロサプレスされた場合、使用されない桁にはH’0F’が格納されています。  数値に戻す場合は”0”〜”9”は数字文字に、H’0E’は小数点文字「.」に、H’0F’は読み飛ばしてもとの数値に戻します。


4.6 動作モード

4.6 GPSロギングモード

機能

 GPSモジュールのデータをSDメモリに保存。

 GPSモジュールから 出力されるデータをそのまま仮想COMポートを介してPCでも読み取れる。

選択方法

 モード選択スイッチを押しながら電源を投入し、約3秒程度押し続ける。

 本モードが選択されたにもかかわらず、LED1の全色(緑色、赤色、青色)が0.2s周期で点滅する場合は、データの上書きししないSingleモードの場合で SDメモリの空き領域が無い場合である。

動作中
表示

 電源投入直後、全LED1が0.5s間点灯し、その後0.1s間消灯する。

 モード選択スイッチが約1s間連続押されていることを検出してGPSデータ記録モードに入る。 この間はLEDは消灯したまま。

 追記モードの場合、空きエリアを検出する動作を行う。 この間、LED1(緑色)→LED1(赤色)→LED1(青色)の順番に点滅を繰り返す。

 その後、GPSモジュールからのデータを受信状態表示。

 (a) 測位できた場合 : LED1(青色)を点滅する。

 (b) 電源源投入直後や測位できていない場合 : LED1(赤色)を点滅する。 

 (c) 1ページ単位にEEPROM書込時 : LED1(青)が次のデータ受信まで連続点灯する。
                         (約1s間点灯継続)


ブザー音

 電源投入直後は、ブザー消音となっている。

 GPSモジュールからのデータ受信を開始し始めた後にモード選択スイッチを押すことでブザー音をオン→オフ/オフ→オンできる。

 ブザー音は以下の3通り

  GPSモジュールからのデータ受信成功時 : 短時間ブザー音(ピッ)がする。
  (測位できていない場合)

  測位成功時 : 少し長くブザー音(ピー)がする。

  EEPROMページ単位書込時 : 約1s程度ブザー音(ピーー)がする。 

   

動作終了

 シングルモード時、SDメモリに空きエリアがなくなった場合、 0.4s周期でLED1(青色)を点滅する。

 終了方法は電源オフのみ。

 

4.6.2 SDメモリ読み出しモード

機能

SDメモリのデータをRS-232Cラインから出力する。

選択方法

 モード選択スイッチを押さず、PICマイコンの3番ピン(PORTA RA4)をHighレベル( (JP1−3 オープン=Highに接続)にして電源を投入する。

動作中
表示

 電源投入直後、全LED1が0.5s間点灯し、その後0.1s間消灯する。

 LED1(緑色)が、0.5s間隔の点滅を2回行い、その後、0.1s間隔で6回明滅を繰り返す。

 その後、SDメモリの1ページ分のデータを出力する毎にLED1(緑色)→LED1(赤色)→LED1(青色)の順番に点滅を繰り返す。


ブザー音

 ブザー未使用


USBポート(仮想COMポート)の受信データ

ASCII読出しの場合(EEPROM $8 bit0=0)

 最終アドレス+1を$0000 8000とした場合のデータ読み出し時の受信データを下図に示します。

 

Binary読出しの場合(EEPROM $8 bit0=1)

 先頭のメッセージは従来と同じ。 その後、SDメモリのアドレスはASCIIコード、その後に512バイトのメモリデータをBinaryで送信。 なお、アドレスの前後は復帰改行(’0D’ ’OA’)を設けて、テキスト表示しても行先頭にアドレスが表示されるようにしている。
 

動作終了

 SDメモリデータ出力通信終了後はLED1(緑色)を0.4s周期で点滅する。

 終了方法は電源オフのみ。

 

4.6.3 SDメモリクリヤモード

機能

 SDメモリの有効のアドレス全領域のブロック先頭に’FF’に書き込む。

 追記モードでは測位データはSDメモリの空き領域に追記される。 このため、測位の前に空き領域を作る必要ばあるため、本モードを設けている。 また、過去分のデータが残っていると最新のデータの最終アドレスが分かり辛くなる。 このため、 ブロックの先頭のデータに’FF’を書き込んでデータの最終アドレスを明確にする。

選択方法

 モード選択スイッチを押さず、PICマイコンの3番ピン(PORTA RA4)をLowレベル( (JP1−3 短絡=Lowに接続)にして電源を投入する。

動作中
表示

 電源投入直後、全LED1が0.5s間点灯し、その後0.1s間消灯する。

 2s間、18番ピン(PORTA RA1)がLowレベルであることを確認する。 この間LEDは消灯している。

 LED1(赤色)が、0.5s間隔の点滅を2回行い、その後、0.1s間隔で6回明滅を繰り返す。

 その後、LED1(赤色)が0.1s間隔で点滅を繰り返して待機状態となる。 このときにモード選択スイッチを押すとクリヤを実行開始する。

 SDメモリクリヤ中は、SDメモリの8ページ分書込み毎にLED1(緑色)→LED2(赤色)→LED3(青色)の順番に点滅を繰り返す。

 また、RS−232Cポートからクリヤ進捗アドレスを出力する。


ブザー音

 ブザー未使用


USBポート(仮想COMポート)の受信データ

 最終アドレス+1を$0000 8000とした場合のメモリクリヤ時の受信データを下図に示す。

 この表示中にESCキーを押すとSDメモリクリヤを中断してモニタモードに移行する。

動作終了

 SDメモリデータ書込み完了後はLED1の赤色を0.4s周期で点滅する。

 終了方法は電源オフのみ。

 

4.6.4 モニタモード 

機能

  USBポート(仮想COMポート)を介してパソコンからPICマイコンのEEPROMの書換えを行う。
 

選択方法

 SDメモリ読み出しモードに移行中に、PCのキーボードより「ESC」キーを押す。

 電源投入時にジャンパー”SW_Moni”を短絡する。

コマンド

動作中
表示

モニタモード動作

 EEPROMアドレスポインタ( H'00' 〜 H'FF' )を示すアドレスの読み書きを行う。 また、「2.8.3 SDメモリクリヤモード」へ移行する。 (ジャンパー短絡無しにSDメモリクリヤ。)

No.

コマンド

動作

1

RE<Enter>

EEPROM全アドレスデータ読み出し。

2

SD<Enter>

2.8.3 SDメモリクリヤモード へ移行。

待機状態(LED1(赤色)0.1s間隔で点滅を繰り返してモード選択スイッチを押し待ち状態となる。 モード選択スイッチを押してクリヤ実効。

3

RT<Enter>

コールドスタート状態に復帰。

4

R<Enter>

EEPROMアドレスポインタのデータを表示する。

5

Rxx<Enter>

EEPROMアドレスポインタxx番地のデータを読み出す。

6

Wyy<Enter>

EEPROMアドレスポインタのデータをyyに書き換える。

 PC側ソフトのエコーバックは不要。 (PICマイコンからエコーバックする。)
 Back SpaceはPICマイコン側で処理する。
 大文字、小文字の識別はしない。(どちらでもよい。)


 モニタモード時、全LED1が消灯する。


ブザー音

 ブザー未使用


USBポート(仮想COMポート)の受信データ例1

(1) モニタモード移行、モニタモードのオープニングメッセージ表示。
(2) プロンプト”>”を表示して文字入力待ち。
(3) REコマンドを入力してEEPROMの全領域のデータを表示。

 

USBポート(仮想COMポート)の受信データ例2

(1) Rコマンドでアドレスポインタ(H'00')のデータを読み出し。
(2) R07コマンドでアドレスポインタをH'07'に移行し、データを読み出し。
(3) Rコマンドでアドレスポインタ(H'07')のデータを読み出し。
(4) W0Aコマンドでアドレスポインタ(H'07')のデータを(H'40')から(H'0A')に書換え。 
(5) SDコマンドでSDメモリクリヤモードに移行準備。
(6) SDメモリクリヤモードに移行前の再確認。

 

 

動作終了

 モニタコマンド「GT」でコールドスタート。

 電源オフでもよい。

 


プログラム書き込みサービス

 本ページで紹介しましたPICマイコンの書き込みサービス は行う予定ではいますが、本ページ公開時までに所有しているGPSモジュールについての動作確認ができていないため、現在は本ページのPICマイコンのソフト の書き込みサービスは開始していません。 サービス開始までの間に、「いつどこGPSロガー8」に関するご要望があればメールで連絡をお願いします。


 Memorandumの小部屋 へ戻る      ホームページへ戻る


End of This Page.