Back
DVSP2は,ポーランドのHAM グループが勧めるプロジェクトで,SQ9MDD が中心となってブログ公開をしています。
主に,プリント基板の設計とソフトの開発を行い,その設計データをフリーウェアで取り込むことによって誰にでも基板の版下が作れます。 また,ソフトウェアはArduino というマイコン(互換機含む)向けで,これもパソコンからフリーウェアで焼き込みます。
こうして出来上がったデバイスをパソコンやRasberry Pi と接続(一体化も可能)して,G4KLX ソフトウェア(ircDDBGateway と DStarRepeater)で使用します。
この記事は,私の属していたクラブ「Digital Radio Challengers」の皆さん( JF1CXH, JH1BLT, JP1LMJ 各局)との情報交換を基に完成させたDVSP2の製作記事です。
ここでご紹介している D-STAR ネットワークへの接続ツール(各種ノード・DVAPなど)の運用においては
免許申請について(安田OMサイト)をご参照ください。
(2013年8月 ガイドラインが示されました。)
● パソコン関連の準備と使い方
- Arduino開発環境(IDE)の構築
- ソースファイルとライブラリーの入手
- ファームウェアの書き込み
- [ファイル]→[開く]から解凍した「DVSP_R226」フォルダの中の DVSP_R226.ino を指定します。
- ツールバーで(✔)をクリックすると,正しくコンパイルできるかチェックすることが出来ます。
- ツールバーで(➡)をクリックすると,あらためてコンパイルがはじまります。
- COMポートの設定が違っていると使えるポートを表示した上で継続するか聞かれるので,手動で設定し直す必要はありません。
- 書き込みが始まると,ゆっくり点滅していたLが消灯し,最初から点灯しているPWRはそのままで,TXとRXが激しく点滅します。
- 書き込みが終了するとPWRとLが点灯となります。
- プリント基板作成用ツール
- 上図にて[File]→[Print...]を選択します。
- 印刷プレビュー画面で[✔]S1 ■のチェックを外すと基板用の配線データとなります。
- トレーシングペーパのような半透明または透明な用紙(プリンタに合った物)にモノクロを選択して印刷します。
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がゆっくり点滅します。
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
Arduino 単体の状態だとパソコンと Arduino をUSBケーブルで接続するだけで書き込めます。 Arduinoを基板に取り付けた状態で書き込むときは,10μFコンデンサー横のジャンパーを外します。
Arduino IDEの画面で
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 のページです。参考になるビデオなども掲載されています。
図は配線,プリント,シルク,ホールに分けて表示プリントできます。
また,パーツを半田付きするときに分かり易いように,シルク印刷(赤のみを✔)をしておくといいでしょう。
このマスクを使って露光,エッチング処理をして基板を完成させます。
右写真は,0.8φでホールを開け,完成したプリント基板です。
●パーツの準備
-
パーツリスト
マイコン | Raspberry Pi | 1 | プリント基板はRaspberry Pi Bに合わせてあるが,もちろんB+でも使用可能 |
Arduino Nano | 1 | 互換品を使用 | |
トランシーバ | RF7021SE | 1 | ADF7021ボード |
水晶発振器 | TCXO 14.7456MHz | 1 | 3.3V SMD 5x7mm(10個セットになっている) 3.2x2.5mmのタイプを使う場合後述参照 水晶発振子を購入しないように注意が必要 |
レベルコンバータ | 5V-3V | 1 | |
液晶パネル | PCB for Nokia5110 | 1 | ブルーバックライト, 84x48ドット |
トランジスタ | BC547 | 1 | SC1815で代用するときはピン配列に注意 |
抵抗 | 1.5K | 2 | |
3.3K | 2 | ||
1K | 3 | ||
2.2K | 1 | ||
330 | 1 | ||
10K | 1 | ||
コンデンサー | 10μF | 1 |
そのほかに直接半田付けしない場合はソケットやピンプラグが必要となります。
海外より購入するメインパーツ (データについては下記を参照してください。)
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 が使用できないためワンタイムカードやプリペイドカードなどを使用すると便利です。 私の場合はドコモ口座を利用しています。
●改造等注意点
- LCD5110にピン配列の違うものが有ります。(ピン変換テーブル)
- RF7021SEのジャンパー
- 水晶発振器の交換
基板側 | ケーブル | 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 |
基板側と同配列のものを購入すること,ただしこの配列の違う商品の方が一回り大きい
ADF7021の[36]CLKOUTとコネクターの[NC]を接続します。
(オレンジのライン)
右側
一番上のピン
アナログ・デバイセズ株式会社
データシートより引用
プリント基板に水晶発振器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 側ソケットは裏半田になるため少し浮かせています。
- GPIOのシリアルを使用するための準備
高さは,Raspberry Pi 上面のパーツと,作成した基板が干渉しない程度に調整します。
=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=0console=ttyAMA0,115200console=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
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
Hi Ryszard SQ9MDD,
削除Thank you for your project and for this comment.
I will try and check soon.
73 Regards
Yosh Todo JE3HCZ