mcHF v0.7 問題点

一通り設定もして組みあがりましたが、問題点があります。

今のところ、21,24,28MHz 帯で出力を 5W にすると、液晶画面がバタつきます。回り込みでスイッチ操作がされた状態が連続します。出力を 3W 程度にすると収まります。

mcHF にパワー計・ダミーロードを接続して TUNE ボタンを押して電波を出したときに液晶画面に表示される SWR 値を見てみました。


3.5MHz ~ 14MHz 帯は 1 ~ 1.2 程度に収まっています。


21Mhz 帯では SWR 2 程度の表示になりました(パワー計のSWR表示はもちろんことですが1です)。出力を上げたときに RF ボードからの回り込みで発生すると思われますが、
cpu 付近に銅箔テープを貼って GND に落としてみても改善なし。イコライザ設定でキレイな波になれば少しは改善するかもですが、SWR 上がる原因をつぶさないと駄目ですね。
パット思いつく対応策は思いつかないので、今のところお手上げです。ひとまず、21MHz 以上は 3W 程度に出力を抑えるよう設定値を変更しました。

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

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本にしてはよくやるなという面白いアンプとなりました。