Memorandumの小部屋
本ページは金銭授受を伴う行為を含むAuctionや商用Web
Pageからの無断リンク・無断参照を禁じます。
無断リンク・無断参照が判明した時点で然るべき処置をとらさせて頂きます。
電池ボックス電子工作(その20)
一体型いつどこGPSロガー 8(電池内蔵タイプ)
1.背景
ATLAS GPS LOGGER AL20やGPSロガー GT−740FLなどの市販品のGPSロガーは電池が内蔵されており、持ち運びをしやすくなっています。 それに対して電池ボックス電子工作(その16) いつどこGPSロガー6 の自作品はGPSセンサー部とプラットフォーム部が分離されており、可搬性が劣っていました。 そのため、ゆくゆくは市販品のように電池を内蔵した一体型のGPSロガーを自作したいと思って使えそうな部品を見つけては集めていました。
今回、ひととおり部品が揃ったので一体型GPSロガーの製作を行いました。 本ページでは、その紹介をしたいと思います。 実は、電池ボックス電子工作(その16) いつどこGPSロガー6を使い込みすぎたせいか、USBコネクタの接触が悪くなったりしていろいろガタがきていることもあり、代替え品の製作が必要となったという背景もあります。
2.「いつどこGPSロガー8」の仕様
2.1 全体概要
「いつどこGPSロガー8」の全体像としては、市販のATLAS GPS LOGGER AL20やGPSロガー GT−740FLのように電池を内蔵したGPSモジュールと制御部分を電池ボックスの中に詰め込んだ一体型を目指します。
ハードウエア、ソフトウエアともにいつどこGPSロガー6を流用します。ただし、使い勝手をよくするために、ソフトウエアの一部機能の見直しを行います。 (仕様や機能にかかわる詳細資料は4項に記載しています。)
内蔵電池はUSBポートを介して充電できるようにします。また、充電中/充電終了が判別するLEDも設けます。
搭載するGPSセンサは、当初、GPS−74A(A)を予定していました。 「いつどこGPSロガー8」製作時点で、軌跡データが比較的きれいで小型化されたGM−5157Aを採用することに方針変更しました。 これによりパッチアンテナの周辺の空間を当初予定より広く設けることができるようになりす。
GPSモジュールの設定をパソコンでができるように、GPSドングル相当にできる切替えスイッチを設けます。 ただし、常時使用するスイッチではないので「いつどこGPSロガー8」の内部に設けます。
PICマイコンの書込みをオンボード上で行えるように、従来のPICプログラマキット Ver4.0 (K-200)からPICkit3に変更します。 当方にとってオンボード書込みはこれが初めての試みです。
書込み時の周辺回路の影響が不明でしたので、書込み時はPICkit3からPICマイコンにのみ電源供給するようにして、かつ、書込みに関係するPICマイコン端子から周辺回路を切り離すようにしました。
専用のプリント基板を製作せず、従来どおりユニバーサル基板を利用して製作します。
内蔵電池では容量が不足する場合を想定して、外部電源供給もできる回路・コネクタを設けます。
2.2 「いつどこGPSロガー8」で使用した部品
ATLAS GPS LOGGER AL20やGPSロガー GT−740FLのような市販品は、適切な仕様の部品面実装部品や専用プリント基板を用いますので小型化は可能です。 また、配線用電線がほとんどありませんのでパッチアンテナの周辺の空間確保も比較的容易です。
しかし、市販品の部品を用いてユニバーサル基板で製作するとなると、一番の問題は部品の大きさとなります。 今回、「いつどこGPSロガー
8」の製作を可能にしてくれた部品を以下に紹介します。
圧電ブザー ムラタ表面実装圧電サウンダ(トランスデューサ/圧電スピーカ/) [PKLCS1212E4001-R1] 入手先 秋月電子通商 |
実は最後まで残っていた問題は圧電ブザーでした。 |
GPSモジュール 入手先 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コンバータ 入手先 秋月電子通商 |
|
耐熱電線 SHW(より線) 7/0.08mm 錫メッキ 0.65mm 30V 80℃ 入手先 千石電商
耐熱電線とあるものの80℃と少し低いですが、柔軟性があります。 通常の塩化ビニル製よりは熱に耐えるようです。 |
基板配線を部品面に集中させるために、ワイヤーペンのポリウレタン電線の利用を最小限にして被覆電線としました。 ただし、はんだ付け作業性を向上するために、耐熱電線で、できる限り細いより線を探しました。 |
ハーフピッチ部品 基板、ヘッダーピン、ジャンパーピン 1.27mm(ハーフ)ピッチコネクタセット 1.27mmピッチジャンパーピン(5個入) 入手先 秋月電子通商 |
ハーフピッチのジャンパーピンは小型化の際にとても役立ちます。秋月電子通商の店頭では見かけません。 |
SOPタイプ PICマイコン PIC16F648A−I/SO 入手先 秋月電子通商 |
ICSP(インサーキット・シリアル・プログラミング)に初挑戦です。 |
SOPタイプ 標準ロジック 74HC157 入手先 鈴商 |
鈴商は品揃えが多く、部品の小分け販売でも手間暇をかけて封止パッケージをしています。 パッケージには型式も明記してあり、ストックするのに適しています。 鈴商の名前はあまり広まってはいないと思いますが、電気電子工作をするうえではとても大切なお店です。 |
2.3 製作仕様概要
「いつどこGPSロガー8」の主たる仕様を下記します。
対応 |
出力フォーマット NMEA-0183準拠。 |
GPSモジュール |
|
ドングルモード |
内蔵のスイッチにより、GPSセンサモジュールとPC間を仮想COMポートで通信できるようにできます。 |
SDメモリ種類 |
マイクロSD (注意:端子に電線を直接はんだ付けするため交換不可) |
SDメモリ容量 |
16MB〜1GB (SDHC非対応) |
SDメモリ読み出し |
USBポート(仮想COMポート)を介し てオリジナルフォーマット(テキストもしくはバイナリ)で読み出し。 SDメモリカードを 単なるEEPROMとして使用している。 ファイル管理フォーマットには準拠していないためファイルイメージでの読み出し不可 。 |
記録間隔 |
EEPROM設定(PIC-EEPROM)により1秒〜255秒間隔で設定可能。 |
記録時間 |
2.4項参照 (16MBで5日以上) |
出力フォーマット |
NMEA-0183準拠 GPRMC 、GPGGA 、GPGSA 、GPVTGのデータが必要。 |
記録データ |
時刻(UTC) 、 緯度 、 経度 、 衛星数 、 測位状態 、 アンテナ高度 、 ジオイド高度 、 年月日、 方位 、 速度 |
電源 |
リチウムイオンポリマー電池を内蔵 (3.7V 400mAh) これ以外に外部電源接続用コネクタ設置済み。 |
動作モード |
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モジュールのデータを格納する別設置のSDメモリ(EEPROM)です。 この SDメモリ(EEPROM)にGPSデータが格納されます。 |
3.「いつどこGPSロガー8」の製作
3.1 「いつどこGPSロガー8」試作
今回、初めて電池充電回路とPICkit3を利用するためにブレッドボードで動作確認をしました。 以下に回路図と試作時の状況を下記に記載します。 なお、試作回路と最終版の回路は異なります。
(クリックすると原寸大の回路図をダウンロードできます。)
【 「いつどこGPSロガー8」回路 】
これで動作確認を行い、本番の製作を開始しました。
【 「いつどこGPSロガー8」試作時外観 】
最近はブレッドボードで動作確認をすることが当たり前になっていますが、その際に部品の接触を確実にしないと無駄な時間をかけてしまいます。 最近はブレッドボードに確実に部品のリード線を確実に差し込めるように、部品のリード線部を改造したりチップ部品基板化を行っています。 今回利用したブレッドボード対応部品を下記に掲載します。
試作に使用したチップ部品やスライドスイッチです。
【 ブレッドボード用部品1 】
機構部品や圧電ブザーです。 |
【 ブレッドボード用部品2 】
SDカードは、マイクロSD→ミニSDカード変換アダプタを利用しています。 また、ブレッドボード・ジャンパーコードを利用してブレッドボードに接続しやすくしています。
ターミナルブロックは2P品を分解再組み立てをして6P化しています。
ゼロプレッシャーICソケットにはセラミック振動子もとりつけています。
3.2 「いつどこGPSロガー8」の製作
当初は試作回路どおりに製作を行い動作確認まですすみました。 その後、電池を取り付けたまま何度か基板をケース組込み取り外しをしているうちに動作しなくなりました。 トラブルシューティング当初は3.3V定電圧レギュレータに問題があると判断して別の部品に交換をしましたがを、それでも直りませんでした。 結局は電流回り込み防止用のダイオードHN2S01FUが中途半端に破損していることが判明しました。 信号用を整流回路用に流用したのが間違いでした。 正式版では電源回路部分の使用素子を見直しました。
(クリックすると原寸大の回路図をダウンロードできます。)
【 「いつどこGPSロガー8」回路 】
47μFのコンデンサはチップ積層セラミックコンデンサ(GRM31CB30J476ME18)を利用しています。 このコンデンサを選定したのは「「高低(たかひく)なんぼ」 電解くん、測っちゃえ!」の実測結果と寸法から決めました。 少し値段が高いのが何点です。
100kΩの抵抗はチップ抵抗を利用しています。 それ以外の抵抗は1/6Wの小型抵抗を利用しています。
マイクロSDカードの端子に配線を直接接続します。 また、100kΩの抵抗もマイクロSDカードカードに実装します。
FT231X USBシリアル変換モジュールはユニバーサル基板(以下、GPS8基板と記載)の下側に取り付けます。 また、USBコネクタの劣化が生じますので、このモジュールを交換できるように丸ピンICソケットを用いて取り外し可能とします。 なお、この基板は電池ボックスの側面にUSBコネクタが向くように実装します。
LED1、LED2を電流制限抵抗を用いて電池ボックスカバー面に接する上側位置に実装します。
CN2はPICkit3接続用でハーフピッチコネクタ(ピンヘッダー、ピンフレーム)を利用しています。 通常はピンフレーム側で所定の短絡をして使用します。 PICkit3使用時は、PICkit3接続ケーブル(上記回路図参照)の配線となるピンフレームを接続します。 ピンフレームを交換することで、PICkit3接続時に周辺回路からの切り離しを行っています。
ごちゃごちゃごちゃごちゃになっています。
【 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基板のハンダ面に実装します。 |
【 周辺部品接続状態3 】
電池ボックス 単3×2本用(フタ付プラスチック・スイッチ付) [SBH-321-1AS]を利用します。 |
【 電池ケース加工状態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」(桃色) |
「いつどこGPSロガー8」(桃色) |
|
|
|
|
中央下側は小山になっており視野が急変する部分です。その前後の見通しはよいです。 行きと帰りで2組の軌跡が記録されています。
|
|
|
|
中央上側は小山を削った崖状になっており、その崖に沿っている歩道を通ったときの軌跡です。
|
|
|
|
右側の陸橋の下側をくぐり、その後、中央部分のアーケード街を通り、左側
|
|
|
|
いつもベンチマークを行っている大きな陸橋を渡った時の軌跡です。
|
|
|
|
道路を渡る部分は地下道となっています。 地下道の天井の一部は吹き抜けと |
「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」からの改変点
GPRMC,GPGGA,GPGSA,GPVTGの4種類のNMEAコマンドを受信しないとSDメモリにデータを書き込まない仕様となっていましたが、4種類のコマンドの要否を個々に設定できるようにしました。(最低1種類のコマンド受信でSDメモリに書込みを行うことができます。)
従来は、受信データを格納するトリガとなるNMEAコマンドを指定する方法をとっていました。 この方法では指定したNMEAコマンドを受信した際にNEMA受信フラグの設定開始を行い、4種類のコマンド全てを受信したことをフラグで確認してSDメモリメモリに書込むようにしていました。
しかし、(1)項対応のために、SDメモリへの書込みを行うNMEAコマンドを指定する方法に変更しました。 この方法では指定したNMEAコマンドを受信終了後にSDメモリへの書込みを行います。 これは、当該のコマンドを受信しない限りSDメモリへの書込みを行わないことを意味します。
また、(1)項との関係で、NMEA受信データを読み取れない場合があります。
事例 デフォルトでGPVTGコマンドが送出されないGPSセンサモジュールを使用した場合。
推定理由
|
測位確定しないとSDメモリへ書き込みしないようにしていましたが、測位確定しなくてもSDメモリへの書き込みできる機能のオンオフをEEPROM設定に追加しました。
従来のモニターモード移行時のボーレート9600bps固定起動ジャンパーピン設定を、電源投入時9600bps固定でモニターモードに移行する機能に変更しました。 また、その際にモード表示LEDが白色(3色点灯)に点滅するようにしました。
SDメモリ消去中にも、PC側のキーボードでESCキーを押すとモニターモードに移行するようにしました。
4.2 PICマイコン IOピン割り当て
PICマイコンのIOピン割り当ては以下のようになります。
PIN |
信号 |
方向 |
信 号 |
1 |
RA2 |
出力 |
マイクロSDメモリ DI信号 |
2 |
RA3 |
入力 |
マイクロSDメモリ DO信号 |
3 |
RA4 |
入力 |
電源投入時モニタモード移行。 通信速度は9600bps固定設定選択。 |
4 |
RA5 |
入力 |
SDメモリクリヤモード選択入力。 |
5 |
Vss |
GND |
電源グランドライン |
6 |
RB0 |
入力 |
モード選択スイッチ信号。 |
7 |
RB1/RX |
入力 |
シリアル通信入力 |
8 |
RB2/TX |
出力 |
シリアル通信出力 |
9 |
RB3 |
出力 |
圧電プザー用オンオフ信号。 (パルス信号であり、レベル信号ではありません。) |
10 |
RB4 |
出力 |
LED1出力 (緑色) |
11 |
RB5 |
出力 |
LED2出力 (赤色) |
12 |
RB6 |
出力 |
LED3出力 (青色) |
13 |
RB7 |
出力 |
GPSモジュール電源オンオフ信号、データ選択信号。 |
14 |
Vdd |
Vcc |
+電源ライン。 |
15 |
OSC2 |
発振 |
セラミック振動子 10MHz |
16 |
OSC1 |
発振 |
セラミック振動子 10MHz |
17 |
RA0 |
出力 |
マイクロSDメモリ クロック信号 |
18 |
RA1 |
出力 |
マイクロSDメモリ チップセレクト信号 |
4.3 記録メディア、記憶容量、記録方法
各サイズのSDメモリにいけるデータ個数などは以下のようになります。
SDメモリ容量 |
User Area |
使用可能最終アドレス+1 |
GPS用 |
連続記録日数 |
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のデータ設定を下記に記載します。
アドレス |
データ内容 |
デフォルト |
|||||||||||||||||||||
$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) |
’40’ |
|||||||||||||||||||||
$07 |
SDメモリ読み出しモード、SDメモリ消去モード、モニタモード時PICマイコン通信速度設定 (57.6kbps相当) SPBRGレジスタの値(10MHz、BRGH=1) |
’0A’ |
|||||||||||||||||||||
$08 |
SDメモリ読み出し状態設定
同一データサイズSDメモリ転送 ASCIIとBinary比較結果例
データサイズが大きくなるにつれて、転送時間が長く、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 |
$0A=’00’時の(最終アドレス+1)番地を設定。 512バイト単位の設定のためアドレスA8〜A0は内部で0に設定。 $0B:最終アドレス A31〜A24 $0C:最終アドレス A23〜A16 $0D:最終アドレス A15〜A8 デフォルトは4MB相当(1s間隔保存で約36時間) |
$0B=’00’ $0C=’40’ $0D=’00’ |
|||||||||||||||||||||
$10 |
SDメモリ書込みトリガNMEAコマンド指定 (必須)
NMEAコマンド要否設定。
|
’01’ |
|||||||||||||||||||||
$11 |
SDメモリ書込み時、測位確定要否 bit7=0 測位確定時のみSDメモリへ書込みを許可する。 bit7=1 測位確定していなくてもSDメモリへ書込みを許可する。
|
’00’ |
4.5 GPSデータ保存フォーマット
GPSデータ保存フォーマットは以下のようになります。
時刻 (UTC:日本時間−9時間)
N/S、緯度
E/W、経度
衛星数
測位状態(測位不可時は記録しませんので結果的には常時1。)
2D/3D測位
アンテナ高度
ジオイド高度
年月日
方位
速度
SDメモリに保存する際、1回の測定データの所要容量はキリのよいように 32バイトとし、データフォーマットを以下のようにしました。
アドレス |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 |
+0 |
GPS測位 |
測位データ正常受信 = 1 |
時間 ×10時間桁 |
時間 ×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 |
東経 = 1 |
測位不能 = 1 |
||||
+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 動作モード
GPSギングモード : GPSデータをSDメモリに格納(ロギング)。
SDメモリ読み出しモード : USBポート(仮想COMポート)でロギングデータを読み出し。
SDメモリ消去モード : ロギングデータを消去。
モニタモード : PICマイコンのEEPROMの編集。
4.6 GPSロギングモード
機能 |
GPSモジュールのデータをSDメモリに保存。 GPSモジュールから 出力されるデータをそのまま仮想COMポートを介してPCでも読み取れる。 |
選択方法 |
モード選択スイッチを押しながら電源を投入し、約3秒程度押し続ける。 本モードが選択されたにもかかわらず、LED1の全色(緑色、赤色、青色)が0.2s周期で点滅する場合は、データの上書きししないSingleモードの場合で SDメモリの空き領域が無い場合である。 |
動作中 |
電源投入直後、全LED1が0.5s間点灯し、その後0.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間消灯する。 その後、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間消灯する。 SDメモリクリヤ中は、SDメモリの8ページ分書込み毎にLED1(緑色)→LED2(赤色)→LED3(青色)の順番に点滅を繰り返す。 ブザー音 ブザー未使用 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メモリクリヤ。)
PC側ソフトのエコーバックは不要。 (PICマイコンからエコーバックする。) モニタモード時、全LED1が消灯する。 ブザー音 ブザー未使用 USBポート(仮想COMポート)の受信データ例1 (1) モニタモード移行、モニタモードのオープニングメッセージ表示。
USBポート(仮想COMポート)の受信データ例2
(1) Rコマンドでアドレスポインタ(H'00')のデータを読み出し。
|
|||||||||||||||||||||
動作終了 |
モニタコマンド「GT」でコールドスタート。 電源オフでもよい。 |
本ページで紹介しましたPICマイコンの書き込みサービス は行う予定ではいますが、本ページ公開時までに所有しているGPSモジュールについての動作確認ができていないため、現在は本ページのPICマイコンのソフト の書き込みサービスは開始していません。 サービス開始までの間に、「いつどこGPSロガー8」に関するご要望があればメールで連絡をお願いします。
End of This Page.