<その3.Hamlogのデータを表示する装置・「 Data Base Viewer 」>

記 2008年06月02日〜  ja3npl

  SDカードに入れたHamlogのデータを、マイコンで読み出し、LCDに表示する装置です。

  私は、ja3npl(固定局)とja4vr(移動局)の2局で運用しています。
  度々に、「相手局の方は、以前にQSOした方?..もう一方のコールでQSOしているのでは?」と思うのですが、
パソコンの立ち上げや、QSO中のキー・ボード入力、もう一方のコールのhamlog画面の起動、が簡単には出来ません。

  これらの手間を解消する為に、瞬時に起動するマイコンを使って、CWでコールを入力し検索する装置を作ろうと思いつきました。

a.出来上がりの状況

  Ver 3.0 です。ケース外形寸法;110x80x31mm。

  上面はLCDの画面と、CW入力用のパドル・キー。
  このパドルは、別項の「押し下げ方式のS_G_Paddle」を小型化したものです。

  右側面は、充電用DCコネクター、電源on用押しボタン、USBコネクター。

  LCD基板(緑色)と、本体基板(茶色)の間にはリチウムイオン電池を収納。



  基板の詳細などは、次の写真、回路図、PICマイコンソフト(MPLAB/C30)を参照下さい。クリックで別ウインドウ拡大です。

  基板パターンは、PCBEファイル;DBviewer_sub.pcb です。


b.構成要素

  1. データの読み出し
      マイコンPIC24FJ64GA002を中心に、歪ゲージアンプ、SDカード、LCD等と対応しています。

      CW信号を検出して文字列に変換、この文字列(コマンド)に従って、SDカード、LCD等を制御しています。



  2. データの書き込み

      USBコネクターを差し込むと、燈色部分が起動します。(青色部分は共用)

      つまり、SDカード・ライターを構成しています。

      市販のメモリー・カード・ライターは、windowsファイルを書込む方式になっていますが、このSDカード・ライター部分は、カードのメモリー・アドレス(ブロック)を一つずつ指定し、読み書きする方式なので、Hamlogのデータを1文字ずつに分解して、SDカードのアドレスに割り当てます。
    (専用のライブラリー・ソフトを使えば、windowsファイルを扱えるらしいのですが、未だ勉強不足の為、読み出し方法が判りません。)



c.LCDの表示例

  1. コマンド入力
      画面の表示は、8行、各行18文字です。 MSDOSの表示方法を真似ました。

      プロンプト">"の行は、コマンドの文字列です。
    "VB"は、バッテリー電圧を表示せよ..です。
    "BL"は、LCDのバックライトを点灯せよ..です。もう一度"BL"を入力すると、消灯します。
      最下行を過ぎると、スクロールして、上の方から消えて行きます。

  2. 検索例1
      検索するコールを入力します。(コマンド文字列に該当しないので、次のコマンド待ちになる。)
      "S2"のコマンドは、直前に入力した文字列を、SDカード内の2番目のデータベース内から検索せよ..です。

  3. 検索例2
      "SS1"のコマンドは、(1件6行で表示し、)直前に入力した文字列を、SDカード内の1番目のデータベース内から検索せよ..です。

      コマンドには、"CS";クリア・スクリーン、"OF";電源オフ 等があります。タイマーにより、5分後には自動電源オフになります。 漢字等、全角文字は表示出来ません。
      フォント(font.h)は、「電子工作の実験室・後閑氏」からダウンロードさせていただきました。

d.パソコン側ソフト

  1. 「Hamlog_SDcard」
      左のウインドウで、項目順に、ボタンを押して進めば、SDカードへのデータ書込みが出来る要領です。

      私は、DOS版のHamlogを使っています。
      このHamlog.exeの"-t"コマンドを使って、テキストデータを作ります。
      検索を補助するインデックス・ファイル(コールとレコード番号の対照表)を作ります。
      これらのテキストファイルを1行(512バイト)ずつマイコン側へ送出し、マイコンからOKの合図があったら、次の1行を送出するようにしています。
      VB.NETです。

  2. ソフト「Hamlog_SDcard」のダウンロード

    Ver 3.0 のコード・リスト。(クリック、別ウインドウ、テキスト表示です。)

    Hamlog_SDcard.lzh(96KB)のダウンロード。(クリック、ダウンロード開始ウインドウ。)
    インストールの仕方については、「db_Hz_Chart.exeのダウン・ロードとインストール」 と類似です。

      シリアル通信の初期設定は、ポート2、9600、n、8、1 となっていますが、添付のiniファイル「Hamlog_SDcardConfig.ini」 を書き直して、変更できます。


e.失敗例

  1. 電源電圧3.3V系の周辺事情1
      最初の計画は、Liイオン電池(3.6〜4.2v)から、3.3Vレギュレータを使い、3.3vを得るものでした。
      これの欠点は、@3.3Vレギュレータの電圧降下が0.3v程度あるため、電池の電圧が3.6v以下になると、変動する事(電池電圧監視の基準電圧Vrefが定まらない。)、ALCDのバックライト(4.2v)が点灯できない、です。
      対策として、DCDCコンバータを追加しました。

  2. 電源電圧3.3V系の周辺事情2
      SDカードが3.3v仕様なので、これに合わせて3.3v系にするわけですが、@LCDの3.3v動作はOK、Aマイコンのsleep動作が使えない(マイコンの電源側に3.3vレギュレータが入っており、これの漏れ電流が継続する為、節電モードが無駄になる。)、Bインストルメンテーション・アンプは、少々、回路が複雑なため、専用のICを使って簡略回路にしたいが、専用ICは電源電圧5v系となっており、使えない、と言う制約もあります。

  3. 電源電圧3.3V系の周辺事情3
      FT232BMは5V系の回路としました。対するマイコン側のデジタルI/Oは、オープン・ドレイン出力、5vプルアップ抵抗、入力は、5v対応ピンを選択していました。FT232BMの入力ピンのH/L判定は、3.3v信号にも応ずることが判り、オープン・ドレインはやめることが出来ました。

  4. FT232BMの信号の逆流
      USBコネクターを差し込むと、USBの電圧を検出して、マイコンをUSB/UARTモードにする回路です。ところが、USBコネクターを引き抜いても、電圧が残留する事が判りました。マイコンのUART出力→FT232BMのRXD入力ピン→FT232BMのVdd..と回り込んでいました。USB電源側に逆流防止ダイオードを入れました。

  5. LCDの扱い
      128x64ドットのLCDを使うのは初めてでした。
      データシートに従って進めましたが、結局は、リセット端子;オープン、R/W端子はGndとしました。
      リセット端子をGndに落としても、リセット動作が起こりませんでした。基板の回路をたどっていくと、ダイオードD1(写真の中央)が在り、極性が逆になっています。QCOKなので、設計上の不備なのでは。これを修正すれば、リセット端子は機能すると思われます。

  6. 動作速度1
      Hamlogデータ(約5,000件)を、SDカードに書込む時間は、現状で、約40分かかります。
      改善の要点は、
    @Hamlogデータ1件は200文字なのに、SDカードのブロック512バイトに合わせて、1件512文字に変換して送出している、
    Aマイコンのクロックは、現状Fosc=8MHz、Fcy=4MHzなので、PLLx4モードを使って早くできる、
    ..です。
      一方、LCDや、SDカードには、早いクロックについて行けないという制約も考えられます。とりあえずの、現状です。

  7. 動作速度2
      約5,000件の中から検索するのに、SDカードの1ブロック512バイトを読込み、文字を照合する..という繰り返しをしていました。この方法では、5,000件のデータを全て読込むので、約35秒程要していました。
      インデックス・ファイル(コールサインとレコード番号の対照表)を作り、インデックス・ファイルの中で、コールを検索し、採出したレコード番号のデータのみを読込む方法にしました。この方法では、約100ブロック余の読み込みで完了するので、約1秒に収まりました。

  8. CWサイド・トーン
      左は、圧電スピーカー(外形17mm)に、700Hzの矩形波を加えて鳴らし、パソコン・マイクでサンプリングし、周波数特性図に表したものです。
      700Hz矩形波は、マイコンのコンペア・モードで出力していて、CWビート音のつもりでした。
      しかし、700Hzの音が出ていません。圧電素子は7倍の高調波5KHzあたりに共振するように作られているようです。
      しかも、15KHz以上の超音波帯域が出ています。この領域の音は、私には聞こえませんが、子供達は、この音がすると不快に感じるようです。パソコン・マイクのこの領域の感度は落ちているので、音のレベルはきっと高いのでしょう。
      L.P.F.を入れてみましたが、全く効果無しです。おそらく、圧電素子の内部で飽和した振幅をするようになっていて、高調波が生成されるのでは。

      左は、外形13mmのスピーカー(Imp=8ohm)を使った場合の周波数特性です。1段のRCフィルター等が入っています。聞きやすい音になりました。このスピーカーは、大阪日本橋に何種類かありました、携帯やヘッド・フォーンに使われているものと思われます。
    (60Hz、120Hz、240HzはAC電源ハムです。)

・・ヒント・・

  1.   この装置を作るにあたって、部分的に、標準化して(ソフトではライブラリー、ハードではユニット)、製作しやすいように出来ないか..と模索しましたが、ついに最後まで、独自の仕様でその場限りの方法で、やっつけた感じです。従って、扱うデータベースに応じて、パソコン側、マイコン側のソフトを作り直す必要があり、まだまだ、汎用には出来ないと思いました。
  2.   この装置は、Hamlogのデータ検索だけでなく、JCCリスト、DXCCリストや、電話帳、ID/パスワード・リストにも適用でき、暗号化も容易です。
  3.   CWで文字を入力する方法は、有効です。充分に、キー・ボードの代わりとなります。この方法は、もっと、トランシーバなどのハム局設備の制御に使っても良いのでは。
      本装置は、電子辞書の操作感に似ています。キー・ボードの小型のもの(電子辞書のように)が市販されれば、自作品に適用できて、楽しみが増えることでしょう。
  4.   CWでの文字入力は、QSO中に、話しをしながらでも、片手で打ち込みが出来ます。私が、CWに慣れている事、キー・ボードで入力する時は、指先を目で追ってしまう程下手な状況があります。

以上

*戻る*