« アンテナアナライザーの製作(コントローラー) | メイン | PIC24FV32KシリーズのEEPROM読み書き »

2015年6月24日 (水)

アンテナアナライザーの製作(SWR,R,Xの計算)

<カテゴリ:アンテナアナライザー>

50Ωダミー抵抗の場合、130KHzから64MHzまでSWR=1.0、R=50+/-1、X=0+/-0くらいの表示で収まっていますが、50Ω以外の抵抗では、大きく外れます。表示の数値が逆転する事はありませんが、曲りなりにも、デジタル表示付ですので、せめてSWR3以下くらいは、RもXもそこそこ表示できるように検討する事にしました。

今回、検波ダイオードに汎用品を使いましたので、当初から気にしていたRF電圧対検波DC電圧のデータを取る事にしました。

Aa50diode

上のグラフは、左が今回採用したRB751Sによる検波特性です。右は、SHF用ダイオードによる検波特性です。

グラフのX方向の目盛はADが出力したリニアデータで、Y方向は最大電圧を10000と定義したRF電圧です。 この二つのダイオードの大きな違いは、RF電圧が小さいとき、急激に直線性が悪化する度合いです。 RF電圧が小さい状態はインピーダンスの計測には影響が少ないですが、SWRの計測では、大きな問題になります。 一番知りたい、SWR1.5以下に大きな誤差が含まれます。 例え補正したとしても、その補正は相当クリチカルですから、安定して計測するには不向きです。 50Ωで校正して、100Ωで大きく狂うのは、このダイオードのカーブの性です。

やはり、アンテナアナライザーのセンサーとして、ダイオードを選定する場合、UHFやSHF用として作られたものを使わないと精度が落ちる事が判りました。 破壊強度は落ちますが、やむなくHSC285に変更する事にしました。

ルネサスのHSC285は個別販売していない上、生産中止品となっています。 現在も生産継続中のRFショットキーバリアダイオードで、アンテナアナライザーに使えそうな物としては下記3点が見つかっています。

RB861Y(ローム製):HSC285とほぼ同等。RSでバラ売り有り。 (Vfが0.1Vのとき順方向電流が0.1mAくらい)ただし、ワンパッケージ2個入りです。

HSMS-2850-BLKG (Avago Technologies製):HSC285とほぼ同等。RSでバラ売り有り。 こちらはワンパッケージ1個入りですが、外形のコンパチ性はありません。

JDH2S02SC (東芝製):Vfが0.1Vの時の順方向電流がHSC285の半分くらい。外形がHSC285とほぼ同じで、基板上での交換が簡単です。 ただし、バラ売りなし。 このダイオードの場合、アナログメーターだけなら我慢できますが、RやXをデジタル表示したい場合、使いたく有りません。

これらの高感度検波ダイオードは逆方向電流の温度依存性が他のダイオードより、きわめて大きいと言う欠点がありますので、そこは回路技術でカバー必要です。 また、逆耐電圧も数ボルトしかありませんので、普通のSWR計には使用出来ません。

前回の記事で、ベクトル計算による、R,X,SWRの算出方法を紹介しましたが、実験していくうちに、ダイオードの非直線性が、思った以上に大きく影響する事も判ってきました。 アンテナアナライザーで一番重要なデータは周波数とSWRです。  周波数はクリスタル制御のタイムゲートで測定しますので、そこそこの精度がでます。   問題はSWRのデータがいかに誤差が少ないかにかかっております。 ベクトル計算方式は、最初にダイオードの影響を補正しながらRF電圧を換算し、このRF電圧からRやXを求めて、さらに、このRとXから反射係数を求め、そして、反射係数からSWRを計算します。 VzとVsからそれぞれのRF電圧を補正しながら求めますので、この補正の時に大きな誤差が含まれます。 この誤差を含んだふたつのデータをベースにRやXを計算する事になります。 すなわち、誤差を2乗したようなものです。 一方、VzやVsからインピーダンスやSWRを直接換算する事もできます。  この場合も補正しながら換算する事になりますが、換算時のSWRやZの誤差は1回分だけとなります。  その変わり、RやXはこのふたつのデータから計算されますので、RやXには誤差の2乗が含まれる事になります。 しかし、RやXは 「アンテナアナライザーとインピーダンス」 の記事で取り上げたように、アンテナアナライザーとしては重要ではないので、VzやVsから直接ZやSWRを求める方がベターと思われます。 

もうひとつのADデータであるVoはそのレベルが大きく、ダイオードの非直線領域外での動作ですので、あまり影響は有りません。 ベクトル計算方法は理論的に正しくても、実際の測定器にはそぐわないのかも知れません。 

以上の経過からベクトル計算方式は諦めて、VzとVsからいきなりインピーダンスとSWRに換算する方式へ変更しました。 換算したZとSWRから以下の計算式でRとXを求めます。

Swrrxz

この計算式でRとXを算出し、50Ωダミー抵抗で校正を行い、3.5MHzバンドで100Ωダミー抵抗を装着すると、R=99、X=8、SWR=2.0と表示します。本来のXは0ではなく2くらいになるのですが、それでもかなりずれて表示している事になります。 まだ100Ωの時は校正されていません。 今後、校正プログラムが組み込まれたら、少しは改善するかも知れません。

校正プログラムはマイコン内部のEEPROMを使います。 このプログラム作成の前に、EEPROMの使い方を勉強する事になりました。 これが難解でやっとサンプルを見つけて、EEPROMの読み書きは出来るようになりました。

このEEPROMにラストバンドを書き込み、電源ON時に、このデータを読み込む事により、電源をOFFして、次に再度、ONしたとき、周波数はドリフト成分以外変化なしになります。 単3アルカリ電池3個で、消費電流は230mAくらいです。 単純計算では、連続8時間くらいはもちますが、実際の使用状態では、電池の消耗を気にして、ショッチュウPOWER-OFFしますので、ラストバンドメモリーは必須機能となります。

Aa50c100_2

このラストバンドメモリーの実装で、EEPROMの使い方が判りましたので、校正プログラムを仕込む事にしました。 コントロールマイコンからLCDマイコンへは一方通行の通信で、電源ON直後にLCD側が通信を受け入れられる状態かどうかが判らず、目見当で遅延時間を取り、データを送信するという、かなり適当な方法で、ふたつのマイコンのタイミングをとり、やっと、校正モード状態でのデータ推移が表示できるようになりました。

校正は3.5MHz付近の周波数で、50、100, 0Ωのダミー抵抗をつないだ状態とオープン状態の時の、それぞれのVZとVS及びVO(Osc電圧)をEEPROMに記録させます。記録が正しく実行されたかを確かめる為、LCD上にその記憶したデータが表示されるようにしています。 記憶スイッチ(今回はWIDTHキー)を押すたびにデータが書き換えられた事を確認できますので、安心できます。

このデータから、ZとSWRの校正を行います。校正ポイントは50Ωと100Ωになりますので、少なくともZ=50ΩとSWR=1.0、それにZ=100ΩとSWR=2.0は校正されます。 ただし、RやXの校正は行いませんので、50Ω以外の抵抗ではXがゼロにはなりません。 上の写真はたまたま、X=2を表示していますが、実際は0から7くらいまでばらつきます。 しかし、アンテナを調整する場合、この程度で十分ですので、これで良しとしました。

校正の仕方は実に簡単です。例えば、VZ50の下に1528という数字が表示されていますが、これは、50Ωダミー抵抗のとき、VZ(インピーダンスに比例したADの出力値)が1528であったという事です。 従い、ADが1528を出力したらZ=50Ωと定義します。また、VS100の下に0954という数値がありますが、これは100Ω時のブリッジ不平衡電圧をADが出力した値(VS)です。従い、VSが0954の時SWR2.0と定義します。 VS50の下の数値はゼロですから、ADの出力がゼロの場合、SWR1.0と定義します。 これで校正終了です。

50Ω、100Ω以外のインピーダンスの場合、0Ωから470Ωまでの16種類のダミー抵抗で実測したSWRとインピーダンスデータの表を作成し、このデータを基に「補間」技法で値を算出します。 (「補間」技法はプロの世界で、アンテナの任意の周波数のゲインを算出したい時などに利用されます。) これだけで、SWR10くらいまでなら、なんとかなります。また、10以上で数値が逆転するような事は有りません。 VOSCは校正データを取得した時の数値で、この電圧VOは常にチェックしており、校正時より現在のVOがどれだけ変化したかで、VZやVSの値を補正します。 VOは周波数を変えたり、温度が変わるとわずかに変化しますので、その変化分を測定データに反映させるためのものです。  VOSCとVZMAXは同じ電圧値になり、その1/2がVSMAXに一致しなければなりませんが、それぞれの検出回路に接続されたOP-AMPのゲインがバラツク事、VSは分解能を上げる為に2倍のゲインにしてありますので、AD値としては理屈通りにはなりません。 これは、計算時に理屈通りとなるように補正します。

LCDによるアナログメーターの動きを確認しました。 ほぼ予想通りの結果でした。

問題点は、LCDアナログメーターの応答速度と分解能です。 振れの速度は、0から無限大まで、約3秒かかります。 アナログメーターだけの場合、1秒以下で動いていましたが、デジタル数値の表示や電池残量表示を実際に動くようにしたら、ここまで遅くなってしまいました。 実際に7MHzのアンテナを接続し、共振周波数のチェックをしてみました。 指針の応答が遅いので、周波数調整つまみをゆっくりと動かす必要はありますが、共振周波数を見つける事はできます。 ただし、かなりぎこちないです。 現在指針分解能は1度きざみですから、本物のアナログメーターにはとても及びません。

現在1度きざみのサイン(sin)データのテーブルですが、これを0.25度きざみのテーブルに変更してみました。 指針の動きはかなり滑らかになりましたが当然、0から無限大までの時間は10秒近くになってしまいました。 そこで、小細工です。 ターゲットの角度に対して遠い時は1度刻みで送り、近くなったら、0.5度刻みにし、さらに近くなったら0.25度きざみで送る事にしました。この処置により、周波数可変つまみの動きに対して、指針の追従性がかなり改善し、SWRのデイップ点を探すのがスムースになりました。 しかし、まだ、納得いくレベルでは有りません。

次のステップとして、アナログメーターを消して、そのエリアに周波数対SWRのグラフデータを描かせるのですが、 現在の状態で、LCDマイコンのROM容量が93%になっています。  残り7%のROMで、完成は無理ですので、せめてSWRのグラフデータだけでも実現させるべく、トライします。

 

アンテナアナライザーの製作(SWRカーブの表示) に続く

INDEXに戻る