iCOM IC-U1で作る移動体管理システム
G-PRS: Glider Position Reporting System
2005/1/25, 1/30. 2/1. 2/2. 2/4. 2/6. 2/7. 2/8. 2/9. 2/13. 2/14. 2/16. 2/18. 2/19. 2/21.4/26. 5/13.
PTT処理別系統化:10/06, 10/09, 10/10, 10/12, 11/21, 12/09
Base Monitor System 追加:11/06, 11/18, 07/04/04-09



    命名:G-PRS: Glider Position Reporting System

    開発をはじめていた”グライダー移動体管理システム”ですが、デシタルデータ通信が可能なiCOM IC-U1GARMIN GPSを使ってトランスポンダ・モードCもどきが出来る見通しが付きました。
    このシステムのポイントは、位置の表示をGPSのディスプレイに任せた点で、簡便なシステム構成で他機の位置関係がチェック出来ることです。
    フライトサービスではパソコンを置かなくてもGPSの画面を使ってグライダーがどこにいるか一目瞭然、グライダーでは装備しているGPSの画面で他機の位置が確認できます。
    今後、PICを使ったインターフェースの高機能化で面白いことも出来そうです。
    さらに、PICと追加LCDでトランスポンダ・モードC相当の機能を付加することが出来ました。<02/06追記>


システム概要:


    ○システム構成
    • 無線機 : iCOM IC-U1
    • GPS : GARMIN GPS(地図表示のあるものが望ましい)
    • I/F : iCOM IC-U1のNMEAとMassageからWPLセンテンスを作成する。
    ○使い方
    • 上記のセットをグライダー、フライトサービスに準備する。
    • 各無線にコールサインをセットする。
    • 各局の位置がGPSの地図画面ににコールサインで表示される。
       (ロストしてもGPS画面にフライトサービスが表示される。)
    • 追加LCDで各機の高度が判る。
    ○使用資格・限界
    • 位置精度はGPSの精度(15m2drms)
    • 水平方向の位置表示(高度情報無し)
    • サービス限界は無線出力(5W)のエリア以内
    • アマチュア無線の資格必要
    ○課題
    • I/FにPICを用いているが、7-12V電源が必要になっている。
    • これを電池ボックス付きで作ると少々邪魔なものになってしまう。
    • PICのプログラミング次第で接近警報等の高機能化も可能。


■製作概要

    ポイントはiCOM IC-U1で受信した他局NMEAからGPSの画面に位置を表示するためのWPLセンテンスを作ること。
    そのために、iCOM IC-U1->GPSの間にPICでデータ変換を行うI/Fを置くことにする。


PIC I/F Box

<お詫び>
2/15以前のこの図は大きな間違いがあります。
RUN/PRG切り替え端子が本来は7番ですが9番(VCC)へ行っていました。
以前の図を資料にされた方は廃棄の上、この正しい図をお使いください。


    PICは秋月電子通商のPIC-BASICを用いた。
    http://akizukidenshi.com/catalog/items2.php?c=picbasic


    理由はC言語でガリガリ書くほど能力が無いのと開発の手間を短くするため。

    PICのセットは、開発用にAKI-PIC877ベーシック開発セットを一台、あとはAKI-PIC877ベーシック完成モジュール(ソフトなし)を必要なだけ用意すれば良い。

    開発セットはデバッグ等で使うが、実際の使用では嵩張るので最小限の構成にとどめたI/F Box化した。

    構成図は左図になる。

    このセットでもPCとDB9P F-Fのストーレートケーブルで接続すればPICの書き換えが可能なのでデバック等が簡単である。

    <01/30追記>
    PICからPTTのコントロールを可能にするため、RD7ポ−ト(CN-A 14番)をDB9-6番へ結線した。

    <02/09 追記>
    高度情報を必要とする場合はLCDを追加する。

    <10/10 追記>
    PTT処理専用版:PTTのタイミングをコントロールするデジタルスイッチはRD3,2,1,0(1bit目から順)を入力ポートとする。端子は4.7KΩで+5Vへプルアップ、デジタルスイッチでGNDへ。ネガティブで表記する。





    左図がI/F Boxの完成したもの。
    基地局に1台、移動局に3台を想定している。

    将来的には基地局にはLCDディスプレイ付きの物にして情報量を増やしたい。

    <02/04追記>
    追加LCDを用いて8局の高度を管理する機能を追加。ベーシック開発キットの16*2のLCDを20*4へ変更。

    <02/06追記>
    LCDで高度表示をおこなっている様子。
    水平位置はGPSのMap画面で確認、高度はLCDで確認することでトランスポンダ・モードC相当の機能となる。
    (機体番号はサンプルで意味はありません)

    <02/09 追記>
    LCDの表示をデバッグモードから見やすいものへ変更し、状態は更新"・”、ロスト"x"とした。


I/F Cable

PTTへの抵抗1KΩは本体側のPTTが機能しない場合、大きなものに換えてください。

I/F Cabe (受信処理とPTT処理を別PICで処理する) <10/06追記>

    iCOM IC-U1とGPSを繋ぐケーブルはiCOM IC-U1のTxDをPICで加工してGPSへ渡すため左図のようになる。

    DB9Pの9Pinに電源が出ているのは、グライダー用のGPSではよくあるパターンなので、流用が可能になるようにした。

    PTTコントロール用に1KΩを介してPTTへジャックを作った。<01/30追記>

    PTT処理の精度を上げるため、受信処理とPTT処理を分離し、PTT処理は自GPSのNMEAを分岐して、GGAのタイムコードを用いるようにしたため、I/Fケーブルのデザインを変更した。<10/06追記>

    10/06付きでGPS OUTをDB9 7Pinで受けるようにしていたが、8Pinへ変更した。<10/12追記>







中澤の作った基地局向け仕様。<02/18追記>
PIC I./FにLCDがセットされている。H50mm*W130mm*L30mmと比較的コンパクトに仕上がっているので、機体搭載も可能。
また、作りやすいので自作トライ向けでもある。

中澤の作った基地局向け仕様。<02/19追記>
ケースに入れた様子。
DB9コネクタにGPS/DATA/PTT/無線電源/電源入力ケーブルを取り付けて使う。電源は機体の12Vを用いてGPRS全ての電源をまかなえる。


NMEA受信処理専用/PTT処理専用にPICを別系統にしたので、これらを一体化したハードにした。<10/12追記>


    左図がセットアップをした様子。

    PICの電源は今後考えるつもりなので、今のところは009Pを使うことにしている。(写真には無い)

    下はケーブル類を切り詰めてスマートにしたもの。



    左はほぼ完成形のもの。背中の乾電池BOXにPIC電源回路が内蔵され、PTT/DATAラインは内部で直接配線されている。
    外部からはGPSDATAケーブル、電源ケーブルが刺さるだけ。
    無線関連担当:沖山さん作<02/08追記>



沖山さんの作った無線本体内蔵仕様。<02/18追記>
PICはもとより、無線用の電源回路を含み、I/Fケーブルは20Pinのコネクタを経て外部へ出ているため、コンパクトでかつ汎用性が高いモデルになっている。Bestモデル。





PTT処理を別系統にしたもの。
接続ケーブルにアダプタを入れ、小型ケースに入れた最小システムを専用にした。<10/06追記>


■PICプログラム

    下記の用にGGAセンテンスの位置情報とMessageから機番(またはフライサービス名)からWPLセンテンスを編集して追加するだけである。
    プログラミングのポイントは、通信が乱れたり、輻輳して途切れた際にデータがおかしくなるのを如何するかであるが、今回はGPSからのNMEAデータを厳格に解釈し、少しでもおかしなものは総て変換しないようにした。
    チェックサムは電波を経由したチェックサム自体の信頼性が保てないため、無視することにした。
    GPSへ送るWPLについてはデータが化ける可能性が無いため、チェックサムの付加を省略した。

    <IC-Uからのデータ例>
      -----------------------------------------------------------------------
      $GPGGA,165554,3653.0322,N,13797.3792,E,1,08,0.9,545.2,M,46.3,M,,*42
      12345678,JA50MB78901234567890
      -----------------------------------------------------------------------
    <上記の変換例>
      -----------------------------------------------------------------------
      $GPWPL,3653.0322,N,13797.3792,E,JA50MB*
      $GPGGA,165554,3653.0322,N,13797.3792,E,1,08,0.9,545.2,M,46.3,M,,*42
      12345678,JA50MB78901234567890
      -----------------------------------------------------------------------

    <GPSR プライベートセンテンス(案)>
      $GPRSWPL,3653.0322,N,13797.3792,E,545.2,M,JA50MB,coment,ident,*<CR><LF>
      NMEA-0183のWPLセンテンスに似せて、高度とcoment,ident,を挿入してみました。
      細かな定義、フィールド長等は今後検討です。
      このセンテンスを受信したGPRS端末(基地局PC等)はこれによって表示するように設計します。


    <Call Sign, Massageのフォーマット(案)>
・長さ
 	Call Sign(8)+,(1)+ Massage(20) = 29
・内容
	Massage(20)	:1-6	6字		機体番号(JA****)
			:7-10	4字		GPRS-ID(0000-9999左0詰)
			:11-14	4字		IDENT(0000-9999左0詰,トランスポンダに準拠する)
			:15-18	4字		メッセージ相手機番(デフォルト9999)
			:19-20	2字		ポーリング要求コマンド(00-99:未定)
      *IC-U1から設定できるMassageが20字のため変更<05.03.07>

    <プログラム例> 
    • BASIC版 Ver.050125 (無線側で自動送出) <バグ他出のため公開中止>
    • PTTコントロール版  <未公開>
    • PTT/Waypoint管理版 Ver.050202 (PICで送出をコントロール、受信できなくなった移動体は北極へ移動)
      <02/02追記><バグ多出のため公開中止>
    • 自動送出(要PTT配線)版/WPT管理版/高度管理版(要20字*4行LCD) Ver.050513 <05.05.13更新>
      <02/09 追記>
        CallSign構文チェックが落ちていたため修正。
        LCDの表示を見やすいように変更。
      <02/13 追記>
        -高度のエラー処理を追加。
        LCDの表示を見やすいように変更。
        モード変更用のDIPスイッチを追加する予定。
      <02/14 追記>
        REMARKを追加・修正
        国籍管理を止めた。機番の下4桁のみ使用。アルプスでの重複は仕方ない。
      <02/16 追記>
        モード変更用のDIPスイッチを追加する予定。
        NMEA出力設定ミス対策を強化。
      <02/21 追記>
        モード変更用のDIPスイッチを追加する予定。
        最後の1機mもロスト処理を行えるようにした。PTT2サイクル受信できないと3サイクル目にロスト処理する。
      <04/26 追記>
        GGAの時間でPTTコントロールするようにした。(未チェック)
        ロスト処理のサブルーチン化を整理追加した。(未チェック)
        GGAのチェックを甘くして処理を軽くした。(未チェック)
      <05/13 追記>
        GGAの時間でPTTコントロールするようにした。NMEAから時間を取って、オフセットで管理。時間が取れない場合は強制動作
        050512でテストの結果、1秒間隔では同期が不安定のため、マージンを増やして60秒で30機程度の管理を考慮するルーチンを検討
      ---------------------------------------------------------------------------------------------
    • 受信処理専用版(位置表示(WPT管理版/高度管理版(要20字*4行LCD))) Ver.wpt_070409 <07.04.09更新>
    • PTT処理専用版 Ver.ptt_051209 <05.12.09更新>
      <10/06 追記>
        自位置の送信PTTコントロールと他局の信号処理を1個のPICで処理することを諦め、別系統とすることにした。
          自位置の送信PTTコントロールは、自らのGPSのNMEAラインを分岐してPTT処理専用PICでGGAセンテンスから得、20秒間隔で10局(1局当たりPTT間隔は2秒)とした。
        これに伴い、ケーブルを修正した。
          GPS-TxDを2分岐してPTT処理専用PICと位置表示処理PICへ結線。
          位置表示処理PICから出ていたPTTコントロール線は切断し、PTT処理専用PICから出す。
      <10/06 追記>
        PTT_051006のファームはPTT送信タイミングがFirm決め打ちだが、デジタルスイッチを増設することで、切り替えができるようにする。
        RB4,5,6,7を入力ポートとし、tc_ptt値を外部から切り替えする。(端子をプルアップ、デジタルスイッチでグランド)
      <10/10 追記>
        受信専用版:
          受信エラーについて処理強化。2回受信できないとロスト処理する。
          最後の機体がロストした際、NMEAトリガで処理が効かないロスト処理をタイマーで処理(PTT処理を削ってなくなった機能の復活)

        PTT処理専用版:
          デジタルスイッチで0-9(20秒間隔、10局管理)を切り替え可能にした。
          RB4,5,6,7を入力ポートをRD3,2,1,0へ変更した。
      <10/12 追記>
        受信専用版:
          NMEA信号処理中はLEDを点灯するようにした。
      <07/04/03追記>
          移動局が遠くなった際にコールサインの文字化けが多くなるのは、Serin pb4800,200のwaitが100となっていた点を疑い、200msecに直す。
      <07/04/04追記>
          NMEAセンテンスのチェックを外していたものを再度採用し厳しくした。
          機番部分は数字と大文字アルファベットに限定した。
          これで明らかにおかしいエラーは無くなるが、もっともらしいエラーは残る。
      <07/04/04追記>
          ロストした際にGPS上の位置をギニア沖へ飛ばし擬似的に消去したがこれを変更し、LCDの機番IDの頭に"X"を付け、最後にロストしたところを残すようにした。 これによって救援等の対策が取れる。
          機番を機番IDとして2桁の二重送信にし照合チェックを入れた。そのためLCD表示も2桁化した。
          LCDの表示に2桁余裕が出来たので、表示を少し変えた。




    • G-PRS Base Monitor System (基地局システム)  pagprs Ver.0.1-051118
      ・NMEAセンテンスはGGA,RMCを使用
      ・テキストフォーマットのメッセージ部分の頭6桁でJAナンバー取得 (コールサイン,JA1234・・・・)
      ・GPSデータはWGS84、地図表示はTokyo_meanへ変換
      ・扱える最大機数は10機
      ・カーソルポイントで任意の機体を地図上にセンタリング可能
      ・対応地図ソフト:アルプス社プロアトラス2000/2001/2002 (W2/W3/SV未対応)
       

■IC-U1の設定

  • オプションUT-118デジタルユニット装着
  • シリアル設定は4800bps,8bit DATA, 1bit STOP, Non Parity
  • NMEAはGGAセンテンスのみの (G-PRS Base Monitor System (基地局システム)ではRMCも使用)
  • GPSデータは30秒間隔(最小)の自動送信。送信が輻輳する場合は間隔を空ける GPSデータの送出はPICのコントロ−ルとする
  • Massage最初の6桁に機体番号(******)またはフライトサービス名(******)を入力
  • 具体的なセットアップ
    • イニシャルセット
      • ロックアウト機能 - RLo.Bu(受信ある時は送信しない)
      • オプションセットモード - [SET(TONE)]を長く押し、dtm.ONとする。
    • オプションセット
      • 自局コールサインの設定 - mYC.1  アマチュア無線コールサインをセットします。
      • データ自動送信の設定 - Atx.On [DATA]ソケットにデータを入力すると、自動で送信する。
      • 本機とパソコン間の通信速度 - Spd.48 4800bpsに設定します。
      • 自局コールサイン - myd.On コールサインを表示します。
      • メッセージ送信機能の設定 - mES.On メッセージを送信します。
      • GPSの設定 - GPS.2 GGAセンテンスのみ出力します。(G-PRS Base Monitor System (基地局システム)ではRMCを使うためGPS.10)
      • メッセージ送信機能 - mES.on メッセージを送信します。
      • GPS自動送信の設定 - GtX.OF 位置情報を送信しません。
      • GPSメッセージ出力の設定 - Gmt.C1-C6 GPSメッセージを出力します。(未定)


■GPSの設定

  • interfaceの設定をNMEAにする。


■対応機種

  • eTrex Vista/Legend, Geko201, GPS V, GPSMap60CSを 確認 (その他最近のものは使えると思うが未確認)


■使い方

    IC-U1とGPSの設定を行い各機器の電源が入っていれば、30秒間隔で PICのコントロ−ルによりGPSの位置情報が自動的に送出される。
    他局の位置情報を受信した局では、I/F BoxでWPLを作成、GPSへ送ることでGPS画面上にMassegeに記載された機番がWaypointとして表示される。
    (注意)
    データが来ないまたはGPSがロストした際には、Waypointの位置の更新が行われず、その場に止まってしまう。 
    PIC側の管理でロストしたと思われる局は北極へ移動することにした。





■参考

    ---iCOM社のWEBから---
    D-STAR 標準方式に沿ったDV(デジタルボイス)モード対応
    オプションのデジタルユニット(UT-118)を装着することで、デジタル音声通信に加え、同時にデータ通信(約950bps)が可能です。例えば、本機と市販のハンディGPSレシーバー(出力ポート付き)を本体側面にあるDATA端子に接続すれば、本機の表示画面でGPSからの測位情報を確認することができ、受信した測位情報をDV(デジタルボイス)モードで送信し、あらかじめ本機とPCを接続した局が受信すれば、パソコンに表示された地図上※で相手の位置を確認することができます。そのほか、簡易なメッセージの送受信も可能です。


■関連リンク



Copyright by Kazuo Nakazawa