mcHF v0.7 UHSDR(ver 2.9.13) ソフトウエアの日本対応

mcHF の組み立てを始めた時に Logic ボードの動作確認のため https://github.com/df8oe/UHSDR にある mcHF のファームウエアを raspberry pi にダウンロード・ビルドして動作確認を行いました。ただし、このソースをそのまま使用しますと日本のアマチュアバンドにない 5MHz帯などが設定されていたりするため問題があります。

基本的にこのソフトは設計者がイギリスの方なのでリージョン1のバンドプランで設定されています。これを日本のバンドプランにあわせたいところですが、特に 3.8MHz帯 は発射可能な周波数の範囲が細切れでこれをすべて反映させるのはソフトウエアの修正箇所が非常に多くなります。ここではもともと 5MHz 帯の設定を 3.8MHz 帯にずらした対応でやりたいと思います。

ソースのハードコピーを掲載してわかりやすくしたいところですが、git の diff 表示で我慢してください。

行の頭に(-)マイナスついている行は修正前のもので、削除されたもの
行の頭に(+)プラスがついている行は修正後のもので、追加されたもの

■電源 ON 時のファームウエアバージョン表示文字サイズを小さくする

diff --git a/mchf-eclipse/drivers/ui/ui_driver.c b/mchf-eclipse/drivers/ui/ui_driver.c
index 2f90ec7f..4109115a 100644
--- a/mchf-eclipse/drivers/ui/ui_driver.c
+++ b/mchf-eclipse/drivers/ui/ui_driver.c
@@ -5616,7 +5616,7 @@ void UiDriver_StartUpScreenInit()
 #endif

        snprintf(tx,100,"%s%s","UHSDR Vers. ",UiMenu_GetSystemInfo(&clr,INFO_FW_VERSION));
-       nextY = UiLcdHy28_PrintTextCentered(ts.Layout->StartUpScreen_START.x, nextY + 8, 320, tx, Yellow, Black, 1);
+       nextY = UiLcdHy28_PrintTextCentered(ts.Layout->StartUpScreen_START.x, nextY + 8, 320, tx, Yellow, Black, 0);

        nextY = UiLcdHy28_PrintTextCentered(ts.Layout->StartUpScreen_START.x, nextY + 3, 320, "Firmware License: " UHSDR_LICENCE "\n
" UHSDR_REPO, White, Black, 0);

■バージョン番号に -JA を付与する

diff --git a/mchf-eclipse/src/uhsdr_version.h b/mchf-eclipse/src/uhsdr_version.h
index 63ba7176..e4eba8fe 100644
--- a/mchf-eclipse/src/uhsdr_version.h
+++ b/mchf-eclipse/src/uhsdr_version.h
@@ -28,7 +28,7 @@
 #endif

 // trailing characters are needed for identifying version and building date+time in binary
-#define            UHSDR_VERSION           "fwv-"UHSDR_VER_MAJOR"."UHSDR_VER_MINOR"."UHSDR_VER_RELEASE
+#define            UHSDR_VERSION           "fwv-"UHSDR_VER_MAJOR"."UHSDR_VER_MINOR"."UHSDR_VER_RELEASE"-JA"
 #define            UHSDR_BUILD_DAT         "fwt-"__DATE__ " - " __TIME__
 #define            UHSDR_LICENCE           "GNU GPLv3"
 #define     UHSDR_REPO              "github.com/df8oe/UHSDR"

■3.5MHz ,3.8MHz, 7MHz 帯のバンド変更

diff --git a/mchf-eclipse/hardware/uhsdr_board.h b/mchf-eclipse/hardware/uhsdr_board.h
index 6f73ee2b..eb2a0b3c 100644
--- a/mchf-eclipse/hardware/uhsdr_board.h
+++ b/mchf-eclipse/hardware/uhsdr_board.h
@@ -289,15 +289,15 @@ struct mchf_waterfall
 //
 #define        BAND_MODE_80                    0
 #define        BAND_FREQ_80                    3500*KHZ_MULT           // 3500 kHz
-#define        BAND_SIZE_80                    500*KHZ_MULT            // 500 kHz in size (Region 2)
+#define        BAND_SIZE_80                    75*KHZ_MULT             // 500 kHz in size (Region 2)
 //
 #define        BAND_MODE_60                    1
-#define        BAND_FREQ_60                    5250*KHZ_MULT           // 5250 kHz
-#define        BAND_SIZE_60                    200*KHZ_MULT            // 200 kHz in size to allow different allocations
+#define        BAND_FREQ_60                    3702*KHZ_MULT           // 5250 kHz
+#define        BAND_SIZE_60                    14*KHZ_MULT             // 200 kHz in size to allow different allocations
 //
 #define        BAND_MODE_40                    2
 #define        BAND_FREQ_40                    7000*KHZ_MULT           // 7000 kHz
-#define        BAND_SIZE_40                    300*KHZ_MULT            // 300 kHz in size (Region 2)
+#define        BAND_SIZE_40                    200*KHZ_MULT            // 300 kHz in size (Region 2)
 //
 #define        BAND_MODE_30                    3
 #define        BAND_FREQ_30                    10100*KHZ_MULT          // 10100 kHz

■LCD に表示するバンド名(60m を 79mに)、フィルター切り替え設定の修正

diff --git a/mchf-eclipse/drivers/ui/radio_management.c b/mchf-eclipse/drivers/ui/radio_management.c
index 745f26ff..904b0959 100644
--- a/mchf-eclipse/drivers/ui/radio_management.c
+++ b/mchf-eclipse/drivers/ui/radio_management.c
@@ -84,7 +84,7 @@ DialFrequency               df;
 const BandInfo bandInfo[] =
 {
     BandInfoGenerate(80,M,"80m") ,
-    BandInfoGenerate(60,M,"60m"),
+    BandInfoGenerate(60,M,"79m"),
     BandInfoGenerate(40,M,"40m"),
     BandInfoGenerate(30,M,"30m"),
     BandInfoGenerate(20,M,"20m"),
@@ -784,10 +784,11 @@ void RadioManagement_ChangeBandFilter(uchar band)
     case BAND_MODE_630:
     case BAND_MODE_160:
     case BAND_MODE_80:
+    case BAND_MODE_60:
         Board_SelectLpfBpf(0);
         break;

-    case BAND_MODE_60:
+    // case BAND_MODE_60:
     case BAND_MODE_40:
         Board_SelectLpfBpf(1);
         break;

——– 2018/3/9 追記開始
hardware/uhsdr_board.c のローパスフィルター切り替えについて補足します。 RF ボードで一生懸命トロイダルコアに線を巻いてフィルターを作りましたが、この回路を LTSpice で見ると以下のようになります。(クリックすると大きく表示されます)

カットオフ周波数はおおよそですが
・5MHz
・8Mhz
・17.5Mhz
・36MHz
の4つあります。5Mhz帯(60m)の設定を 3.8MHz帯に書き換えしたときは、このLPF設定も 5Mhz の LPF を使うようにしたほうがいいなということで、上記フィルター切り替えの変更をしています。書き換えない場合は 8Mhz のフィルターをとおるので別に壊れたりすることはありませんが、せっかく LPF をとおしているので、 5MHz のフィルターを通るようにしたほうが気分的にもいいです。

——– 2018/3/9 追記おわり

他にも修正するべきところは有ったりするかもしれませんが、ざっくりとこんなところで必要最小限の修正は可能かと思われます。git のリポジトリがしょっちゅう更新されますので、この修正はバージョン 2.9.13 の頃に適用できるものとして参照ください。

ひとまず、これをビルドして mcHF に書き込みます。

起動時のイニシャル画面に -JA 付きのバージョンが表示されます。また

メニュー画面の System Info に表示されるファームウエアバージョンでも -JA であることが確認できます。

mcHF v0.7 組み立て 4 (組み上げ完了)

mcHF v0.7 の組み立てです。今回は特に説明も不要かな。

RF ボードの TO-220 (レギュレータとMOSFET)をアルミケースに固定します。

3.2mm のドリルで穴あけして固定するだけです。



サイドパネルをつけてひとまず組みあがりであります。フロントシャーシが反ってますが 3D プリントのパネルを削れば改善すると思います。
これでハードウエアはひとまずできたということで、次の記事ではソフトウエアのほうに参りたいと思います。

mcHF v0.7 組み立て 3

前回の記事で LPF のフェライトコアに線をまいたところまで作りました。
これを基板につけようとしたところ半田ごての熱で線の皮膜が溶けないことがわかり、やむなく皮膜剥き作業をやってからの取り付けとなりました。最初はナイフで荒く削ってから紙やすりでしたが指が痛くなったので、途中からリューターの刃物併用で皮膜削るようにしました。地味に面倒くさかった。

Twitter に投稿した写真は↓のやつ。ただ、これ間違えると一発で線を切ってしまうのでご注意を。。。

LPF の取り付けが終わったら、アンテナジャック横のトランスを巻きます。 1:10 のトランスですが、1T 側が同軸ケーブルです。ひとまず同軸ケーブルの下ごしらえをした後に部品をつけてしまいます。

なんとかつきました。

ちょっと仮組みして、ラジオが受信できるか試してみました。ワイドバンドレシーバー用の小さなアンテナをつけて北京放送(中国国際放送)にチューニングしてみたところなんとか受信できました。時間帯的に生活ノイズまみれでの受信でしたが、比較用の BCL ラジオと大して差のない受信状況でいたのでひとまず OK とすることにしました。

スペクトル・ウォーターフォール表示の設定どこや?と Twitter でつぶやいたら、同じ大阪府下の OM さんにリプライいただいて Display メニューの設定を変更せよとのアドバイスをもらい試してみたところ、無事にスペクトルの表示、ウォーターフォールの表示もできるようになりました。

くみ上げ完成までの思いつくタスク
①アルミケースのサイドパネルのネジ位置があわない。
→ ケース本体も少し曲がり加減なので 3D プリントされた正面パネルを削るなりして、収まり良くなるかやってみる
②アルミケースに、TO-220 部品である電源レギュレータ・終段FET固定の穴あけと部品固定
③送信テストのための資材(SWR/パワー計/ダミーロード) がない
→ 買うなりして入手予定。
④ソフトウエアを日本のアマチュアバンド対応に修正する。これマージしてほしいけど、今のソースの書き方を見ると世界各国のバンドプラン対応が困難な感じなのでローカルで都度修正がいいかも
⑤スペアナは持っていないので、SDR のスペアナ画面でそれっぽい信号が出るかの簡易確認はする

ケース組上げが出来ないと先に進めないので、①最優先ですな。

mcHF v0.7 組み立て 2

前回の記事で、mcHF v0.7 の正面パネル組付けまでおわりましたが、RF ボードは未着手です。

送信部分の LPF で使うインダクタやトランスはコア材に手巻きしてつくります。

LPF 部分は amidon のコアに回路図に書いてある巻き数を巻きました。

トランスはメガネコアに線を巻くのですが、1個だけ回路図に巻き数の記載が無いのがあったので、資料を Google で検索してそれっぽい pdf を見つけました。
これで作業継続はできる予定ですが、LPF に線巻くだけで飽きたので日を改めて作業予定です。

mcHF v0.7 組み立て開始

mcHF v0.7 キットの組み立て開始です。

私が買ったのは CPU などは実装済みの基板でしたので、かなり楽させてもらっています。v0.7 キットには3枚ボードがあります。
・UI 操作パネルの基板
・logic マイコンのボード
・RF 電源と高周波関連のボード
です。
最初に STM32F4 のマイコンに書き込みできるところを確認したかったのロジックボードから着手しました。

ロジックボード自体はほとんど実装済みなので、液晶のヘッダをつけて書き込み確認実施です。ソースは
https://github.com/df8oe/UHSDR
にあります。ソフトウエアのビルドは Raspberry PI (Raspbean Stretch) で行いました。Windows でも可なのですが面倒だったので Build は Ubuntu でやっています。

$ sudo apt-get install gcc-arm-none-eabi
$ cd 作業用のディレクトリ
$ git clone https://github.com/df8oe/UHSDR.git
$ cd cd UHSDR/mchf-eclipse
$ make clean
$ make bootloader
-rwxr-xr-x 1 pi pi  30904  3月  3 14:15 bl-mchf.bin
-rw-r--r-- 1 pi pi  31213  3月  3 14:15 bl-mchf.dfu
-rwxr-xr-x 1 pi pi 374036  3月  3 14:15 bl-mchf.elf

Build が成功すると上記ファイル作成されるので、自分の PC に bl-mchf.dfu をダウンロードする。

$ make clean
$ make firmware

-rwxr-xr-x 1 pi pi  469524  3月  3 14:56 fw-mchf.bin
-rw-r--r-- 1 pi pi  469833  3月  3 14:56 fw-mchf.dfu
-rwxr-xr-x 1 pi pi 1974980  3月  3 14:56 fw-mchf.elf

Build が成功すると上記ファイル作成されるので、自分の PC に fw-mchf.dfu をダウンロードする。

STMicro のサイトから DFUSE をダウンロードしてインストール。
・mini USB コネクタ横の R243b をショートさせる(半田ブリッジは無理なのでメッキ線などをはんだ付けする)
・ロジックボードの P206 をショート
・P2a の2ピンを GND に落とす
・電源を入れる
と、STM32F4 は DFU モードで上がるので、DFUSE から書き込みができます。

Choose ボタンから bl-mchf.dfu を選択して Upgrade ボタンを押して書き込み
Choose ボタンから fw-mchf.dfu を選択して Upgrade ボタンを押して書き込み

でマイコンに書き込みできます。この時点で新しいブートローダとファームウエアがはいりましたので、以降のファームウエア更新などは、USB メモリを使った更新が可能になります。

・ロジックボードの P206 をオープンにする
・P2a の2ピンを GND に落としていたものを外す

で電源 OFF/ON するとマイコンが起動します。

ロジックボードだけの確認なので

エラーメッセージ出力されたのちに、通常の画面に遷移します。ここまできたらファームウエアの書き込みは問題ないです。
確認が終わったら mini USB コネクタ横ショートさせていた R243b をオープンに戻します。

次に RF , Logic , UI 基板を接続するヘッダピンをつけたり、回路を確認しなくても付けられるジャック類などをはんだ付けを実施しました。

RF ボードにはんだ付けする TO-220 の三端子レギュレーター、ファイナルの FET などは、放熱のためアルミケースと接触するように指示がありますのでそうします。ケースがヒートシンクになります。(ファイナルの FET はこの時点では、ねじ穴部分がドレインなのか、ソースなのか調べていないので実装しません)

本日最後にやったのは操作パネルのくみ上げ

UI(正面パネル)は、3D プリンタで印刷されたパネルと穴あけ加工済みのケース + UI 基板で構成されます。組み立ての順番は
・穴あけ済みアルミシャーシを下にして
・スピーカーのネットをつける
・3D プリントされた操作パネルをつける
・スピーカーを置く
・UI 基板をつける

スピーカーにUI基板を通そうとすると基板の穴あけ幅が狭くて上手く入らないと思いますが、思い切ってやっちゃいましょう。スピーカーの塗装は若干はがれますが、スピーカーは完全に固定されます。
UI 基板はアルミシャーシの横からスライドさせて入れるのでは入りません。基板の片側をアルミシャーシの基板用スライドレールに入れます。次にシャーシの反対側を手で曲げて基板をシャーシの基板用スライドレールに押し込みます。これで UI 部分は完成します。コツがつかめたら簡単ですが、地味に結構難しいです。

これ以降は、コアに線材巻いたりしないといけないので、回路図と見比べ必須となります。間違えないよう組んでいきたいと思います。

mcHF 購入できました

mcHF QRP transceiver のサイトを運営されている Chris さんが頒布されている、小出力トランシーバーキットですが、2017年の関ハムで組み立てられた方の実物をみてかねがね欲しいなと思っていたのです。だがしかし、人気キットなので在庫復活したという話を聞いても速攻で Soldout ステータスになります。

今回たまたま購入できました。翌日には発送したメールも飛んできたので対応の早さにびっくりであります。

そのうち届くと思いますが、このキットには終段の MOSFET は同梱されません。回路図には標準の型番はかいてありますが、そこはアマチュアなので自分で選定して作りましょうってことかな?今回は回路図に記載されていた三菱の RD16HHF1 を購入。本来2個でいいのですが、すでに組み立てられた方のブログなどを拝見すると、調整中ミスやうっかりアンテナつながず動かしてしまい FET 飛ばしてしまったなどの記事もありましたので余分に購入しておきました。QRP トランシーバとはいえ 5W くらい出ますので、発熱対策もしないと簡単に壊してしまう部品になりそうです。

このキットは、組んだだけではもちろんすぐ使えません。
・ソフトウエアを日本のアマチュアバンドに対応させた形でビルドする必要があります
・自作無線機(技適機種ではない)ので、アマチュア局の変更申請を総通に出す前に保証認定を受けてから

が最低条件です。

ひとまず、荷物到着を待つとします。

FT-450DM で今運用していますが、こちらはバンドスコープがないのでほぼデジタルモード運用
mchf はバンドスコープあるので、CW などで遊べたらなと思っています。

Nutube ポタアン (ポタ研 2018)

2018年2月10日 フジヤエービック様主催の「ポタ研」が開催されました。今年はろくなものができていなかたのでスルーの予定でしたが、korg さんがブース出すとのことで、相談の結果去年作った Nutube ポタアンを送付。場所に余裕あれば展示お願いしますという感じでした。

それでも、追加で何かできないかとディスクリバッファを付けた版とかを作ったりはしていましたが、ノイズまみれでこりゃあかんと断念した次第。

で、当日は無事展示されたようです。ブース手前側はラジオ技術などにも Nutube ポタアンの記事を書かれていたりする齋藤さんの作品。有名な方でらっしゃいます。うちのは奥のほうにひっそりと。

数日後出品したポタアンの返却が宅配便でおくられてきて、その中に出品お礼として Nutube をいれていただいてました。

失敗作の Nutube もそのうち取り外すので、元から持っていた在庫合わせて手持ち7個に。こりゃ次のバージョンを早いことつくらないといけないことに。korg 様ありがとうございました。頑張ります。

ダイヤモンドバッファの製作

トラ技をパラパラめくっていたら2015年10月号に、電池2本で動くダイヤモンドバッファの記事を発見。面白そうでしたので早速作ってみることにしました。

マルツのダイヤモンドバッファキットがあったはずなので、その基板を流用しようとジャンクボックス内捜索して無事発見。
記事の回路では、オペアンプは反転増幅で使用していますが、キットのパターンは非反転増幅。またトランジスタは 2SC1815 / 2SA1015 を使用するようになっています。トランジスタは手持ちが豊富にあって hfe が高い BC550C / BC560C を使うように部品を変更。低電圧フルスイングオペアンプは MUSES8832 が手持ちであったのでそのまま使用という条件です。

MUSES8832 の SPICE モデルは持っていないので、NJM2115 の低電圧オペアンプで代用、ショットキーバリヤダイオードは BAT41 にした回路をLTSpice にいれてシミュレーション。1段目のエミッタ抵抗をいじって終段の保護抵抗に流れる電流を確認して、問題なさそうな値を探しましたが結果的には 1k + 330Ω がよさげな感じでした。

マルツのキットには、2SC1815/2SA1015 を使ったレールスプリッタ回路がありますが、低電圧で効くかどうかわからないのでパス

電池ボックスに中点の線をくっつけて正負電源としました。

基板のパターンカットなどを施したのちパーツを載せて完成。

完成したダイヤモンドバッファの簡易測定。f特は 200kHz あたりまででしょうか。歪もこんなもんでしょうという無難な結果。

クリップしない程度のオシロの読みは 2.2V p-p でした。十分かと思われます。また出力は、30mVほどオフセット出てたのでカップリングのコンデンサは付けています。
アイドリング時電池の電流は 10mA 程度なので、単4でも電池の持ちはいいと思います。
試聴で AKG のオープンエアなヘッドホンも十分な音量で駆動でき、カップリングコンデンサの音の傾向もありますが、ボーカルの抜けもよく良く鳴ります。電池2本にしてはよくやるなという面白いアンプとなりました。

アマチュア局の変更申請を行いました(デジタルモードの追加)

開局申請の時に技適機種のまま免許申請を行い無事開局いたしましたが、このままで電話、電信のモードしか出られずデジタルモードは出られません。このため、免許を受けた送信機にパソコン付けてデジタルモードの運用する旨の変更申請を提出する必要があります。

使用予定のソフトはひとまず MMTTY, MMVARI, WSJT-X としましたが、これらのソフトのうち WSJT-X については一部のモードだけ申請。以下に私が、近畿総通に提出した FT-450DM で使う送信機系統図をさらしておきます。(これらの記入値はすでに公開していただいてた方々の資料を参考にさせていただきました)




また、この資料に無線機の取扱説明書にあるブロック図も付けます。

電子申請Lite にて変更申請を投入するときは、工事設計で周波数帯毎に電波の形式をクリックして入れていかないとだめなので間違えないように一覧も作成しました。

変更申請にかかった日数は以下のとおりです。
2017/10/02(月) 変更申請入力 → 到達
2017/10/03(火) 受付処理中
2017/10/18(水) 審査中 → 審査終了 → SASE 送付
2017/10/21(土) 免許状到着
審査になるまでが長いですが、入力の不備を言われなかったので審査は1日で完了です。

届いた免許状の電波の形式は一括コードのままなので、開局申請の時と違いはありませんでした。

まだ、モービルホイップをベランダにちょこんとつけてるだけのしょぼい状況ですが、これでやっと、デジタルモードに出られるようになりました。(ソフトに慣れていないのでググりまくってます)

アマチュア無線復帰

年とってくると昔やってたことに戻っていく現象がふえてきてます。以前アマチュア無線やってたころは 144/430MHz なんて無法地帯でしたし、HFはこいつキロワット炊いてるやろいう 10W 局もざらに居てる状態であまり熱心になれなっかたのが実情です。そういう状態が続いたのでなんとなく免許更新のタイミングで放置して止めちゃいました。今はマシになっているらしいので、日本橋の無線機屋さんで久しぶりに開局したいから無線機一台くださいと無線機購入した次第。買ったのは YAESU FT-450DM という機種です。新品でも半値くらいが実売価格なのでこれにしました。免許状がないと電波だせないので、総務省の電子申請 Lite にて開局申請をいれました。

過去 RTTY などもやっていたので、パソコン+TNCやTU+無線機という構成で運用していました。今回も RTTY とかは出せるようにしたいのですが、最初の開局申請でパソコンなど付属装置付きの構成とすると TSS or JARD 保証認定を受けてから総通の審査となり手数料と時間が増します。なので、技適の無線機のまま総通に開局申請して免許がおりたら、その無線機にパソコン接続する変更申請をかけます。そうすることで免許状が早くゲットできること。また、あとは総通に変更申請を出せばいいので TSS JARD の費用も使わなくて済むということです。
今回は技適機を使って開局申請しました。電子申請 Lite の日数は以下のとおりです。

2017/09/17(日) 申請入力 → 到達
2017/09/21(木) 受付処理中
2017/09/22(金) 審査中
2017/09/25(月) 手数料納付待
2017/09/26(火) ATM にて納付 → 審査中に戻る
2017/09/28(木) 審査完了
2017/10/01(日) 配達(着払い)

入力して2週間で届きました。アンテナがないのでしばらくはデジタルモード環境などの準備ばっかりやってると思います。