アンテナアナライザー Feed

2015年11月 8日 (日)

アンテナアナライザーの製作(ケース入れ)

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

手作り、バラック状態のアンテナアナライザーがなんとか完成しました。 しかし、アンテナアナライザーは基本的に屋外で使うものであり、これを実際に使用する為には、持ち運び可能なケース入りでなければなりません。 

Aa59_jw_case JW-CADで組み立て図を書いて、これを基に部品図面をお越し、雨の降る中、屋外で作業する事2日間。

Aa59_casein

アルミ板を切断したり穴を明ける加工は、ほぼ設計図面通り出来るのですが、曲げ加工は折り曲げ器がありませんので、当て木とハンマーで仕上げる事になります。 結局、曲げ部分は直角にならず、エッジも凸凹となってしまいました。  

左の写真は、塗装前の状態で、LCDやタクトSWの位置確認を行ったものですが、JW-CADによる実寸組み立て図が功をはくし、センターずれは有りません。 ただし、LCDのコネクター部分に何も配置できない為、デザイン的に、やや間延びした縦長の箱になってしまいました。

裏板も作ったのですが、電池ケースを入れるスペースにSDカードのコネクターが張出し、電池ケースを収納できませんでした。

他にも、不具合があるようですので、再度分解して、SDカードのピンヘッダーの位置を含め対策する事にしました。

Aa50blk

フロントパネル面のレタリングをデザインし、これをJW-CAD上で作成します。 このとき、邪魔にならない所に寸法を記入しておきます。 作成した原稿は、白地に黒の文字ですが、 ケースの塗装は黒色を予定していますので、 これをスクリーンショットでJPGに変換し、インターネット上のフリーソフトで白黒反転を行い、一度、windows標準付属の「ペイント」で読み込みます。 JW-CADの文字の種類が少なく、また色も限りがありますので、ペイント上で、文字のフォントの入れ替えや、必要に応じて、文字色や線の幅、色を修正します。 このJPGをエクセルに貼り付けます。 これを実際の寸法になるよう、印刷の縮小比を決めて、光沢フォト紙に印刷し、両面テープでケースの面に貼り付けます。 この縮小比を決めるとき、JW-CADで記入しておいた寸法が大いに役立ちます。

このようにして出来上がったアンテナアナライザーが左の写真です。 アンテナを接続するMコネクターの右側に飛び出ているビスは、アナライザーを接続する為に、取り外したトランシーバーへ接続されている同軸ケーブルのGND側とアナライザーを仮接続するGND端子です。 アナライザーが宙に浮いてしまうと、実際にトランシーバーから送信した時の浮遊容量の条件が異なってしまい、正しいSWRの計測が出来なくなりますので、これを防止する為、アナライザーのGNDを同軸ケーブルのGNDへ接続する為に使います。 CAA-500のように、アンテナ端子が2個ある場合、送信機に接続される同軸は、使用していないコネクターに仮接続しておけば良いのですが、このアナライザーのアンテナ端子は1個しか有りませんので、GNDだけは接続できるように端子を設けたものです。 実使用状態では、ここにミノムシクリップの付いたリード線を接続し、常にアナライザのGNDはトランシーバーのGNDと接続されているようにします。

実際にアンテナに接続して測定する場合の電源は電池で行い、決して外部DC電源を使わないようにします。アナライザーで調整したSWR最少周波数と送信機内臓のSWRメーターが示すSWR最少周波数が一致しない原因は、決まってこのトランシーバーのGNDと外部DC電源の性です。

間延びした縦長のケースはレタリングでごまかしました。 光沢フォトシートをパネル全面に貼ったことで、凸凹したアルミケースの、ぼろ隠しが出来ました。

LCD表面に保護シートが付いていますので、多少ボケていますが、ベランダや移動に持って行けるアナライザーが完成しました。

さっそく、ベランダに持ち込み、私のプリセットMTUの調整に使ってみました。 アナログメーターの応答が、やはり遅く、SWR最少にMTUを調整するとき、手持ちのCAA-500より慎重にやらないと、最少ポイントを通り過ぎてしまいます。 この辺は最初から判っていた事でしたが、気になります。 Microchipの有償版コンパイラーの説明によると、プロバージョンを使うと、少なくとも4倍以上の速さにオプチマイズできるとの事ですが、10万円以上もしますので、諦めました。

アンテナアナライザは屋外でつかいますので、直射日光の下に置かれる事が多々発生します。 この為、最初黒色でしたパネル面は現在赤色に変色してしまいました。

SWRカーブを取り、それをセーブ出来る機能は、例えば、このブログに結果を張り付ける為には便利です。 

Aa50_7mhz

左のSWRカーブはベランダで、MTUを再調整したとき、データをセーブして置いたものを、後から、再表示させデジカメで撮ったものです。

PCに保存するほどではないけど、データが残るというのはいいですね。

ところで、左のグラフはアンテナチューナー直下で測定したSWR特性で最少SWR1.05くらいですが、これを22m長の8D2Vを経由したトランシーバー出力部分で再度測定すると、100KHzくらいの幅でSWR1.0となってしまいます。 これは同軸ケーブルによるロスによるSWR差として出てくるものですが、得られたカーブは不自然です。いくら同軸で減衰があるにせよ、100KHzの範囲でSWR1.0はなかろうと、ソフトの中での四捨五入や切り捨て処理に問題がないかチェックしました。 色々検討した結果、ソフトではなく、ハードの問題である事が判りました。 

通常、OP-AMPには入力オフセットという誤差が有り、入力がゼロボルトでもこのオフセットの分だけ、出力がゼロになりません。 逆に、入力がオフセット電圧以下なら、出力は常にゼロとなります。 このICのバラツキによる入力オフセットの為、SWR用のDC電圧が少し出ているのに、出力がゼロになっていたものです。 これを補正する為、OP-AMPの入力にオフセット補正用のDC電圧を加え、これをキャンセルさせますが、今回使ったOP-AMPのオフセットの方向が+/-入力に対して逆になっていました。 

Offsetadj

今まで、マイナス入力端子にDCオフセットを印加していましたが、プラス入力端子にDCオフセットをかけて, 50Ωダミー抵抗の時、OP-AMPの出力をADが読んだ値を0010くらいにしておき、ソフトでADの出力が0010のとき、SWR1.0と定義する事により、自然なカーブが得られるようになりました。

また、目安にしかならないSWRのデジタル表示ですが、せっかく内部で小数点以下第2位まで計算していますので、これを表示させる事にしました。 実際のアンテナを接続した場合、SWR1.00の表示は出なくなりましたが、こちらの方が本物のような気がします。

LWの発振回路に使われているコンデンサC33は間違っていました。103Kではなく正しくは104Kでした。これを修正した結果、LWのカバー範囲は95KHzから530KHzとなりました。

最終的な各周波数の波形は以下のようになりました。

58mhz

7mhz

500khz

100khz

電池マークのバッテリーインジケーターは4.5Vでフル表示し、3Vまで電池の電圧に比例した残量が緑色で表示され、3Vから2.7Vまでは黄色で表示、2.7V以下では赤色になるよう設定しました。 この電源回路に使われている昇圧型のDC/DCは1.8Vでも動作しますが、さすがに2.7Vより下がると、電池の内部インピーダンスが急激に増大し、たちまち動作不能になります。 また、過去の記述には有りませんでしたが、CENTERキーを長押しするとオートパワーOFF機能を1分から20分まで1分刻みで設定できるようにしました。 もちろん、この機能をOFFする事もできます。

2016年8月11日

LWバンドをカバーする周波数帯域は、従来のアナライザーより便利に使える事が判りましたが、SWRグラフ表示のバンド幅が有限というのは、使い勝ってが悪い事が判りました。ここは、せめてセンター周波数の+/-30%くらいはカバーした方がいいようです。 これは、ソフトの変更のみで行えますので、スィープ時のバンド幅は 「1,2,4,6,10,20,40,60,100,200,400」のプリセット値としました。 

そして最大の欠点は、LCDで描画したアナログメーターである事が理解できました。 このアナログメーターはすでに、LCDの1ピクセルの分解能で動作していますので、これより細かい動きは出来ません。 アンテナアナライザーでSWRを計ったり、LCの共振周波数を計る場合、指針が最小値を表示する周波数を知りたい事が多々発生します。 このような時、1ピクセルの分解能では、最小値の周波数を知る事は出来ませんでした。 この感覚はメカニカル方式アナログメーターにはとても及びません。 どんなに精度の悪いメカニカルメーターでも、最小値や最大値を探すのは、簡単にできます。

Aa50_z_change

このアナライザーを製作するに当たり、SWRグラフィック表示とアナログメーター表示を兼用可能な液晶表示で、コメットやMFJのアナライザーより使いやすいアナライザーを目指してきました。 この手作り品は基板がユニバーサル基板なので、ケースサイズを小さくできませんでしたが、両面高密度基板を使えば、単3乾電池3本という電源を含めて、かなり小型のアナログ式アンテナアナライザーが出来ると考えました。 しかし、メカニカルメーターのフィーリングには勝てませんでした。  

今更、アナログメーターに戻す気はありませんので、現在は、SWRを小数点以下2桁まで、Z(インピーダンス)を小数点以下1桁まで表示した数値を見ながら、LCDによるアナログメーターの欠点をカバーしています。 直感的には判りませんが、そこそこの探索は可能です。 

LCD表示のアナログメーターは、Sメーターかタコメーターが一番合いそうです。 最近の車のスピードメーターやタコメーターはタイヤの回転数やエンジンの回転数をデジタルで検出して、そのデジタル値をベースにステッピングモーターを回して、指針を動かしているのだそうですが、これらは、今後インパネ内の表示量増大に伴い、LCDタイプが増加することでしょうね。 

最新配線図をダウンロード

2018年11月

マイコンのソースコードを公開しようとしましたが、どれが最終で、どのようにコンパイルしたかも忘れてしまいました。 以下のふたつのソースファイルは多分まともにコンパイルできないと思います。

AA50-LCD-SD.cをダウンロード

AA50SD_data.cをダウンロード

INDEXに戻る

2015年10月17日 (土)

過去のデータを再表示

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

周波数対SWRの変化特性をグラフにし、このデータをSDカードに保存し、PCでエクセルデータとして取り込む状態まで完了していましたが、せっかくSDカードにセーブできましたので、このデータを、再度アナライザーのLCD画面に表示する事にトライしました。

この機能を追加するのは、純然たるソフトウェアだけの世界となりますので、ハードの変更は一切なく、ただひたすらにC言語に苦しみながらPCと向き合う事になってしまいました。

 

Aa50_faile_select

Aa50_re_display

左上の画像がSDカード内のSWRカーブファイル名を表示させた状態で、画像ではSWR00044.CSVを選択している状態です。 この状態でワイドキーを押すと右上の画像のように、グラフデータをLCD上に表示します。 表示したデータは、前回セーブした14MHzのスカイドアアンテナの特性です。

Aa50_21m_mtu

左の画像は私の21MHz用アンテナを3つのMTUでそれぞれチューニングした時のSWR特性をグラフで表示させたものです。 SDカードにセーブして有りましたので、それを呼び出してLCD上に再表示させました。 この画像では、3本のSWRカーブが3色で描画されていますが、マイコンの仕様としては最大で7本のカーブを7色で描画できます。 また、読み込んだファイル名も表示させる事にしました。

ここまでの機能を入れ込んだ状態で、ROMエリアは91%、RAMエリアは85%となりました。まだ、バグや使い勝手の悪いところもありますので、それらの対策をして、ギリギリの容量かも知れません。

このアナライザーの場合、SDカードにセーブ出来るファイル数はSDカードの容量が上限を決めます。 しかし、検索出来るファイル数は、現在は20個までです。デバッグの進行状況を見ながら、RAMエリアに余裕があれば増やす事はできますが、それでもLCDの画面サイズの関係から最大50個くらいと思われます。 また、読み込み順序もFAT32のファイルシステムで記録された物理的なアドレス順になります。 通常は古いファイルから先に検索されますので、仮に50個以上のファイルをセーブしていても、新しいファイルは表示できなくなります。

Aa50_delete

このような条件から、SDカードのファイルをオープンしてLCDに表示した後、そのファイルを手動で削除する機能を追加しました。 グラフが表示された状態で左の画像のごとく、確認メッセージを出した上で、DOWNキーで削除できます。 この機能を追加した事により、削除する為にSDカードをいちいち抜いてPCに接続する必要も無くなります。

ファイル名が連番ですので、古い番号のファイルの中身が、どのアンテナのどのような条件でのSWRカーブであったかは、多分覚えていないでしょうから、必要なファイルはせっせとPCにコピーして置けば良く、その必要がないなら、古いファイルはせっせと削除すれば良い事になります。 RAM容量が限られているマイコンではやむを得ない処理でしょう。

10月31日追記

Aa50_max50

その後、2週間くらいデバッグを繰り返して、バグも収束してきましたので、表示可能なファイル名数を最大50まで増やす事にしました。 左の画像のごとく、LCD上でのディスプレーの都合でファイル名は連番の部分のみとしましたが、不便はないでしょう。  ファイル数が50を超えている場合、この画面上でなんらかの警告を出す事にしています。 常に50個以下にしておかないと、最新のファイルが検索できなくなります。  この状態で、ROMエリアは91%、RAMエリアは88%の使用となりました。

マイクロチップのMLAを使ったFILEIOアプリでファイル表示や、特定のファイルの読み込み方法は PICマイコンでSDカードのファイルを読み込む で紹介しています。

ここまでの基板の状況は以下のようになりました。 一番左の基板表側はスルーホールの部品だけが目立ちますが、真ん中のこの基板の裏側はチップ部品よりジャンパーワイヤーだけが目立ちます。 一応、高周波回路は最短で構成し、単純なDC電源やDC信号ラインはジャンパー線でまかなったので、発振回路としての動作は安定しております。 RF回路を横断しているいくつものジャンパ-線は、RF的にはすべてGNDレベルの線なので、写真では無造作に結線されているように見えますが、一応、元プロフェッショナルな作業は行っています。

Aa50_osc_f

Aa50_main_f

Aa50_mic_f

ソフトのバグも収束ぎみですので、これからケースに収納する為の検討をする事にします。

アンテナアナライザーの製作(ケース入れ) へ続く。

INDEXに戻る

2015年9月19日 (土)

SWRグラフをSDカードへセーブ

 

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

PICマイコンでSDカードにテキストファイルを保存する事が出来るようになりましたので、この機能を使い、周波数対SWRのデータをCSV形式でSDカードに記録し、これをPCでエクセルファイルに取り込んだ後、自由にグラフデータをPC上に表示する事ができるようになります。  

SDカードとPICの通信はSPI1モジュールで行いますので、今までSPI1を使用していた、コントロールマイコンとの通信ラインをSPI2に引っ越しさせ、FAT32用モジュルールやドライバーなどを従来のアナライザー用ソースファイルと合成し、なんとかコンパイラーがエラーを出さなくなりました。 この状態で、128KあるROMエリアの約84%のが占有されました。 RAMは58%くらいの使用です。

Sd_ready

とりあえずコンパイル成功したプログラムは、アナライザーの機能とSDカードの機能は正常に動作しますが、両者の間でのやりとりはやっていません。 やっとSDカードの検出結果をLCDに表示する事だけ出来るようになりました。 ちなみにSDカードをソケットに差し込むとすぐにMEDIA READYになりますが、ライトプロテクトがONになっている場合、カードをロックするまで押し込んだ時点でNO MEDIAになります。 ちゃんとライトプロテクトは動作しますが、読み込みも出来ないという事ですから、ライトプロテクト機能は無効と考えるべきです。

カード有り無しの判定が出来るようになったので、アナライザーから引数を渡す方法でSDカードソフトと連結してみました。 

Sd_save1

しかし、そう簡単にはいきません。 コンパイルエラー続出で始まり、無限ループにはまったりで、何度も後退しながら、やっとアナライザーのキー操作で仮のテキストをセーブできるところまで出来ました。 下記の通りファイル名が連番でセーブされています。タイムスタンプは、リアルタイムではなく、PICKIT3でプログラムを書き込んだ時のPC側の時刻のようです。 

Sd_save0_2 

テキストファイルが連番でセーブ出来るようになりましたので、次は、いよいよ周波数対SWRデータのセーブにトライです。  しかし、これも私の非力の性で、コンパイルエラーの連続でした。 ここで、複数のソースファイルとヘッダーファイルの場合のコンパイラ動作をにわか勉強して、かろうじて、データのセーブが出来るようになりました。

セーブしたデータをエクセル上に展開し、これからグラフを作るのは手作業です。

まずは、7MHzの垂直ダイポールの例

Swr00040_2

Swr00040xls_2

 

左上がアナライザーのLCD上に表示されたSWRカーブ、右上はこのデータをSDカードに転送セーブし、PC上でそのデータをエクセルデータとして開き、そのデータから作成したSWRカーブです。 周波数は100Hzの位まで取得された値、SWRは実際値を100倍した値となっています。 Y軸(縦方向)の目盛間隔がLCDより拡大されていますので、急激に変化しているようですが、数値を見比べると同じである事がわかります。

次は、14MHzのCWバンドに合わせたスカイドアの特性です。

Swr00042_2

Swr00042xls_2

LCDのY軸目盛は良く見慣れたSWR計の目盛と同様にSWRが高くなると、目盛間隔が詰まっていきますが、エクセルのグラフは等間隔ですので、カーブの様子が異なります。 縦軸を対数目盛にすればLCD表示に近づくでしょう。 このへんはエクセル表現のワザの話になります。 SWR目盛も100で割った小数点値にし、周波数も10で割った小数点値にすれば見栄えも良くなるでしょうが、そこはPC上で処理する事に、このアナライザーはこのままです。

このアナライザーのSWRカーブの最大取り込み数は7本として作ってあります。従い、エクセルデータもSWR0からSWR6までの7本分のデータがセーブ出来るようにしました。

Swr00043

左の画像は、14MHzバンドでCWバンドにチューニングした青色のデータとSSBバンドにチューニングしたときの赤色のデータを重ねて表示したものですが、この状態でもエクセルデータとして取り込めるようにしてあります。

このデータを実際にエクセルで取り込み、グラフ加工したエクセルデータを添付しておきます。

SWR00044.xlsをダウンロード

ここまでの対応でLCDマイコンのROM使用量は88%、RAM使用量は81%になりました。 まだ、デバッグや操作性の改善も残っていますので、多少は増えると思われます。 XC16の無償版コンパイラはオプチマイズ機能が無いと聞いていますので、最悪有償版かROM容量を256Kまでアップする覚悟をしていましたが、その必要はなさそうです。

SWRカーブをPCに取り込むという目標は達成できました。 試に私のマルチバンドアンテナのSWRデータを取り、エクセルデータにしてセーブし、グラフをPC上に表示してみましたが、 苦労してプログラム開発したのに、私の場合、その利用価値は有りませんでした。 アンテナの解析などを行いたい場合、取り込んだデータが役立つかもしれませんが、アンテナを調整して、最適使用状態に設定するのが目的なら、このような機能は不要みたいです。 ただし、一度セーブした過去のデータを呼び出して、アナライザーのLCD上に再表示させる事ができれば、それはそれで、役立つかも知れません。 機会がありましたらその機能追加にトライしたいと思います。

ところで、時々マイコンが暴走します。 以前の検討でPICKIT3に接続するMCLR端子に、パスコンが必要となっていましたので、0.01μFを追加しました。 その後、異常が発生しなくなりました。

SDカード対応の配線図をダウンロード

過去のデータを再表示 へ続く

INDEXに戻る

2015年8月 8日 (土)

アンテナアナライザーの製作(全機能組み込み)

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

LCDドライバーのマイコンのROM容量が64Kをオーバーしそうになったので、ROM容量が128K品であるPIC24FJ128GB106に変更し、製作を継続してきましたが、正規の基板を使っていない事もあり、配線引き回しが多く、ノイズによる誤動作で苦労しました。 せめて両面高密度実装基板なら、こんな問題は起こらないのですが、そこは手作りの基板ゆえ、苦労が絶えません。 とりあえず、目標としたアンテナアナライザーの全機能を組み込む事ができました。 これから、実際に使ってみると、問題点も出るでしょうが、 アンテナアナライザーの製作の最終章です。

Aa50normal

Aa50cal

左上がノーマル状態、右上が校正モード時のLCD画面となります。

校正が完了した各ダミー抵抗によるADの出力値は赤色で表示されています。

校正は3.5MHzバンド付近のみで行い、他の周波数では行いません。 これは、センサー部分のブリッジからダミー抵抗まで約50mmあり、これが影響して周波数が高くなるに従い、検出されるRやXはもちろん、Zも変化するためです。

Aa50100dummy

ちなみに、100Ωのダミー抵抗(純抵抗)を接続し、Mコネクターの特性インピーダンスを仮に30Ωと置いて、周波数を可変した時の計算値は左の表のようになり、実際の値も、近い値を示します。 例えば、50MHzで100Ωのダミー抵抗による校正をするという事は、50MHzでZ=100にすることになり、実際値とは異なる数値になるからです。 従い、このアナライザーでは、3.5MHzにてZ=100と定義し、RとXはその時のSWR=2.0との関係より計算させるという方法を取っています。 そして、広帯域発振器の出力レベルを比較し、周波数により変化が有ればこれを補正する事にしました。

Aa5017m

Aa50fc_2

左上が私の18MHz用ループアンテナのSWR特性。 右上が今回追加した周波数カウンターモードの表示例です。

周波数カウンターは、WWVやWWVHで校正された基準周波数を入力して、内臓の周波数カウンターのゲート時間を正確に20m秒に調整する必要があります。 その時の外部基準信号をアンテナを接続するMコネクターから加える事にしましたが、この機能をそのまま、周波数カウンターとして使えるようにしました。 0dBmの信号で最高周波数110MHzくらいまでは100Hz単位で計測できます。 しかし、よくよく眺めると、SWR,ZやR,Xの表示がバラバラです。バラバラになるのは当然なのですが、見てくれは良く有りません。次回、変更のチャンスが有ったら、これらの表示が無効になるような対応を考えたいと思います。

一応、当初の目標としていた機能はすべて組み込み完了しましたが、ひとつだけ気になる問題があります。 18MHzのアンテナのSWR特性カーブの中の、SWR1.1付近で不自然にカーブがずれています。 この原因を詳しく調べると、この不自然な変化周波数を境にして右側はインピーダンスが50Ωより高くなっており、左側は50Ωより低くなっています。 SWRを換算するとき、50Ω以上の時と、50Ω以下の場合のSWRの換算方法が異なる為、この境目でSWRが一致しないという問題でした。 SWRが小さい状態でインピーダンスが50Ωを横切った場合、あまり目立ちませんが、SWRが大きい状態でインピーダンスが50Ωを横切ると、完全に段差が生じます。

このインピーダンスにより、換算値に誤差が出る原因は、SWRメーターとアンテナのリアクタンスの関係 の記事で触れたように、リアクタンスが含まれた時の計測誤差が影響しておりました。

Aa50swr0

Aa50swr1

Aa50swr2

上の画像は28MHzのCW運用バンドに合わせたループアンテナのSWR特性です。 

 左の画像が、インピーダンス50Ωを境に、高い時と、低いときでSWR換算方法を使い分けたものです。 50Ωを横切る周波数が2か所ある為、2か所で段差が生じています。

真ん中の画像は、換算方式を通常のSWR計と同じ方法にしたものです。段差が無くなった代わりに、中心周波数より離れた周波数で、SWRが低く表示されています。

右側の画像は、インピーダンスが全て50Ω以下と想定して、換算させたSWR特性です。

どの、画像も、SWRが1.5を超えたら、それぞれ誤差が大きくなり、特にSWR2以上の場合、いずれも、正確なSWRは表示していません。 アンテナ調整を行う時、悪いSWRが良く出る率が小さい方がましですので、このアナライザーは一番右の特性になる方式でいきたいのですが、SWR2.0の校正を100Ωでやっている関係で、一番右の換算方法では100Ω時のSWRが校正されません。 25Ωの抵抗で校正すれば、OKなのですが、世の中のアンテナアナライザーのほとんどが100Ωで校正されていますので、25Ωで校正した場合、比較したとき誤差が大きくなりそうです。 従い、このアナライザーも一般のアンテナアナライザーやSWR計と同じ校正方法となる真ん中の方式でいく事にします。

また、この製作の発端となったLCD表示のアナログメーターの動きも、大きな違和感なしで共振周波数を探る事が出来ます。  指針の動く速さを改善する手段として新たに、指針移動角度に応じて書き換える範囲を可変する事にしました。 指針が移動するとき、旧指針を消して、新しい位置に指針を書き込む必要がありますが、これを1回の書き換えで実現する為に、新指針のエリアより上下左右の広い範囲に目盛の再書き込みを行い、この操作で旧指針を消していました。 しかし、指針が2度の角度で移動するとき、左右で9ピクセル分の目盛データを上書きする必要がありました。  そこで、指針の移動角度小さいときは、それなりにカバーする範囲を小さくし、最少角の0.25度の時は、左右で3ピクセル分のみカバーさせる事にしました。 さらに、このカバーエリアの拡大は、指針が右へ動く時は、左側だけ、左に動く時は右側のみとして、書き換えるエリアの面積を常に必要最小限とする事により、 クラニシのアンテナアナライザーのメカニカルメーターと同等の速度まで改善する事ができました。

指針が0.25度動いたときの最大移動ピクセルは約0.7です。 0.7ピクセルは実在しませんので、実際は1ピクセル移動します。 従い、進行方向はゼロピクセル、後方は1ピクセルだけ再描画すれば旧指針は消えるのですが、実際は、ADの変換値がチラチラとばらつきますので、そのバラツキをカバーする為に、進行方向は1ピクセル、後方はさらに1ピクセルの2ピクセル分だけ再描画が必要です。さらに、0.5度間隔から0.25度間隔に変更した時点では、0.5度分のピクセルが残っていますので、これを吸収する為、さらに後方に1ピクセル分の再描画エリアを確保する必要がありました。  このアルゴリズムでプログラムを組んで様子を見ていますが、時々旧指針が消えずに残る時があります。 旧指針の範囲を指針が移動するまで残ります。 ただし、この異常現象は、バグ対策を行うほどに頻度が小さくなっていくようです。

各ADの出力値は温度や周波数でわずかに変化します。このわずかな変化を検知して、出力されたADデータ値を補正します。 この補正プログラムも組み込みましたが、過酷な温度試験は実施していません。 たちまちは、気温差が10度くらいで100Ωの指示誤差が+/-1Ω程度になるように、補正係数を調整しました。

今後、実用テストが出来るようにケースに収納した上で、デバッグを継続する事にします。

ROM容量が64Kをオーバーするかも知れないと、マイコンを128K品に交換しましたので、少しでも視認性を上げるべく、フォントを新作して、組み込む事にしました。 ところが、データエリアが32Kを超えたとたん、コンパイラーがエラーを吐きます。 なんとか対策できましたが、完成度はなかなか上がりません。

最新回路図をダウンロード

完成度はあがりませんが、せっかく実現した周波数対SWRのカーブをPCに転送してPCの画面上にグラフを描かせる事にトライする事にしました。 たちまちは予備検討です。

この記事でアンテナアナライザ製作を終了する予定でしたが、色々と問題点や改善テーマが出てきて、終了できませんでした。 しばらくは製作記事が継続します。

SWRグラフをSDカードへセーブ へ続く。

アンテナアナライザーの製作を最初のページから参照したい場合ここからどうぞ。

INDEXに戻る

2015年7月11日 (土)

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

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

LCDコントロール用のPIC24FJ64GA004のROM容量が93%まで詰まってきましたが、操作性やデザイン性は後回しにして、とにかく、周波数対SWRのグラフが描けるまでやってみる事にしました。

今までの実験中に気になった事項として、周波数表示のチラツキがあります。  デジタルカウンターの場合、一番最下位の桁は、常にチラつくのが普通です。  この対策の為、測定した周波数の5回分の平均値を表示させていますが、それでも、チラチラはかなり気になります。  そこで、周波数が1MHz以上の場合、100Hzの桁を表示させないようにする事にしました。 この対策でも100Hzの桁の0と9の堺では、1KHzの桁がチラツキますが、その頻度はかなり低くなりますので、結構精度が上がったように見えます。

周波数の調整は1800度(5回)回転の可変抵抗器で行っていますが、18MHzや24MHzの周波数調整が、かなりクリチカルです。  いままで、110KHzから64MHzまでを4バンドでカバーしていましたが、各バンドでのバリキャップ電圧の上限下限を調整して、6バンドに分割し直し、最高周波数も59MHzまでとしました。  この変更で、周波数可変抵抗器のホット側、GND側に直列に入る抵抗値を切り替える必要が生じ、i/oが不足しますので、SWRグラフ表示用に用意しておいたOPTION SWはADポートへ接続し、キーが押された時のADポートのDC電圧を測定して、どのキーが押されたかを判断する事にしました。  この変更により、i/oポートが2本空きましたので、これをバンド拡張の制御信号としました。

しかし、このADポートの電圧で、キーの判定を行うとき、ADポートが急に0Vになると、UARTのTX端子が、時々、Lに落ちるというトラブルが発生しました。 この場合、当然UARTが正しく動作しないだけでなく、プログラムも暴走します。  原因が判らず、1週間くらい悩みましたが、ADポートをいきなり0Vにするのではなく、最少電圧として、0.3Vくらいにしてやると、全く問題なく動作します。

Aa50ad0v

Aa50ad1v

上の画像は、左が、ADポートをタクトSWでいきなり0Vにした時のAD入力ポートの波形です。 右は、タクトSWにシリーズに1.6KΩをいれたときの波形です。  いきなりAD端子をGNDへショートすると、リンギングが発生し、瞬間的ですが、ADポートが最大で1.8Vくらいマイナス方向へ振られます。 これでラッチアップを起こし、マイコンが暴走する原因となっていました。 

 

LCD上に周波数対SWR特性のグラフを描かせようとすると、周波数を一定間隔で連続可変する必要がありますが、このアナライザーの場合、14VのDC電圧を10KΩの可変抵抗器で分割して、バリキャップに加え、発振周波数を可変させるものですから、自動SWEEPという機能は使えません。 SWEEPはハンド操作になりますので、バリキャップ電圧ラインに大きな時定数を持たせ、不規則なハンドによる周波数可変が有っても、バリキャップ電圧が滑らかに変化するような機能を追加しました。 ただし、この機能がONの場合、周波数可変つまみの変化に周波数が即追従しませんので、通常はOFF状態にしてあります。

グラフィックモードになったら、最初に中心周波数を決めます。この周波数は有効桁数3ケタの数値に丸め込みます。

1.8262MHz は 1.83MHz へ

14.2358MHz は14.2MHz へ

などのように設定しておきます。 次にこの中心周波数に対して、+/-何KHzもしくは+/-何MHzかの帯域幅を設定し、その範囲の周波数帯に限定して周波数対SWRのグラフをプロットさせます。 

Aa50swrgraph設定される帯域幅は任意ではなく

1,2,4,6,10,20,40,60

を基準とした予約数値で、グラフの周波数目盛となる縦線の位置が変わらないようにしました。 LWのときは最小幅+/-1KHz、最大幅+/-60KHzとなり、最高周波数の50MHzバンドでは、最小幅+/-100KHz、最大幅+/-6MHzとなります。 この幅はUP/DOWNキーで変更できます。

このように設定されたバンド幅で、周波数調整つまみをゆっくり回して、周波数が設定された範囲に入ったら、LCD画面上にSWRがプロットされます。

左の写真は、なんとか当初の狙い通り、SWRのプロットが出来るようになりましたので、私の7MHz用フルサイズ垂直DPのSWR特性をシャックの中で表示させたものです。

市販のアンテナアナライザーでスポット周波数をチェックし比較しても、ほとんど誤差なくグラフに表示されていますので、結構精度も出ているようです。

プロットされる周波数の分解能は設定されたバンド幅を222で割り算した周波数単位となります。 上のグラフの例では、バンド幅が400KHzですから400/222=約1.8KHzが最少分解能となります。 最少分解能が100Hzより小さくなると、グラフは線にならずドット表示になります。 

また、周波数を可変(スィープ)する速度が速すぎても、グラフは線にならずドットになりますが、これは、周波数カウンターが周波数を計測する時間間隔と、LCD上にドットをプロットする時間間隔によります。 このアナライザーの場合、コントロールマイコンのメインルーチンが1周するのに、約25msecかかっておりますので、周波数カウントの周期も25msec間隔となります。 ところが、LCD表示マイコンのメインルーチンが約42msecで1周しており、実際にグラフで表示されるのは、この42msec間隔となります。 ドット表示にしない為には、周波数変化スピードは42msecの間に、前述の最少分解能周波数以下である必要が有ります。 この条件を満足する為に、バリキャップ電圧回路に時定数回路を設け、電圧が急変しないようにします。 しかし、バリキャップ電圧の時定数を大きくし過ぎると、周波数つまみの動きと周波数変化の追従性の関係が悪化し、操作しにくくなりますので、実際に使いながら、時定数は決める事になります。 最終決定は、全て完成してから、ハードの定数をいじる事にします。

そして、ここまでのプログラム実装でROM容量が98%となりましたので、気が付いたバグや、操作性の改善、グラフ表示部分の見栄えなど、手を付けたくても不可となりました。

アンテナアナライザーの回路図をダウンロード

TFT LCDによる表示の詳細はこちらを参照下さい。

今後、マイコンのROMを128K品に変えて、完成度を上げる予定です。

後日、128K品に替えましたが、ハードやソフトの問題でなかなか思うように進行しません。 問題の様子はこちらに有ります。

アンテナアナライザーの製作(全機能組み込み) に続く。

INDEXに戻る

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に戻る

2015年6月17日 (水)

アンテナアナライザーの製作(コントローラー)

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

RFブリッジのセンサー回路広帯域RF発振器がほぼ完成したので、次は、これらのアナログ回路の発振周波数を計測する周波数カウンター、SWRやインピーダンスの計算の基になる、センサー回路からのDC電圧計測機能、そしてこれらのデータから、SWRやZ,R,Xを計算する機能を持ったコントロール回路の製作に入りました。

このコントロール機能はLCDドライバーとは別の品種となるPIC24FV32KA302という16bitマイコンで構成します。このマイコンチップを選んだのは、内臓されているADが12bit品であるからでした。 過去、PIC16F1939で、予備検討した時のADは10bit ADでしたが、分解能にいまひとつ不満が有りました。 例えば、リアクタンスを表示するときの最少分解能が4Ωくらいしかなく、表示される数値は0,4,8・・・のように変化するものでした。 今回12bitのADを、仕様書通りに使いこなせば、0,1,2,3・・・のように変化する数値が得られると考えます。 ただし、10bitのときでも、なかなか、仕様書通りの性能が出ませんでした。それは、アナログの値がそこまで安定しなかったり、ノイズで差が出なかったりが原因で、これらの最大の原因はDC/DCによる電源のノイズでした。 今回、2回路のDC/DCを使いますので、もっと条件は不利になりますが、わざわざ12bitのADを使った価値が出せるかトライする事にします。

 

Aa50lcd0_2

Aa50pic1_2

上の写真はコントロールマイコンからUART経由でデータを受信して、LCD上に表示したショットとLCD基板の裏側に配置したふたつのPICマイコンです。 完成したあかつきには、ケースに入れ、操作が出来るように操作キーもLCDの隣に実装してあります。 一番下の赤のキーが電源でその上の、2個の青キーはバンドのUPとDOWNです。さらに緑の3個のキーがありますが、この時点では、何をするキーか決めておりませんが、マイコンのi/oへの配線だけはやってあります。  通信は38.4Kボーの一方通行です。 画面に示すLCD表示に関しては、ほぼプログラムの実装を終えています。 今後、周波数対SWRのグラフを描かせるためのアルゴリズムを検討し、その内容に従い、LCD表示のデザインをする事になりますが、その前に、アンテナアナライザーの基本機能として、周波数、SWR,インピーダンス(Z)の表示が出来るようにします。

まず、周波数表示ですが、今回採用したPIC24FV32KAのタイマーは他のPIC24FJシリーズと同じような構成になっていますが、設定レジスターが微妙に違うようです。 今回の周波数カウント最大値は100Hz単位を表示する為、 640,000を超えますので、 20bit以上のカウンターを必要とします。  TIMER2とTIMER3を連結して32bitカウンターがレジスターの設定のみで出来ますが、このタイマーは同期タイプで、外部カウントできる周波数上限は10数MHz止まりですので、今回は使う事が出来ません。 外部クロックでカウント可能な非同期カウンターはTIMER1の16bitしかありませんので、これにソフトで作った16bitカウンターを連結して32bitカウンターとしました。 TIMER1にプリセット値として64000をセットし、カウンターが64000になったらT1IFが1になりますので、これが1になる度に、ソフトカウンターをインクリメントするという手法で100MHzくらいまでは動作できるカウンターに仕上がりました。 T1IFフラグは割込み設定やT1IEの設定に関係なく立ちますので、カウンターモードに入ったら、全ての割込みを禁止します。 TIMER1のプリセット値を65536すなわち0000にしたら割込みフラグが立ちません。さらに、TIMER2で20msecのゲート時間を作った後、いくつかのNOP命令でこのゲート時間を微調整しますが、この微調整の時間内にTIMER1がキャリーオーバーしないように小さな値にしてあります。

周波数カウンターの校正は、ゲート時間を正しく20msecに調整するのではなく、正確な基準周波数を入力して、その基準周波数と同じ数値になるようにNOP命令の数を調整し、調整しきれない時は、水晶発振周波数をトリーマーで微調整します。  正確な基準周波数は10.00000MHzのWWVHをゼロビートで受信できるようにトランシーバーを調整しておき、受信周波数を10.12000MHzに設定した後、CW送信モードにして、この信号を入力したとき、カウンターの数値が10.1200になるようにトリーマーを調整するだけです。 もちろん、この調整の前に、受信周波数と、送信周波数にずれが無い事を、もう1台の受信機で確かめておきます。

次は、12bit ADの取り込みです。 インターネット上から、PIC24FJ用のADサンプルプログラムを入手し、4チャンネルのADが使えるようにプログラムしたのに、読み込んだデータはどうも10bitのようです。PIC24FV32のデータシートには12bit、10bit選択のレジスタービットは無効と書かれていますので、何もせずとも、12bit ADで動作すると思ったのですが、そうではないようです。ためしに、この12bit/10bitの選択ビットに1をセットしたら、12bit ADの動作となりました。このデータシートは英文も、日本文もこの部分は間違っているようです。

ADのデータを読めるようになりましたので、その数値を加工なしで、ベクトル計算し、R,X,Z,SWRを求め、LCD上に表示させる事にしました。

Aa50test1

上の写真は、50Ωのダミー抵抗を接続した状態で、ADのデータを補正なしで計算させたものです。 本来はZもRも50Ωとなり、SWRは1.0にならなければなりませんが、補正が出来ていませんので、R=36、X=15と表示されています。 このRとXの時の計算されたSWRは1.6ですから、SWRの表示は正しく表示されている事になります。

このRとXが50と0にならない最大の理由は検波ダイオードの非直線の性です。 これを正しく補正してやると、アナライザーは期待した通りの数値を表示する事になります。 

ここで、この製作の中でやろうとしているベクトル計算のアルゴリズムを紹介する事にします。 この方式はアンテナのインピーダンスが50Ω近辺なら、かなり精度が出ますが、SWRが2を超える当たりから誤差が大きくなります。 しかし、私たちがアンテナを調整する場合、SWR2以下の数値はそれなりに精度が出て欲しいですが、SWR2以上の場合、例えばSWR3とSWR4が逆転しない程度しか要求されません。 

Swrzrx1 上のJPGが測定原理を示したものです。 クリックしたら拡大します。 そして、下の黄色に塗った部分の式がこの原理から算出された、各データを得る為の式です。

 

Swrzrx3_2

 これらの計算を32bit浮動小数点型式で計算する事により、アンテナアナライザーとして表示したい数値が得られます。

ただし、単純に、この計算式をC言語で書いても、プログラムはすぐに暴走します。原因は、0で割り算したり、負の値を平方根した事によります。アンテナ端子に何もつながないときや、ショートした時の例外処理を入れておかないと、たちまちエラーになりますので、この例外処理は実験しながら、挿入位置を吟味する必要があります。

また、周波数やAD値のチラツキが目立ちます。特に、Zが100Ωを超えた当たりからのAD値のチラツキは激しく、メーターの指針も安定せずに、フラフラ揺れてしまいます。メカニカルのアナログメーターなら、安定して指示しますが、デジタル駆動ではそうはいかないみたいです。

Aa50test2

とりあえず、アンテナアナライザーの基本動作は出来るようになりましたので、AD値の補正方法を確立させ、校正プログラムを組み込むと、SWRのグラフィック以外、完成となります。SWRのグラフィック表示は、周波数のSWEEPをハンドで行う必要があり、確定したアルゴリズムは、まだ有りません。

かねてより考えていた、ダイオードで検波したDC電圧から、元のRF電圧を換算する計算式をプログラムの中に仕込んでみました。 50Ωのデータで校正してありますので、左の写真のごとく、ちゃんと50Ωのダミー抵抗を正しく測定して表示しました。しかし、校正していない100Ωのダミー抵抗では、R=87,X=36と表示し誤差が出ます。 今後この誤差を詰めていきます。 まだ確実なアイデアではありませんが、試行錯誤しながら解決策をみつけようと、このアンテナアナライザー製作の企画を思いついた次第です。 そして、やっと、その実験道具が出そろいましたので、ああでもない、こうでもないと、いつ終わるか、いつ投げ出すか、結論の見えない製作記事が続く事になります。

その後の検討で、ここで紹介したベクトル計算によるRやX、SWRの算出方法は現実的でない事が判ってきました。 その内容は次の記事で紹介しております。

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

INDEXに戻る

2015年6月12日 (金)

アンテナアナライザーの製作(広帯域発振器)

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

疑似両面基板で作ったブリッジ回路とインピーダンス、SWRセンサー回路に市販のアンテナアナライザーを接続し、インピーダンスやSWRに比例したDC電圧を取り出すことを確認できましたので、いよいよ、アナライザーの心臓部とも言える、広帯域発振器の製作にとりかかりました。

基板は、ブリッジ部分と同じように疑似両面基板として、過去検討した事のある回路をベースに、一部電源電圧の変更などの理由から抵抗やコンデンサの値を変えながら組み立て、とりあえず、18MHzから54MHzまでをカバーする発振回路の動作確認を行う事にしました。  この周波数帯がOKなら他のバンドは簡単に実現できると考えたからです。  しかし、それは甘い考えでした。

今回のアナライザーは単3アルカリ乾電池3本による4.5Vの電源をベースに、一度14Vのバリキャップ用電源をDC/DCで作った後、その14VをさらにDC/DCで5Vに変換し、アナログ回路を動作させ、5VからLDOで3.3Vを作り、これでアナライザーの計算部分を担当するPIC24FV32KA302とLCDの表示を担当するPIC24FJ64GA004とLCDそのものの電源をまかないます。 これらの電源をON/OFFするのはPIC12F675に任せます。電源OFFの時は、数秒後にSLEEPモードに入り、消費電流はナノアンペアとなります。

DC/DCからのノイズを比較的簡単に対策する方法を紹介します。 回路部品の配置や接続方法は大抵のDC/DC ICのデータシートに推奨パターンや配線方法が記載されていますので、それを踏襲しますが、その通り実現するには、チップ部品がマストです。その上で、この回路を両面基板の片面のみで構成させ、反対面にあるGNDラインに1点で接続します。 DC/DCのGNDラインのどのポイントを接続するかは、思案のしどころですが、DC/DCの入力も出力もきれいな直流電流ですので、DC/DCのパルス電流が流れていない所を選べば問題有りません。 しかし、GNDパターンは全て同一の導体ですから、どこでも同じではないかと言われるかも知れませんが、電流は常に最短距離を流れようとしますので、回路素子の接続ポイントを最短で結んでいくと、パルス電流が少ない場所を見つける事ができます。

マイコンが3.3Vで動作しますので、マイコンのADに加えることが出来るDC電圧は最大で3.5Vくらいしか許容できません。 ところが都合の良い事に、バッファアンプがLM358ですので、このアンプを5Vで動作させた場合、出力されるアナログの最大電圧が3.5Vくらいしかなく、ちょうど良い電源電圧設定となっています。

Aa50osc2

左の写真はそのようにして組み立てたOSC基板です。左上の一角は電源回路で4.5Vの電池から14V、5V、3.3Vの電圧を作っています。

右下の一角に広帯域発振回路を配置し、とりあえず18-54MHzバンドのみ実装してあります。 そして、この発振器の出力は4ピンのコネクターを経由してブリッジ回路に接続されています。 最初に電源投入したときは、発振動作せず悩みました。 原因は1608の抵抗電極がはげ落ちて抵抗の役目をしていない部分があり、正帰還がかかっていなかったものでした。

なんとか発振するようになりましたが、動作はかなり不安定です。 基板に手を近づけたり、オシロのプローグを当てるだけで、発振の振幅が大きく変わり、時にはブロッキング発振を伴ったり、停止したり、矩形波になったりです。 高周波の正帰還発振回路にDC負帰還をかけて、出力を安定させるのですが、ブロッキング発振を誘発します。 これは、負帰還回路の時定数だけでなく、RFの回り込みによる正帰還ループの変化にも関係します。 最初に実験した回路はセンサー基板とOSC基板をリード線で接続していましたので、機械的に固定されていなく、対策の立てようが無いという状況でした。

そこで、センサー基板と発振基板をピンヘッダーとソケットで固定し、3D構造が変わらないようにする事で、発振回路はかなり安定させました。 ここでの「安定」の意味は、バンド全域できれいに発振している状態ではなく、周波数や出力レベルを変えた時、正常発振やブロッキング発振や、発振停止が決まって起こるという事で、「安定」して、うまく動作しないという意味です。

Aa50osc5_2

Aa50osc6_2

ひび割れたセラミックコンデンサの交換や、ハンダがついていいない端子の修復などを行った結果、18-54MHzがなんとか正常に発振し始めましたので、5-20MHzバンド、1.6-6MHzバンド、130-500KHzバンドを追加しました。  マイコンがまだ接続されていませんので、バンド切り替えは、ロータリースイッチで行えるよう仮配線しました。 選択された各バンドの共振回路を発振回路に接続する為の高周波用PNPトランジスタの選定は重要で、今回はパナソニック製を使いましたが、コレクタ容量が1PF以下のPNPはそれほど多くないので、手配に苦労します。 フェアチャイルドのMMBTH81が最適ですが、これも入手は難しいです。 ただし、ONセミコンが同名のセカンドソースを出していますので、使えるかも知れません。

発振回路に使用しているFETはデュアルゲートである必要はありませんが、UHF帯まで比較的簡単な回路で使えるFETはデュアルゲートのものが選択子として広がります。 この回路ではNXP製のバイアス回路内蔵のFETを使いましたが、バイアス回路が無いので、外付けでバイアス回路を追加する必要がありますが、東芝の3SK293などでも代替え可能です。

周波数確認はオシロの水平目盛を読んで、おおまかな周波数を知るという仮組み立て状態にしておき、 電源ラインに電解コンデンサによるデカップリング回路を追加したり、回路ブロックごとにラインチョークを入れたり、抵抗、コンデンサの値を吟味して、1.6MHz以上はなんとか安定して発振させる事に成功しました。

次は、問題の500KHz以下の発振回路です。 過去、1MHzくらいまでは、発振実績がありましたが、今回、目標とする周波数はLW(ロングウェーブ)です。500KHz以下を発振させるのは、VHFの発振回路より難しく、ブロッキング発振が止まりません。 昔、現役のころ、ヨーロッパ向けのLWラジオを設計した事がありました。 受信周波数は145KHzからですが、局発はそれより455KHz高い、600KHz以上の周波数ですから、あまり苦労せずに出来た記憶があります。 今回はその時の周波数の1/4くらいで、LC発振器よりCR発振器の方が簡単という周波数帯です。 とりあえず、なだめすかして、やっと130KHzくらいまで発振できるようになりました。 ところが、この回路条件では、1.6-4MHz当たりが発振しなくなります。 全バンドうまく発振する為の定数選びをカット&トライする事、丸2日。 アナログ回路は、デジタル回路と違い、誰が何回作ってもうまく動作するとは限らないという所が苦労の種ですね。 このアナログ回路がLWからVHFまで安定に動作する為のカナメはR20とC17及びR23とC18の定数にかかっています。この4つの定数を最適化する事により広帯域発振回路が成功するか否かが決まります。

 

Aa5064mhz_2

Aa50500khz_2

Aa50130khz_2

 上のオシロ画面は、左から64MHz、500KHz,130KHzの発振波形です。 130KHzではかなり歪みがありますが、とりあえず安定して発振させる事ができました。 オシロの波形を見ていると、周波数が高いほど、RF信号の波高値が高くなっています。 これは、オシロのプローグの周波数特性が原因のようです。スペアナでチェックすると130KHzから64MHzまで+/-1dBくらいで収まっていました。 オシロのプローグは秋月から買った100MHz用ローコスト品ですから、こんなもんかと諦めています。  最高周波数は54MHz以上という目標にしましたが、実際には65MHzくらいまで発振します。周波数範囲が不必要に広いと、周波数調整がクリチカルになりますが、とりあえず、現状でおいておきます。 気になるようでしたら周波数調整用可変抵抗器の上下にシリーズに入れた抵抗値を調整できます。

検波に使ったダイオードはRF用ではないので気にしていましたが、50MHz付近までは問題ないようです。 以外と好結果を出すのが1N60ですが、サイズがでかすぎて、ブリッジ回路をうまく組めませんので、今回は、この汎用ダイオードでいく事にします。 

この状態で、インピーダンス検出DC電圧やSWR検出DC電圧をデジタルテスターでチェックすると、なまいきに、インピーダンスやSWRに比例した数値を表示します。 機械式アナログメーターに半固定抵抗をシリーズにつなぎ、50Ωや100Ωのダミー抵抗で校正し、目盛板に目盛を書き込めば、クラニシやコメットのアナライザーと同じくらいの精度で動作をします。 しかし、今回はここで終わりではなく、 すでに試作したLCDアナログメーターに表示させるところまでやります。

アンテナアナライザーの回路図をダウンロード

まだ、マイコンが接続されていませんが、マイコン回路込みの配線図となります。

コントロールマイコンがそこそこ動くようになると、アナログ回路も気になるようになります。 130KHz付近でレベルが変わる問題や、デジタル表示の誤差の問題から、低い周波数での発振波形歪みの改善、ダイオード検波の非直線性の改善など行い、アナログ回路はほぼ完成しました。 ダイオードはRB751SからHSC285に変更しました。

最終的な発振波形は以下の通りです。

Aa5064m_2

Aa507m

Aa50470k

Aa50130k

このアナライザーの周波数範囲は118KHzから546KHzまでと、1.4MHzから64MHzまでとなり、これらを4つのバンドに分割してカバーします。

 

アンテナアナライザーの製作(コントローラー) に続く。

INDEXに戻る

2015年6月 3日 (水)

アンテナアナライザーの製作(センサー回路)

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

TFT LCDを使い、アンテナアナライザーの表示部分の試作を行いましたが、実際に動作させるには、アンテナアナライザーのハード部分が必要になります。 手っ取り早いのは、市販のアンテナアナライザーを買ってきて、そのアナログ回路から必要な信号のみをもらい、マイコンのADにつなげばテストはできますが、それでは、自作の意味がありませんので、多少時間がかかろうとも、アンテナアナライザーの自作にトライする事にしました。

アマチュアがRF回路のかたまりの製品を自作しようと思ったとき、一番困るのがプリント基板です。 メーカーに頼めば、数万円かかりますし、自作しようとすると、メーカーに依頼する以上の初期投資が必要になります。 ここにあまりお金をかけたくありませんので、最高周波数を、手作りでなんとか扱える50MHzバンドまでに限定し、代わりに136KHzをカバーできるアナライザーとする事にしました。

Aasensor1左の写真は2.54mmピッチの蛇の目基板に1608のチップ部品を載せて作った、インピダンスブリッジとセンサー回路です。 

この基板の裏側には厚さ0.1mmの銅箔を両面テープで張り付け、両面基板と同じ構造にした上で、アースが必要な部品は、銅線によるスルーホールで裏側のGND面に直につないであります。

Aasensor2

3個の49.9Ω抵抗でブリッジを組み、4個めの抵抗の代わりに、M型コネクターをつなぎ、ここにアンテナを接続します。 ブリッジ回路には、ショットキーダイオードによる検波回路を3回路接続し、アンテナのインピーダンスに比例したDC電圧、アンテナのSWRに比例したDC電圧、広帯域RF発振器にNFBをかけて、全帯域でフラットな出力を得る為の発振出力に比例したDC電圧を出力させます。

このセンサー部分の構造で、使用可能な最大周波数が変わります。この手作り疑似両面基板の場合、50Ωのダミー抵抗を接続した場合、100MHzくらいまで、SWR1.0をキープできますが、200MHzくらいまで、周波数を上げるとSWR1.1くらいになってしまいます。 もし、500MHzくらいまで、SWR1.0をキープしたい場合、ガラエポによる正規の両面基板に、全てチップによる部品を実装し、これでもかと言われるくらいスルーホールを追加しないと実現できません。 クラニシのアナライザーを修理した時、ほとんど、リード付の抵抗、コンデンサやダイオードを使っており、200MHz以上で、SWR1.1以下にならず、その実装に苦労した事がありました。 類似モデルを再設計したときの対策は、ストリップラインを短くする事。 短く出来ない場合、GNDと信号ラインを可能な限り幅広くしました。 VCCラインや制御用ラインは基板が生産できる最少幅(0.2mm)まで狭くし、その代りGNDと信号ライン(200MHzが流れるライン)は3mmくらいまで拡大した結果300MHzまでSWR1.01をキープできました。 ここで、悟った事は、少なくともブリッジを組む回路だけはチップ部品を使うという事です。 クラニシのアナライザーでも、ブリッジの50Ω部分だけはチップ部品を使用しています。 ただし、ブリッジの回路に接続する検波用ダイオードがリードタイプの為、これを交換したとき、なかなか正常時のSWRが確保できず何度も作り変えた事がありました。

また、周波数カウンターの入力信号用として、プリスケーラーで1/2分周した信号を取り出します。 周波数カウンターのカウントに使うマイコンは、最大カウント周波数として50MHzまで保証されており、例え54MHzでも実力で動作しますので、本来はプリスケーラーは不要なのですが、発振回路と同じ周波数の信号を引き回しますと、異常発振が起こる可能性が高く、あえて周波数を下げてあります。 異常発振対策としては、1/2より1/4分周のほうがより安定しますが、この分周比を大きくすると、カウンターのゲート時間も、その比の分だけ長くする必要が生じます。 今回は100Hz単位での周波数表示を行いますので、基本のゲート時間は10m秒必要です。 これに1/4のプリスケーラーを設けると、ゲート時間は40m秒必要となります。カウンターの周波数表示は40m秒でも問題ありませんが、インピーダンスやSWRの元データ取得周期も40m秒間隔となりますので、後々弊害が出るかも知れません。 とりあえずここは1/2に留めて置きます。

センサー部分に使う検波用ショットキーダイオードは、非常に重要で、今回は、壊れにくいロームのRB521Sというものを使いましたが、高周波用ではないので、20MHz付近を過ぎたあたりから、次第にDC出力が落ちてき、50MHzでは約30%くらいダウンします。 そこで、430MHzでSWR計に使用した実績のある、RB751Sを秋月から購入し、交換しました。 同じようなDC検波テストを行うと50MHzで約5%のダウンです。 DC出力が5%ダウンしたら、インピーダンス指示も5%ダウンする訳ではなく、NFB回路が動作して、指示は変化が無い代わりに、RFの出力が5%上昇します。 5%のRF出力上昇は一応許容範囲ですので、RB751で進行する事にします。

ただし、RB751は電流容量が小さいので、破壊耐力も小さくなっています。  メーカー品のアナライザーに使われているショットキーダイオードはGHz帯まで使えるものを使用しているようですが、これらの破壊耐力はもっと小さくなっています。この為、かなり特別な対策を行っているようです。 

MFJやクラニシが発表したアンテナアナライザーの最大の特徴は、少々手荒く扱っても壊れにくいというものですから、世界中で普及したと考えられます。 プロが使うVNAなどを同じように扱うとすぐに壊れますので、精度は高いが高価なVNAを選ぶより、せいぜい25Ωくらいから100Ωくらいまでしかカバーしない、ダイオードによる検波方式の方がアマチュア向きなのでしょう。 

出来上がったセンサー基板です。  実際に発振器やマイコンとつないだ時は、若干いじる必要があるかも知れません。

Aasensor3

Aasensor4

その後の検討で、ショットキーダイオードはRB751でも問題があり、最終的にダイオードはSHF用検波ダイオードHSC285に変更しました。 配線図も修正してあります。

センサー部分の配線図をダウンロード

センサー基板が、なんとか完成しましたので、次は広帯域発振器の製作にかかります。

アンテナアナライザーの製作(広帯域発振器) へ続く。

INDEXに戻る

 

2014年12月29日 (月)

アンテナアナライザーとインピーダンス

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

アンテナアナライザーは、アンテナのSWRやインピーダンスなどを、送信機無しで簡単に測定できる為、アンテナ自作派にとって手放せないアイテムであります。 最近のアンテナアナライザーは、SWRやインピーダンスを表示した上で、リアクタンスの表示もできるのが多くなりました。  しかしながら、アンテナアナライザーは、決してアンテナのインピーダンスやリアクタンスを表示しているものでは無いという話です。

アンテナアナライザーを使用している方から質問がありました。 周波数を145MHz にしておき、100Ω のダミー抵抗をつないだのにインピーダンス表示が100Ω にならない。 リアクタンスはゼロのはずなのに、ゼロを表示しないというものでした。

Dammy50

この問題は、このブログの「同軸ケーブルの切り出し」でも触れましたが、インピーダンス検出位置 (専門的には基準面と言うそうです) と実際に接続されたダミー抵抗との距離に関係します。 インピーダンス検出位置に100Ω のダミー抵抗が置かれている場合、検出値は正しく100+j 0Ω となりますが、距離が有る場合、その距離と測定周波数の波長の関係で異なってきます。 アンテナアナライザーにダミー抵抗を装着する場合、検出部とダミー抵抗の位置は、おおかた5cm 近く離れており、これが大きく影響するものです。

下に、ダミー抵抗、測定位置、測定位置から見たダミー抵抗の電気定数を計算する式を示します。 ダミー抵抗はMコネクターの同軸ケーブル接続側の先端に、チップ抵抗がハンダ付けされた一般的な校正用ダミー抵抗です。 測定位置はアナライザー内部のブリッジ回路が存在する機械的な位置です。 それらの間にd[m] の距離があり、かつ、その間の伝送路の特性インピーダンスZoを50Ωとします。 今回のダミー抵抗はd=56.5mm のものを使いました。 また、この伝送路の短縮率は0.67 であったと仮定します。

Aaz1

 赤枠で囲まれた計算式が測定位置から見たダミー抵抗のインピーダンス計算式で、複素数扱いとなります。

下の表は、この計算式をエクセルの中に埋め込み、計算した結果です。

ダミー抵抗は純抵抗の100Ω でしたが、計算結果は83.9Ω しかありません。 また、ダミー抵抗には、リアクタンス(Xx) は含まれないのに、計算結果には30.8Ω の容量性リアクタンスが含まれています。 そして、抵抗とリアクタンスを合成したインピーダンスも90Ω 以下となっています。

周波数に関係なく、d=0 なら計算したインピーダンスはダミー抵抗に一致します。 また、周波数が低くなると、計算値はダミー抵抗の値に近づいていきます。 さらにダミー抵抗が50+j0 の場合、周波数やd に関係なく計算値は常に50+j0 となります。 そして、50+j0以外の場合、dを色々変えていくと、リアクタンスの極性も反転します。 もちろん、実際の測定結果も数値がぴったり一致しないまでも、同じ傾向を示します。

これらを実感していただく為に、計算式を埋め込んだエクセルファイルを用意しましたので試してみて下さい。

インピーダンス計算エクセルファイルをダウンロード

ところで、今回は測定位置からダミー抵抗までの短縮率(速度係数)を仮に0.67と置きましたが、 実際のところポリエチレンを完全充填している訳ではなく、半分以上が中空となっていますので、短縮率は0.67より大きな数値と考えられます。 しかし、使われているコネクターがインピーダンス無管理のMコネクターですから、基準面からダミー抵抗までの線路の特性インピーダンスは30Ωより低いと予想され、実際は計算値以上に誤差が大きくなるようです。

今までの話は、アナライザーのブリッジ回路の位置とダミーの抵抗との距離の話でしたが、これが、同軸ケーブルで接続されたアンテナであった場合、同軸ケーブルの長さは最低でも、コネクターを含めて10cm 以上はあるでしょうから、アナライザーが表示した数値は決してアンテナのインピーダンスではないという事がお判りでしょう。  アナライザーは常にブリッジ部分のインピーダンスを計測しているだけなのです。

同軸ケーブル越しに測定した抵抗やリアクタンスを含むインピーダンスが50+j0 で無かった場合、アンテナのインピーダンスは50+j0 では無いとはいえますが、いったいいくらなのかは不明なのです。 仮に156+j0 と表示されても、Rの部分が50では有りませんので、j0 だからこの周波数で共振しているという事も言えないのです。 この事は、アナライザーがリアクタンスゼロを検出しても、アンテナが共振状態であるとは限らないという事ですから、アナライザーのリアクタンス表示のみで共振周波数を判断してはいけないという事にほかなりません。 

アンテナ直下で、同軸ケーブルの長さが50cm 以下などのように、極力短い状態で測定した場合、HFの比較的低い周波数に於いては、かなり近い値を知る事はできますが、VHFやUHFでは、実態とは全く異なる数値を表示している事になります。 ちなみに、50cm の長さの同軸ケーブルでアンテナに接続した場合、前述の145MHzで生じた計測誤差が14MHzでも起こります。

同軸ケーブルの長さを正確に測定周波数のλ/2の整数倍に設定してやると、アンテナアナライザーはアンテナのインピーダンスを表示しますが、それは、波長がぴったりλ/2の整数倍のときだけです。 アンテナアナライザーの周波数を少し変化させたとたん、実際値よりずれてしまいます。 これは、同軸ケーブルの長さをこまめに変えられないというアナライザーとは関係ない事情によります。

このような説明をすると、アンテナアナライザーなど、全く役に立たない道具にしか見えないようですが、実はSWRだけは、同軸ケーブル越しでも、ちゃんと、読み取る事ができます。

SWRを表示する際に、アナライザーが測定したインピーダンスや、Sパラメーターから反射係数を求めて、求めた反射係数からSWRを算出して表示している場合、同軸ケーブルの長さに関係なく、アンテナのSWRを表示します。 実際は接続する同軸ケーブルにロスがありますので、表示されるSWR値は実際値より小さく、すなわち良く表示されます。 しかし、長さが50cm くらいの同軸ケーブルの場合なら、435MHzでも大きな誤差なくSWRを知る事ができるわけです。 

そして、反射係数を直接求めず、ブリッジの不平衡電圧に比例した数値からSWRを表示するほとんどのアンテナアナライザーも、SWRが大きい場合、多少の誤差はありますが、SWRが1.0 に近づくほど誤差が少なくなり、ちゃんとアンテナのSWRを表示します。 

この理屈を確かめるには、この記事の中でダウンロードしたインピーダンス計算エクセルファイルのZx とZi のR+jX を、インピーダンスからSWRを計算できるエクセルファイルに代入すると、Zx もZi も、同じSWRになる事から理解できます。 (スミスチャートならもっと簡単に理解出来ます。)

Aaswr1

上の表は、145MHzで100Ωのダミー抵抗をアナライザーが測定した時のR=83.9とX=-30.8をSWR計算シートに代入したものですが、計算結果はVSWR=2.00となっています。 もともとのダミー抵抗のSWRは100/Zoで2.0ですから、同軸ケーブル越しに測定したSWRでもダミー抵抗、すなわちアンテナのSWRを正しく測定している事になります。

いくら同軸ケーブルを短くせよと言っても、高さ10mに張ったダイポールアンテナの給電点にアンテナアナライザーを持っていくのは至難の業です。 ここは現実的に10数m以上あるかも知れない同軸ケーブル越しに、シャック内でSWR最少周波数を確認しても、共振周波数を知るという条件だけなら全く問題無い訳です。

時々、同軸ケーブルの長さを変えると、SWRが変わるという話を聞きますが、それはSWR計のインピーダンスや同軸ケーブルやコネクターが50Ω でなかったり、大きなコモンモード電流が同軸ケーブルに流れて正確にSWR計が動作しない場合や、リアクタンスが含まれたとたん、まともにSWRを計測できないSWR計のせいです。 これらの解説はインターネット上に沢山存在します。 もし、同軸ケーブルの長さを変えたときSWRが大きく変わったら、アンテナを調整する前にこれらの対策が必要ですが、コモンモードチョークを追加する以外手の打ちようがありません。その時は、一番悪いSWR値がアンテナのSWRであると考えた方が気が楽になります。

また、同軸ケーブル越しに表示されたアナライザーのインピーダンスはRやXを含めて当てにしないことですね。 すでにお判りのように、同軸ケーブルの長さが1電気波長の1/100を超えると、ZやRに無視しにくい誤差が含まれますが、Xに至っては、1電気波長の1/1000を超えた当たりから無視しにくい誤差が含まれるようになります。

市販されているアンテナアナライザーに付いているRやXの表示は、コイルやコンデンサをMコネクターに直接接続し、せいぜい10MHz以下の周波数で利用したり、3.5MHz以下の周波数のアンテナの給電部に、短い同軸で直接接続して利用するくらいが、ベターと思われます。 また、例え10MHz以下の周波数でも抵抗とコイルを直列に接続した回路では、周波数を上げていくと、Xは当然上昇しますが、RもXの変化より小さいですが、上昇します。 これは、アナライザーがコイルの高周波抵抗(表皮効果による抵抗)を検出して、本来の抵抗と合計した値を表示している為です。

ブリッジ部分と校正用抵抗またはアンテナまでの距離と、その間の速度係数や特性インピーダンスは機種によってマチマチです。複数のアナライザを使い、同じダミー抵抗やアンテナを測定した場合、ダミー抵抗やアンテナが純抵抗の50Ω以外であった場合、表示されるインピーダンスやR、Xは全て異なってきます。 一致するのは、周波数とSWRだけでしょう。

あるメーカーが「アンテナアナライザー」ではなく、    「SWRアナライザー」とか、「スタンディングウェーブアナライザー」と呼んでいましたが、もしかしたら本質を突いた呼び名かもしれませんね。

補足です。

プロが使うVNA(ベクトル・ネットワーク・アナライザー)などの測定器の場合、同軸ケーブルの長さをキャンセルして被測定回路の正しいインピーダンスを表示できるような機能が付いたのが当たり前です。専門的には基準面の移動を行うと言うそうです。 アマチュア用のアンテナアナライザーでも、この接続ケーブルの影響をキャンセルできる機能が付いたモデルもあります。  ただし、このキャンセル機能を有効にする為に、タワーや屋根の上で、アナライザーの校正を行うというのは、かなり面倒です。 

プロ用、アマチュア用を問わず、同軸ケーブルの片方にアナライザーをつなぎ、アンテナに接続されている方の同軸コネクターを外した後、アンテナの代わりに、50Ωのダミー抵抗、0Ωのダミー抵抗を接続した状態、及びオープン状態で校正動作を行わせます。 校正動作は自動で行なわれますが、アンテナから同軸ケーブルを外して、ダミー抵抗を付けたり外したりは、自分でやらねばなりません。 もし、アンテナの給電部を手の届かないところまで上げてしまっていたら、アンテナを一度降ろすか、高所作業車を借りてくるか考えねばなりません。

この記事の中でダウンロードしたインピーダンス計算エクセルファイルの中に「校正原理」というシートがあります。 このシートには、アナライザーが検出したRiとXiからアンテナのRxとXxを逆算で求める計算式が埋め込まれています。 接続用の同軸ケーブルの長さをキャンセルさせる場合は、この計算で求めたRxやXxをベースに、同軸ケーブルのロスを加味した値をグラフ表示している訳です。  グラフで表示する理由は、Xiのリアクタンスの極性を判定するにはグラフデータが必要だからです。   

例題ではd=0.0565という短い距離が設定されていますが、実際は0.5m以上が必要な場合が一般的です。 また、そこそこの精度を得たいならSF106タイプの同軸ケーブルで長さは3波長くらいが限度です。 5mの長さの3D2Wで校正した場合、300MHzくらいから周波数に対してSWR値が波打ちどこがSWR最少周波数か判りにくくなります。

なお、キャンセル機能が無いモデルでも、この記事に取り上げた技術情報は取説の中で何回も説明されています。  もちろん、OM諸氏により翻訳された日本語バージョンでも説明されています。

理屈は難解ですが、使い始めると手放せないアンテナアナライザの自作はこちら

INDEXに戻る

2014年11月12日 (水)

アンテナアナライザーと外来電波(夜になるとSWRが上がる)

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

アンテナアナライザーという便利な道具を常用していると、思わぬトラブルを経験します。 7MHzのダイポールを昼間、7050KHzでSWR1.1に調整しておき、夜、再度確認するとSWR1.8くらいまで悪化していました。しかも、かなり指針が揺れます。 暗いのでアンテナの再調整は翌朝行うこととし、翌朝、再度SWRを確認すると1.1になっており問題なしです。 アンテナの状態が晴れと雨では違っても、昼と夜で変化するという話は聞いた事は有りません。

原因は、またも「北京放送」でした。

アンテナアナライザーをアンテナに接続した状態は、回路的に見ると、同調回路のない鉱石ラジオそのものです。強力な電波がアンテナから侵入すると、アナライザーの発振出力と同じくらいかそれよりも大きな信号がインピーダンスやSWR検出用ダイオードに加わります。 この為、SWRやインピーダンスが大きく表示されてしまいます。 特に7MHz帯の北京放送はハムバンドに近いだけでなく、鉱石ラジオがガンガンなるほど強力です。 7MHzに同調したダイポールですから、其処らへんに張ったロングワイヤーなどに比べたら、はるかに大きな信号で受信できるのでしょう。

また、なにも7MHzの北京放送だけではなく、中波放送が1.8MHzのアンテナ調整に邪魔になるとか、FM放送局が144MHzのアンテナに混入し測定不能になるとか、すぐ近くで誰かが電波を送信したとか、アンテナアナライザーの使用を困難にしている現象が世界中で起きているようです。

この問題は、ブリッジ方式のアンテナアナライザーにとって宿命的であり、妨害を与える電波を止めるしか有りません。 しかし、放送局の電波は止められませんので、アナライザー内部の発振器の出力を上げ、検波回路の感度を悪くし、外来電波の影響を少しでも緩和する手段と、妨害電波用のトラップ回路をアナライザーとアンテナの間に入れるくらいの対策案しか有りません。

トラップの場合、FM放送がHFアンテナの調整時邪魔をする場合、効果が有っても、7MHzの北京放送や、1.8MHzの中波放送はトラップを入れただけで、測定不能なほどSWRは異なってしまいます。

一方、発振出力を上げる案は、電波法という法律が前に立ちはだかります。 アンテナアナライザーを送信機として申請し許可をとればいくらでも出力をアップできますが、使用可能な周波数範囲はハムバンドに限定されます。 アンテナアナライザーの最大の強みはハムバンド以外も測定できるという事ですから、発射される電波は許可を要しない著しく微弱な電波の範囲でなければなりません。

日本の電波法では、この許可を要しない電波の電界強度を以下のように定めています。

電波の発射点から3mの距離において

322MHz以下 500μV/m以下

322MHz - 10GHz 35μV/m以下

この限度値はサービスエリアが半径20~30mくらいの無線局を想定して設定されている模様で、例えば、半径1500mくらいの地点でも、明瞭に受信できるような送信設備の場合、あきらかに法令違反になる訳です。 ただしこの規定にかかわらず、測定器としての発振器に定義される装置には後述のごとく出力の規定が有りません。

Aapowertest

そこで、代表的なアンテナアナライザーの出力レベルを調べてみました。調べたのは私ではなくQSTの執筆者です。また、各アナライザーの取説には、その出力レベルを明記してありますが、発振器の出力レベルだったり、アンテナコネクター端子の解放電圧だったり、50Ωで終端した場合だったりしますので、左の等価回路に示すようにスペアナによる50Ω終端時のレベルとして測定されていました。

Aapowerlist

電波法施行規則の第6条で、免許を要しない無線局として、「標準電界発生器、ヘテロダイン周波数計その他の測定用小型発信器」と定義され、この小型発信器の出力についての制限は有りません。 無線局は送信機とアンテナで構成されますので、アンテナアナライザでアンテナの測定をする事自体は違法ではありませんが、すでに行われている無線業務に妨害を与えてはいけません。 空中に放射される電波は、アンテナの形態で大きく変わります。 QRPPを実践されている方なら10mWもあればかなり遠方と交信できる事は当たり前ですから、パワーの大きいアナライザーの場合、テストするアンテナや周波数は十分注意が必要でしょうね。

しかも、アナライザの出力を大きくしたとしても、CAA-500とFG-01の電界強度換算値は18dB程度しかありません。 短波帯のQSBの山谷の差、平均40dBなどに比べたら、ほとんど効果は期待できない状態です。

外来電波によりSWRを正確に測れない場合、許可を受けた送信機とSWR計で測定するのが一番のようです。周波数は許可を受けた範囲に限られますが、出力は北京放送や中波放送に絶対に負けないレベルまで上げる事ができます。

アナライザーの機種が変わったらSWR値が変わったとか、時間や季節でSWRが変わるなどの症状が確認されましたら、外来電波の影響を最初に疑ったほうが解決が速くなることでしょう。

INDEXに戻る

2013年4月26日 (金)

CAA-500による同軸ケーブルの切り出し

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

アンテナアナライザーのもうひとつの機能として、1/2λの整数倍の同軸ケーブルを切り出す利用法があります。メーカーの違うアナライザーを2機種お持ちの方から、1本の同軸ケーブルを、430MHz付近で、0Ωを指す周波数をそれぞれ測定したら、機種によって周波数が違うという相談がありましたので、この記事の公開となりました。

同軸ケーブルは短縮率という係数があり、自由空間での波長(物理長)と同軸ケーブルのような伝送線路による波長(電気長)は異なります。一般に物理長より電気長は短くなり、この短くなる程度を短縮率と言い、良く使われる5D2Vなどは、約0.67くらいの数値を示します。

アンテナをスタックで使用したいとき、複数のアンテナに最適に給電する為に、1/2λの整数倍の長さの同軸ケーブルが必要となり、長さを正確にカットする為に、アンテナアナライザーが活用される訳です。

仮に435MHzで2λの長さの同軸ケーブルが欲しい場合、まず、計算で概略のケーブル長を求めます。

435MHzの1波長の物理長は約68.9655cmです。これに公表されている短縮率0.67をかけると、約46.21cmが1波長の電気長となり、欲しいケーブルの長さは2波長ですから、これの2倍の約92.41cmが目標とする長さです。しかし、0.67とい短縮率は公称値で実際のところは、判りません。また一番重要な部分ですが、同軸ケーブルのどこからどこまでを2波長の長さにするか?という問題は、実際に切ろうとしている、本人しかその定義は知らないという事です。

これを簡単に実現する為には、上記で求めた92.41cmより少し長めに同軸を切断しておき、一方の端をショートし、もう一方の端にコネクターを付けて、アンテナアナライザーに接続し、インピーダンスメーターが0Ωを指す周波数を探します。少し、長めに切断してありますから、435MHzより、低い周波数で0Ωをさすはずです。この時、実際の同軸ケーブルの長さを測ると、その同軸ケーブルの短縮率が計算できます。

この状態で、周波数を435MHzにしておき、インピーダンスが0Ωになるまで、同軸ケーブルをすこしづつ、切り刻んでいけば、簡単に2λの同軸ケーブルが手にはいる訳です。

ここで、良く陥る問題点があります。同軸ケーブルの長さの定義はカットする人が自ら決めるものですが、アンテナアナライザーにも都合があります。

Caa500brige

CAA-500を例に取ると、435MHz用のNアンテナコネクターの先端からインピーダンスを計測するためのセンサーとなるブリッジ回路までの距離は実測で26.6mmありました。この26.6mmを含めた状態でアンテナアナライザーは0Ωの周波数を表示することになります。

たかが26.6mmと思うでしょうが、435MHzにおいては、約5.8%、周波数で、約25MHz分に相当します。これは、無視できる長さではありません。

実際に同軸を切断する場合、このアナライザー内部にある同軸線路長を切断したい同軸ケーブルに足してやらなければなりません。いくら足すかは、自ら定義した同軸ケーブルの長さ基準によります。早く言えば、Nコネクターの先端を起点にして、2λが欲しいのか?それともNコネクターのセンターを起点とした2λが欲しいのか? あるいは、その他の位置にするのか? ということです。足す長さは、決して一律に26.6mmではないということですね。

また、実際のやり方としては、435MHzで切断した後に、補正値を足すという作業は非常に困難ですので、補正したい寸法分だけ周波数を下げてカットすることになります。仮に補正値が26.6mmなら、26.6mmが周波数でどれだけ影響するかを、求めた短縮率を使って逆算します。(この短縮率の計算時も26.6mmの存在を含める必要があります。) かりに短縮率が0.67ちょうどであった場合、414.715MHzで0Ωを求めたらよいという計算結果が出てきます。

アンテナアナライザーで簡単に同軸の切り出しができるような印象がありますが、UHF帯で切り出したい場合、計算式を熟知していないと、不可能であるという事ですね。

アナライザーの構造により、センサー位置はそれぞれ異なります。他のメーカーのアナライザーでも同じことですので、435MHz当たりで同軸の切り出しを行いたいときは一度分解して正確に寸法を測って置くことをお勧めします。また、この距離をキャンセルする回路がついたモデルもあるようですので、良く中身を確かめる必要がありそうです。なお、キャンセルは、ある1点の周波数だけが可能であり、435MHzちょうどでキャンセルできるように調整してあるようです。従い他の周波数では、正しい長さは得られないでしょう。ただし、このキャンセル回路がついたアナライザーの取説に、この事は一切書かれていませんでした。推測するに、寸法の起点となる位置は付属のダミー抵抗の抵抗の位置なのでしょうが、金属ケースに収納されたダミー抵抗の位置は不明のままです。

なお、145MHzでは、Mコネクター端子を使い、切り出しを行う事になりますが、同じように、コネクター先端からセンサーの位置までは26.6mmです。その場合、26.6mm補正された周波数は約142.27MHzとなりますが、補正するかしないかは、切断する人の主観次第でしょう。

今までの話しはアナライザー側だけでしたが、切断してショート状態にしてある、もう片方の処理はどうするのか? そのままアンテナに直付けするか? それともコネクター加工してからつなぐか? コネクター加工するならコネクターの長さはいくらか? 435MHzで、同軸ケーブルの切り出しをする場合、取説のように簡単には出来ませんね。 ただ、同軸ケーブルを正確に切断しても、それは使い道が有りません。 必要なのは、2か所に給電した時の位相差ですから、一方の同軸ケーブルの長さがゼロであると定義するからこのような結果になってしまうのです。 実際のケーブル切断は、このブリッジまでの距離など気にせずに、例えば、1本の同軸を1.5波長で切断し、もう1本の同軸を1波長で切断すれば、多分両方のコネクタ加工に必要な長さは同じでしょうから、2本の同軸ケーブルの位相差は1/2λをキープしている事になります。 この時重要なのは、2本の同軸ケーブルを作成する時、アンテナアナライザーを変更しない事です。

INDEXに戻る

2012年10月12日 (金)

AA-170 インピーダンス指示不良

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

コメットのアンテナアナライザーAA-170にて、50Ωのダミー抵抗を接続しても35Ωくらいしか指示しないという故障品の修理を頼まれました。

また、検波ダイオードの不良だろうと、簡単に考え、インピーダンス検出用のダイオードをテスターで当たると、逆方向の抵抗が正常なダイオードの1/10くらいしかありませんでしたので、手持ちの1SS108に交換して、一件落着と思いきや、HFはOKになりましたが、バンドEやFの症状が改善しません。

簡単に直るだろうと思って軽く引き受けた修理でしたが、さあ、困りました。

物置から、借用中のタケダ理研の重さ30kgもありそうな古いスペアナを引っ張りだし、AA-170のアンテナ端子とスペアナの入力を同軸ケーブルで直結してみました。  以前チェックした、まともなAA-170はバンドFで-1.5dBmくらいを指していましたが、今回は-6dBmくらいです。一応インピーダンス表示が正常になったバンドAでは-2dBmくらいの表示となっています。

この出力は半固定抵抗で調整できるようになっておりますが、半固定抵抗を回しても、これ以上出力は上がらないという状態です。

このアナライザーは+5V、+12V、-12Vの3系統の電源ラインを持ちますが、いずれも正常。

発振段からバッファを経由してブリッジ回路に出力するFETやトランジスタのDC電圧をチェックしても異常は見られません。ただし、異常が無いだけで、チェックした電圧が正しいのかどうかは判りません。手元に動作異常なしのAA-170があればすぐに比較できますが、あいにくこの故障した1台しかありません。

色々調べていくにつれ、発振回路そのものの、レベルが不足しているようにしか思えません。 手がかりは、バンドFの時の、Q1,Q2のソース直流電圧がかなり低く、すでに電源電圧フルスイングで動作している事でした。

発振段のFET Q1,Q2は2SK241GR。幸い手持ちがありましたので2個とも交換しましたら、出力レベルが大幅にアップ。50Ωダミー接続時100Ωくらいを指示するようになりました。

これで多分直ったと思いますが、検討している間に半固定抵抗をいじってしまいましたので、ちゃんと調整作業をしておかねばなりません。

調整の仕方は以下です。(コメットに教えてもらった訳ではありません。自我流です)

調整はOSC基板上と電源基板上の半固定抵抗を調整しますが、REF No.が重複していますので、間違わないように。バンドSWはCとして14MHz付近に周波数を設定して、かつ50Ωのダミー抵抗を接続しておきます。

  1. インピーダンスメーターが最大に振れるように、電源基板のVR1を回しきります。
  2. OSC基板のVR2を目視でほぼセンターにします。(これは発振出力の微調整用)
  3. メーター指示が70Ωを指すようにOSC基板のVR1を調整します。(100Ωに調整するという説もあるが、あまり変らなかった)
  4. 電源基板のVR1を調整してメーター指示が50Ωになるようにします。

Aa170pcb1

バンドSWをAからFまで切り替え、どのバンドでもほぼ50Ωを指示するようになりました。

故障の原因はFETの劣化でした。通常、FETの劣化という現象は製品寿命に比べて頻度が低いのですが、それはメーカーが保障する動作環境の中だけの話。2SK241はVdsが10Vで色々な特性を規定し管理されていますが、AA-170は2Vくらいで使っています。2VのVdsはFETのメーカーにとっては管理範囲外でしょうから、FETの劣化という現象が生じたものと思われます。  後日、東芝の他の品種のFETデータシートを読んでいると、劣化すると書いてありました。

50Ωのダミー抵抗を接続しても、インピーダンスメーターの指示が50Ωにならない。不足するという症状で検波ダイオード以外の原因の一例として紹介しました。

なお、調整用半固定抵抗でオフセット用とかSWR用というのがありますが、今回は全く動かしませんでした。

INDEXに戻る

2012年9月 5日 (水)

CAA-500 検波ダイオード修理交換

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

プリセット式アンテナチューナーの調整の為、アンテナアナライザーを多用しています。この為、故障も何回も経験しました。

私のアナライザーはコメットのCAA-500ですが、ブリッジ部分に配置された検波ダイオードの破壊が何回か発生しました。破壊が発生すると、その再現テストをして原因を突き止め、2度と同じ環境では使用しないことにしましたので、すでに2年以上経過していますが、以降、故障はありません。

コメットのアナライザーに限らず、全メーカーのアナライザーに共通する事ですので、参考になれば幸いです。

故障の症状:

アンテナ端子に、アンテナを接続していない時インピーダンスもSWRも無限大を指しますが、特にインピーダンスの指示が無限大(スケールオーバー)を指さなくなったり、50Ωのダミー抵抗をつないでSWRは1を示しますが、インピーダンスは、40数Ωしか指さないとか、ひどい時は、ほとんどゼロ付近しか指示しない。

このような症状になった場合、それは調整不良ではなく、検波ダイオードの劣化もしくは破壊です。 (SWRが1.0ではなく1.1以上を示している場合はダミー抵抗が原因の場合が多い。)

修理の仕方:

Caa500sensor 内部を開け、検波ダイオードを見つけて、テスターで導通テストします。検波ダイオードは通常3個ないし4個付いていますので、それら全てをチェックすると、逆方向での抵抗が異常に低いとか、両方向で導通がないとかなどの異常ダイオードを発見できます。

不良のダイオードが特定できて、かつ、その製品に使われている検波ダイオードと全く同じ品番のダイオードが入手できるなら、異常のあるダイオードだけ交換すればOKです。しかし、このモデルの検波ダイオードの品番は公開されていませんので、コメットに聞かない限り判りません。

とりあえずHFだけでも使えるようにと考えるなら1N60で代用できました。しかし、この場合、異常のあるダイオードだけでなく、問題のないダイオードも一緒に交換する事が必要でした。ただし、サイズが大きいのでハンダ付けに苦労します。あまりお勧めしません。

代替を探すときは、「高周波ショットキーダイオード」で検索をかけると見つかります。順方向電圧と端子間容量がなるべく小さいUHF帯以上で使用可能な物を選べば代用可能です。 私は手持ちのHSC285で代用しましたが、個別販売しているところが無く入手に苦労します。

HSC285の代替え品の情報はこちらにあります。

代替品の場合、VHFもUHFも高い周波数でインピーダンス表示が不正確になったり、3.5MHzなのに50Ω以外のインピーダンス指示が不正確になったりします。我慢できない人は正規品のダイオードに交換するしかありません。 

HSC285の場合、不良のダイオードのみ交換すれば、再調整は不要でした。

検波ダイオードが破壊する原因:(実際に発生した事例です)

  • 雷はまだ鳴らないけど、雷雨が始まる直前まで調整作業をしていた。受信機から時々放電時のノイズらしきものが出ていました。

  • アンテナ調整作業中に雪が降り出したとき、インピーダンスメーターの指示がどんどん下がっていくのを目撃した。そして約2分後にメーターは完全に振れなくなりました。ダイオードが完全に死んだみたいです。雪が降り続いている時より、降り始めのときが壊れ安い。

  • 黄砂がまっている日にアンテナ調整をした。信じられないかもしれませんが、この日、ダイポールから引き込んだオープン状態の同軸ケーブルのコネクター付近でパチ、パチという音が10数秒置きに発生し、アンテナをつながない受信機からその音に合わせて小さなノイズが出ていました。

壊れるのは、決まって、インピーダンス検出用のダイオードです。ダイオードを交換して、50Ωのダミー抵抗で確認すると、全バンド50Ωを指しますので、再調整はやっていません。

これらの事故は、ダイポールの調整を行っている時発生しました。ループアンテナの調整時は問題なしでした。 ダイポールの場合、 アンテナが帯電始めると、受信機から周期的に放電ノイズが聞こえます。このノイズが聞こえ始めたら、アンテナアナライザーをアンテナにつながないことです。

<後日談です>

受信機のTS-930のスピーカーから、いかにも放電ノイズらしき音が聞こえます。TS-930の電源をOFFしてもその放電ノイズは継続しています。 そして同じ机の上に置いてあるPC VAIOのUSB認識音が継続して聞こえます。アンテナチューナーコントローラーのSWノブに触ったら、静電気による感電を起こしました。急いで窓のカーテンを開けると、雪が降り出していました。雪による帯電は雷より怖いですね。

せっかくの便利グッズです。上手に使って長持ちさせましょう。

INDEXに戻る