mcHF v0.7 UHSDR キャリブレーション

mcHF v0.7 の調整です。

手順は Adjustment and Configuration Manual にあります。
詳細はこの手順を翻訳してやりました。

■液晶タッチスクリーンの調整
液晶画面を押したまま電源を入れるとタッチパネル調整モードに行けるので、クロスカーソルを押して調整。

■バイアス調整
電源と mcHF の間に電流計を入れて調整。うちとこの mcHF では 940mA になる設定となりました。

■送信電力の調整(5W)
パワー計とダミーロード接続して各バンド 5W 出力の調整をします。
21MHz,28Mhz など周波数の高いバンドで出力が低くなる Blog 記事などもみていましたが、今回すべてのバンドで 5W 出力できることを確認しました。

■送信電力の調整(フルパワー)
パワー計とダミーロード接続して各バンドフルパワー出力の調整をしますが、5W 出力に制限しました。

■液晶表示のパワーメーター調整
各バンド 5W 程度のところを指すように、設定を調整します。

■IQ調整(受信)
受信のIQ設定は AUTO に設定

■IQ調整(送信)
SDRConsole の画面を見ながら簡易調整です。直結するようなアダプタを作ればいいのですが、ダミーロード横に SDR のアンテナを置いての簡易な方法。

28MHz のスクショをサンプルにつけます。調整前、調整後です。これは、ちょっと勘所がわからないので本当にいいのか不安が残ります。

■周波数の調整
発信機はあるのですが、時間切れで未着手

という感じです。

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 などで遊べたらなと思っています。

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

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

使用予定のソフトはひとまず 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週間で届きました。アンテナがないのでしばらくはデジタルモード環境などの準備ばっかりやってると思います。