2015年4月11日土曜日

DVSP2 プロジェクトを楽しむ!!

Back


 DVSP2は,ポーランドのHAM グループが勧めるプロジェクトで,SQ9MDD が中心となってブログ公開をしています。
 主に,プリント基板の設計とソフトの開発を行い,その設計データをフリーウェアで取り込むことによって誰にでも基板の版下が作れます。 また,ソフトウェアはArduino というマイコン(互換機含む)向けで,これもパソコンからフリーウェアで焼き込みます。
 こうして出来上がったデバイスをパソコンやRasberry Pi と接続(一体化も可能)して,G4KLX ソフトウェア(ircDDBGateway と DStarRepeater)で使用します。

 この記事は,私の属するクラブ「Digital Radio Challengers」の皆さん( JF1CXH, JH1BLT, JP1LMJ 各局)との情報交換を基に完成させたDVSP2の製作記事です。


ここでご紹介している D-STAR ネットワークへの接続ツール(各種ノード・DVAPなど)の運用においては 免許申請について(安田OMサイト)をご参照ください。 (2013年8月 ガイドラインが示されました。)

● パソコン関連の準備と使い方

  1. Arduino開発環境(IDE)の構築

  2. http://arduino.cc/en/Main/Software#toc2

    上記URLからArduino IDE*1 最新版をダウンロードし,インストールします。ドライバー*2 も含んでいます。

    *1 Arduinoの開発が出来るソフトウェアです。今回の作業ではArduinoにファームウェアを書き込むために使用します。
      勿論プログラムの変更をした上で書き込むことも出来ます。
    *2 もし,下記のように接続しても認識しない場合は下記URLからドライバーの最新版をインストールしてみてください。
      http://www.ftdichip.com/Drivers/VCP.htm

    =MEMO= (2015.11.27追記)
    Windows10 の方で認識しない理由はこちらをご参照ください。
    上記2サイトの違いは分かりませんが、私の場合Windows10にアップグレード後二つ目の方をインストールして初めてUSBドライバの問題が解決しました。 上記2バージョンはどちらもUSBシリアルドライバが付属しています。


    miniUSBケーブルでArduinoとPCを接続します。COMポートとして認識し,書き込み可能となると,ArdionoのPWRが点灯,その隣のLがゆっくり点滅します。

  3. ソースファイルとライブラリーの入手

  4. http://tech4.pl/SQ9MDD/?p=259

    上記 URLの SQ9MDD Ryszard のブログ「DVSP2 nowy firmware v. 2.2.6」からDVSP_R226-140831a をダ ウンロードします。 (バージョンは逐次アップデートされます)

    ZIPファイルを解凍*3 します。

    *3 解凍したファイルは,ファイルと同名のフォルダに入った状態でしかArduino IDEで使用することができません。

    さらに,液晶に関するページ Library: LCD5110_Basic から LCD5110_Basic.rar *4 をダウンロードし解凍します。

     http://www.rinkydinkelectronics.com/library.php?id=45

    *4 RARという圧縮ファイルを解凍できるソフトを使用してください。これも同名のフォルダに入った状態で使用します

    Arduino IDEの画面で[スケッチ]→[ライブラリを使用]→[Add library....]を選択してエクスプローラで解凍したフォルダ「LCD5110_Basic」を指定, コンパイルで使用できるようにします。一度指定すると,専用フォルダにコピーされるため解凍したファイルは削除できます。

     HowTo: http://arduino.cc/en/Guide/Libraries


  5. ファームウェアの書き込み

  6. Arduino 単体の状態だとパソコンと Arduino をUSBケーブルで接続するだけで書き込めます。 Arduinoを基板に取り付けた状態で書き込むときは,10μFコンデンサー横のジャンパーを外します

    Arduino IDEの画面で

    1. [ファイル]→[開く]から解凍した「DVSP_R226」フォルダの中の DVSP_R226.ino を指定します。
    2. ツールバーで(✔)をクリックすると,正しくコンパイルできるかチェックすることが出来ます。
    3. ツールバーで(➡)をクリックすると,あらためてコンパイルがはじまります。
    4. COMポートの設定が違っていると使えるポートを表示した上で継続するか聞かれるので,手動で設定し直す必要はありません。
    5. 書き込みが始まると,ゆっくり点滅していたLが消灯し,最初から点灯しているPWRはそのままで,TXとRXが激しく点滅します。
    6. 書き込みが終了するとPWRとLが点灯となります。


  7. プリント基板作成用ツール

  8. http://www.abacom-online.de/updates/Sprint-Layout60_Viewer.exe

    上記のサイトからSprint-Layout 6.0 Viewerをダウンロードしてインストールします。プリント基板レイアウトのビューワです。

    http://sp-hm.pl/attachment.php?aid=8720*5

    さらに,上記アドレスからレイアウトデータをダウンロードし,Sprint-Layout 6.0で版下を作成します。

    *5 Home Made Group のページです。参考になるビデオなども掲載されています。

    図は配線,プリント,シルク,ホールに分けて表示プリントできます。

    1. 上図にて[File]→[Print...]を選択します。

    2. 印刷プレビュー画面で[✔]S1 のチェックを外すと基板用の配線データとなります。

    3. トレーシングペーパのような半透明または透明な用紙(プリンタに合った物)にモノクロを選択して印刷します。
    仕上がりが薄いようなら二度印刷してもいいでしょう

    また,パーツを半田付きするときに分かり易いように,シルク印刷(赤のみを✔)をしておくといいでしょう。

    このマスクを使って露光,エッチング処理をして基板を完成させます。

    右写真は,0.8φでホールを開け,完成したプリント基板です。

●パーツの準備

    パーツリスト
    マイコンRaspberry Pi1プリント基板はRaspberry Pi Bに合わせてあるが,もちろんB+でも使用可能
    Arduino Nano1互換品を使用
    トランシーバRF7021SE1ADF7021ボード
    水晶発振器TCXO 14.7456MHz13.3V SMD 5x7mm(10個セットになっている)
    3.2x2.5mmのタイプを使う場合後述参照
    水晶発振子を購入しないように注意が必要
    レベルコンバータ5V-3V1
    液晶パネルPCB for Nokia51101ブルーバックライト, 84x48ドット
    トランジスタBC5471SC1815で代用するときはピン配列に注意
    抵抗1.5K2
    3.3K2
    1K3
    2.2K1
    3301
    10K1
    コンデンサー10μF1


    そのほかに直接半田付けしない場合はソケットやピンプラグが必要となります。

    海外より購入するメインパーツ (データについては下記を参照してください。)

    Arduino NANO
    http://www.aliexpress.com/item/Freeshipping-Funduino-Nano-3-0-controller-compatible-For-arduino-nano/1332251505.html

    液晶ディスプレイ 5110
    http://www.aliexpress.com/item/84X48-Nokia-5110-LCD-Module-with-backlight-adapter-PCB-Free-Shipping-Dropshipping/1315125070.html

    水晶発振器
    http://www.aliexpress.com/item/Free-shipping-OSC-5-7-7050-5070-14-7456m-14-7456MHZ-3-3V-SMD-crystal-oscillator/1286114273.html

    RF7021SE
    http://www.aliexpress.com/item/Rf7021se-adf7021-wireless-module-wireless-module/1331907442.html

    レベルコンバータ
    http://www.aliexpress.com/item/10pcs-lot-5V-3V-IIC-UART-SPI-Four-Channel-Level-Converter-Module-for-Arduino-Fe2232/1797751084.html

    部品が揃ったら,作成したプリント基板に半田付けしていくだけです。(レイアウト図参照)


    =MEMO=  海外サイトでのパーツ仕入はトラブルも考えられるので PayPal などで対策する必要があります。 また,上記サイトでは PayPal が使用できないためワンタイムカードやプリペイドカードなどを使用すると便利です。 私の場合はドコモ口座を利用しています。

●改造等注意点

  1. LCD5110にピン配列の違うものが有ります。(ピン変換テーブル)

  2. 基板側ケーブル5110側
    RST—— reset==> 4① VCC
    CE—— optional==> 3② GND
    DC—— data/instruction select==> 5③ SCE
    DIN—— a serial data line==> 6④ RST
    CLK—— a serial clock line==> 7⑤ D/C
    3.3V—— positive pole==> 1⑥ DN
    LIGHT—— backlight control side==> 8⑦ SCLK
    GND—— Negative pole==> 2⑧ LED


    基板側と同配列のものを購入すること,ただしこの配列の違う商品の方が一回り大きい

  3. RF7021SEのジャンパー

  4. ADF7021の[36]CLKOUTとコネクターの[NC]を接続します。
    (オレンジのライン)

    右側
    一番上のピン





    アナログ・デバイセズ株式会社
    データシートより引用

  5. 水晶発振器の交換

  6.  プリント基板に水晶発振器5mm x 7mmのタイプを取り付け, ③番のホールから,RF7021SE基板の取り外した水晶発振器の③番(上図)へリード線で接続します。



    ・プリント基板上に水晶発振器を取り付けない場合

    水晶発振器 14.7456MHz 3.2x 2.5mmタイプを購入して,取り外した場所に交換取り付けする方法も有ります。 この場合リード線も不要で,RF7021SEをコネクターで付け外しをする場合便利です。

●動作チェック

     一通りパーツを取り付けたらパソコンまたはRaspberry PiとUSB接続で動作をチェックしてみると良いでしょう。 G4KLX アプリケーションの DStarRepeater を使用し,モデムを DVMEGA に設定します。
    その場合の設定は右図のようになります。周波数の書き方に注意が必要です。単位がHzであるため数字のみでピリオドは入りません。 また,ここでは[Controller]の項目は設定不要です。

    詳しくは,
    ircDDB Gateway 初めての設定
    DStarRepeater 初めての設定 を参照してください。

    うまく行けば液晶に「DVSP2」と表示された後,図の設定通りだと438.310と,また設定せず電源を入れただけだと434.612と基準的周波数を表示します。

    もちろん,このままUSB接続で使用することも出来ます。

●RaspberryのGPIOを使用しUSBケーブルを不要に

    Rapberry Pi の GPIO 側ソケットは裏半田になるため少し浮かせています。

    高さは,Raspberry Pi 上面のパーツと,作成した基板が干渉しない程度に調整します。

  1. GPIOのシリアルを使用するための準備


  2. =MEMO= GPIO使用時のttyAMA0 に関する設定(変わりました。)をご参照ください。Wheezyなどをそのままお使いの場合は下記の手順に従ってください。

    DStarRepeaterとircDDBGatewayをインストールしたRaspberry Piのコンソールで

    $ sudo nano /boot/cmdline.txt
    
     GNU nano 2.2.6          File: /boot/cmdline.txt

    #dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
              ↓
    dwc_otg.lpm_enable=0 rpitestmode=1 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
    



    $ sudo nano /etc/inittab
    

     GNU nano 2.2.6          File: /etc/inittab

    #Spawn a getty on Raspberry Pi serial line
    T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
              ↓
    #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
    


    この場合,DStarRepeaterの設定では DVMEGAのポートとしてttyAMA0を選択します。


Back


73
J E 3 H C Z @REF047 C

2 件のコメント:

  1. Before programming Arduino be sure the "HardwareSerial.cpp" under Arduino instalation folder\hardware\arduino\cores\arduino is changed.

    From:
    #if (RAMEND < 1000)
    #define SERIAL_BUFFER_SIZE 16
    #else
    #define SERIAL_BUFFER_SIZE 64
    #endif

    To:

    #if (RAMEND < 1000)
    #define SERIAL_BUFFER_SIZE 16
    #else
    #define SERIAL_BUFFER_SIZE 128
    #endif

    返信削除
    返信
    1. Hi Ryszard SQ9MDD,

      Thank you for your project and for this comment.
      I will try and check soon.

      73 Regards
      Yosh Todo JE3HCZ

      削除