mchf RX/TX 切替回路改造

相変わらず、ゆっくりとではありますがmchfを作っているところです。

今日は、mchfの送受信切り替えの改造を行いました。original の回路ではPINダイオードでスイッチングしているのですが、送信波でダイオードがスイッチングしてしまい、スプリアスの原因になっているとのことで、実際スペアナで見てみると(最近安い中華のスペアナRIGOL DSA815-TGを買いました)近接スプリアスが見えているため、そこを何とかする必要があります。先達は、リレーでの切り替えに改造するということをやっておられるようで、official UHSDRのページでもその改造(RF-04/05/06-H-029)について書かれていますが、別の改造法が、別のところで述べられており、私はこちらを実装することにしました。

部品は、手持ちの関係で、リレーは、OMRON G6K-2F (高周波用ではありません)を、トランジスタは、2SA1015GR, ベースに入れる抵抗は9.1k、coaxはRG178B/Uと異なっていますが、それ以外はほぼ同じ内容を実装してみました。

こんな感じで小汚く実装しました。あと裏側のPAのトランスの近所で、LPF入力とPA出力を切り離すパターンカットがあります。

これをやると、UIボードとRFボードの間に入れている鉄板と干渉するので、鉄板に穴あけをしないといけないのですが、それやるとシールドが甘くなりそうでどうしたものか(穴あけしちゃいますが)と思っているところ。

改造後、送信スペクトラムを見ると、近接スペクトルがクリーンになっているような気がしますが、まだちゃんと記録を取っていませんので、LPFのまき直しもやった後でスペクトルデータどりをやろうと思います(保証認定取る作業のため)。

保証認定はといえば、mchfのファームウェアも改造して、JAのバンド(1.8~28M)全部定義してみたんですが、考えたら、LPFが4つしかないので、今の回路構成では4バンド+αぐらいしかスプリアスを満足できないと思われますので、スプリアスを満足するバンドだけ送信できるファームを作成(3.5, 7, 14, 21?, 28)するようにすると思います。ハイバンドのLPFを作り直して21MHz帯をOKにして、28MHz バンドは50MHzのトランスバーター用にPAをバイパスする設定にしようかなとか思っているところです。

mchf LPFの調整(2)

この間LPFのコイルの定数をNanoVNAで測ったら全くあってなかったという件で、トロイダルコアの巻き数に対するインダクタンスがかなり違っていて意味がわからず困っていたんですが、トロイダルコアって、巻き方でかなりインダクタンス変わるんですね。トロイダルコアってトロイドにほとんどの磁束が集まっているから巻き数でインダクタンスが完全に決まっちゃうんだと思ってたけど、気のせいらしい。

なので、設計通りとするには、トロイドに均等に巻き線をする必要があるようで、均等に直して定数を測ると1T程度巻き戻す程度でよいようでした。

ということで、ハイバンド用のはめんどくさいのでとりあえずそのまま、ですが、4つあるうちの14MHzバンドに関係したLPFは、均等巻きにしたうえで、定数を測って設計値に近い内容(L19 13T 0.78uH L23,L15 11T 0.6uH) にして組みなおしてみました。

で、他のLPFも含め一度特性を計測してみた。

LPF #1 (80m) cutoff 4.24M -6dB 5.08M roll off 52.7dB/oct

LPF #2 (40m) cutoff 7.04M -6dB 8.72M roll off 60dB/oct

微妙に通過帯域が荒れてる。

LPF #3 (20/30m) cutoff 17.8M -6dB 19.0M roll off 62.2dB/oct

LPF #4 (15/17/12/10m) cutoff 34M -6dB 36.4M roll off 56.3dB/oct

roll off 特性にはやはりトロイダルコイルの巻き方が関係しているっぽい。あとでまたやり直すかも。

tinySAつかって高調波の強度を見てみました。

3.5MHzはぎりぎり?

7MHzはまあOKかな。

14MHzもOK

21MHzは全然ダメ。

28MHzはまあ、OKそう。

ということで、方針としては、4つLPFバンクがあるので、欲張らず、3.5, 7, 14, 21でスプリアスを満たすようにする、かな。21がなあ。。。もう少しhigh band のLPFは28MHzぎりぎりぐらいに持ってくるのかな。。。その他のバンドはとりあえずあきらめよう。

あとは近接スプリアス。これがあまり良くなかった。tinySAはまだ慣れていないので、もう少しよく見てみようと思っているところ。

mchf firmware compilation

今mchfのボードに書き込まれているバイナリのファームウェアは5MHzバンドが送信出来たり当然免許おろせませんので、こちらの方も対策を、というか日本版のファームウェアをコンパイルできるように準備を始めました。前に作ったような気がしたコンパイル環境は3年も経って当然のように見つからないのでgitのUHSDRのページを見て、試行錯誤。最初、STM32の開発をWindows上のsystem workbench for stm32でやっている関係で、こちらのEclipseにprojectをimport すればOK?と思って、やってみたんですが、コンパイル環境が正しくセットされず、うまくいかなかったため、Ubuntu 20.04 の環境にmake でコンパイルする環境をセットすることにしました。ので、備忘録。

arm のコンパイラー等はこちらには入っていなかったので、

sudo apt-get install gcc-arm-linux-gnueabihf
sudo apt-get install gcc-arm-none-eabi
sudo apt-get install git
git clone https://github.com/df8oe/UHSDR.git
cd UHSDR/mchf-eclipse
make all

したところ、一応コンパイル通ったので良いかと思います。fw-mchf.binというのがなんかできているから、これを書けば多分動くんだと思う(default でmchfの設定になっているはず)。

あとは、こちらに従って、ソース書き換えてビルドすればいいや。ぐらいに思っていますが、一応対応個所をソースで確認。

drivers/ui/ui_driver.c

src/uhsdr_version.h

hardware/uhsdr_board.h こちらはだいぶ変わってしまってる。ので、for i in find . -name '*.h'; do echo $i; grep BAND $i; done|less などでしらみつぶしに調べる。

drivers/ui/ui_configuration.hとか、drivers/ui/radio_management.hとか,drivers/ui/radio_management.c, drivers/ui/menu/ui_menu.c を調べると、BAND_MODE_60 とかあるので、この辺をいじくればいいのかな。

多分、radio_management.cで60m など、BandInfoを定義していてそこでは、receive only やバンドの周波数を書くようになっていて、また、そのあと、bandInfo_combined[]に定義するバンドのまとめを作るようになっているので、この辺で変更すれば、きっとregion3 のバンド構成にできるんでしょう。多分。60m バンドに関しては、bi_60m_rxというのがあるからこれを使えばいいに違いない。bandInfo_regions3_thaiというのが定義されていて、なぜタイだけ?と思う。

… あたりまで、ソースを眺めて、OKということに。

あとは、EEPROMやっぱりつけとこうかな、などと思う。

mchf LPFの調整(1)

まずhigh band のLPFを回路図の定数に近いものにして特性を測りました。

回路図では8T(0.26uH), 9T(0.32uH), 8T(0.26uH)のトロイダルコイル、100p, 220p, 220p, 100p のコンデンサから構成されていますが、Nanovna でのインダクタンスの測定結果を踏まえて巻き戻しつつ、定数を調整しました。結果6Tで280nH, 270nH 、7Tで350nHを得ましたので、これでいくことにしました。

巻きなおしたトロイダルコイルを実装した後、LPFの特性をNanovnaで計測しました。

NanoVNAでのハイバンド(21MHz and up)LPF測定結果

21-28MHz 帯の通過帯域ではおおむね0.5dB 以内の減衰なので、おおむねOKかと思います。この程度で高調波が-60dB内に抑えられるかは、PAのバイアス等にもよると思いますが、後で計測してみたいと思います。

mchf v0.6 を作ってます。

だいぶ前にmchf のキットを買って組み立てていることをこれに書いていたんですが、ケースに収めようと買った中華のケースが微妙な品物で収まらず、当時局免を切らしていたこともあり情熱が続かず放置してました。久しぶりに局免をおろしたので、このキットも完成させよう、と考えました。

それで今回は頑張って作って、ダミーロードを使った送信テスト、まではこぎつけました。

ケースへは、一度は入れてみようということで、無理やり入れてみました。4つのMOSFETやらレギュレーターをアルミケースに取り付けるのは、FETの放熱タブにM3ナットをはんだ付けする力業で解決。また、そのままではケースにLCDのゲタの高さ分だけ高くて収まらないなということで、思い切ってLCDをUI基板に直付けの暴挙までやりました。でもこれは大失敗。ここまでしても約2mm分収まらないということがわかり、これはもうこのケースに収めるのをあきらめて、ほかのケースを買いました(納品まち)。こちらにも収まらなかったらケースを自分で穴あけして作るかな。。。と思っています。

さて、一応形になって送信テストをしてみたんですが、20m バンドが4Wぐらいしか出ない。ハイバンドが軒並みほとんど出ない。という状況でした。いちおうこれを完成させたら移動用のリグとして使ってみたいと思っているので、送信ができる状態にして、各バンドのスプリアスをスペアナで計測して、JARDか何かで保証認定取って、局免許の第2送信機にしたいと思っているんです。が、まず、パワーが出ない。ので今それを直そうとしているところです。

40mや80mバンドではばっちりパワーが出ているので、これはLPFだな。ということで、一度無理やりケースに収めたmchfをバラシて、RF基板のLPFに、最近思いつきで買ったNanovna v2 をジャンク箱に転がっているBNCコネクターやSMAコネクターにバラ線をつないだ治具を使ってつなぎます。

それで、パワーの全くでないハイバンド用のLPFを測定したところ、24.4MHzで-3dB 28MHzで-13dB 程度でした。パワー出るわけない。また、20mバンドも4Wしか出なかったのでこちらも測定してみたら、13.5MHz で-3dB 14MHzで-5dB程度。こちらもLPFの周波数が低すぎます。

それで、LPFに使っている手巻きのトロイダルコアのインダクタンスを同じくNanovnaで測ります。

インダクタンスをNanovna v2で測定。

そうしたら、回路図に記載されているインダクタンスと全く違う値。ある意味原因がわかって安心しました。巻き数を減らしながらインダクタンスを測り、大体1Tで0.09uH程度ということで、ずいぶん1T当たりのインダクタンスが回路図と違うなあ。なんでやねん。。。

一通り、回路図の定数に近い値になるようにして一度組みなおすことにします。

MCHF rf board 51ohm for reference! and toroidal coil for LPF

一方、あまり緩いLPFだと高調波-60dBが通らないような気がしている。

そのあとは、近接のスプリアスもクリアできるのか?不安は尽きませんね。。。

それと、保証認定を通すのに1GHzまで測定データが必要そうなので、思い切って安めのスペアナ(RIGOL DSA815-TG)もe-bayでポチってしまいました(1年以内に校正証明、がなくても保証認定はとれそうなので・・・).スペアナを買ったので、40dBぐらい落とせる100W 50ohmのATTもポチる。

それから、mchfの免許を通すのに挫折しても春になったら移動運用はしてみたいので、IC-705もポチってしまう。という本末転倒な状況です。mchfはとりあえず第3送信機ってことで。