デジタルSWR表示器   (2013/08/06)


 AVRマイコンと安いキャラクタLCDを使ってSWR表示器をつくってみました。入射波と反射波の電圧をアナログポートで読取ることで、簡単にSWR値を計算、表示できます。アナログの割り算回路でつくれないことも無いでしょうが、コスト、手間を考えるとデジタル化が有利に思えます。ゆくゆくはアンテナのオートチューニングなどに応用できそうですが、当面はSWRのリアルタイムモニタとして利用することを目標にしました。メータのフルスケール調整が不要になることや定振幅キャリアを通さなくても(CWやSSBの音声波からでも)SWRを表示できるハズです。

 Web検索するとデジタルSWR計の作成記事がCQ誌2008年9月号に載っていたとのことですが、残念ながら中身をみていないので自己流でやってみました。マイコンはArduinoで動かすATmega328P、キャラクタLCDは”秋月”のAQM0802A(I2C接続小型8文字×2行液晶、\320.)です。ここでは、オレ工房さんの”I2C液晶のArduinoライブラリ – ST7032”(ttp://ore-kb.net/archives/195)をつかわせていただきました(感謝)。

小型8文字×2行液晶

 完成品はこんな感じです。RFの回り込み防止のためアルミケース:タカチYM-10を奮発しています。前面には小型液晶の窓と電源スイッチを、裏面にはステレオ・ミニジャックと電源端子を配置しました。消費電流が4mA程度ですので電池駆動でもいける思います。

 デジタルSWR表示器

 

SWR表示器の内部回路

 回路と呼ぶほどの中身はありませんが、いちおう、、、。

 マイコンとI2C-LCDの結線、プログラム書込み用のシリアルポート、3.3V電源などは何の変哲もないマイコン回路です。アナログポートA1、A2を使って進行波電圧(VF)と反射波電圧(VR)を読取りますが、RFの回り込みを防ぐためそれぞれにフィルタ回路を入れてます。4,7kΩと0.1μFの2次ローパスフィルタでカットオフは〜300Hzになりますが、RFを十分に減衰できればいいだけの話です。AD変換の基準電圧をINTERNALの1.1Vにしてますので入力電圧範囲は0〜1.1Vになります。ここでは入れてませんが、過電圧によるアナログポートの破損を防ぐため入力端子に小信号ダイオードによる電圧リミッタを付けたほうがいいでしょう。

(クリックで大きい画像)

 下の写真は組立中のSWR表示器です。LCDはアクリル板のバックプレートでアルミケース窓に押さえつけています。C-typeユニバーサル基板を使ってますが部品をうまく配置すれば半分の面積で済むでしょう。あとで付加回路を増設することを想定して空きスペースを広く残しているわけですが。

 

検出ユニット

 押入れのおもちゃ箱に放り込んであったSWR-300(オスカーブロック)を検出ユニットとして再利用することにしました。伝送ライン結合方式なのでローバンドでは感度がかなり低下します。そのうちトロイダルコア・トランス方式の検出ユニットをつくってみようと思っていますが、とりあえず廃物利用ということで。

SWR-300

 裏面に検出ユニット増設用のピンジャック端子が3系統ついていたので、このうちの1つをつぶして出力端子として使うことにしました。

 SWR-300の上蓋、底蓋は2mm厚の鉄板ででガッチリできています。この重い蓋をはずすと長さ15cmほどの同軸ラインや外部ユニット用切替スイッチがのったプリント板が見えます。

進行波、反射波それぞれのメータ端子の電圧を読み出せるようにそれぞれピンジャックまで配線しました。

 

信号波形

 RF信号の振幅が変化してもSWRを読み取れるように、検出信号に0.1sec程度の時定数を持たせることにしました。SWR計メータ(電流計)の内部抵抗を測ってみると1.2kΩでしたのでこれと並列に100μFの電解コンデンサを接続しました。時定数はτ= C・R =0.12 secになります。

 検出ユニットと表示器をオーディオケーブルでつなぎ、信号波形を観測してみました。細いシールド線をA1、A2ピンに直付けしてオシロにつなぎます。これはオシロがRFをひろわないようにするため必要な処置です。SSB、10W@3.5MHzではこんな波形がみられました。マイクに向かって短く”ハロー”と発声したときの波形です。

 次は、CW、100W@3.5MHzで”A”と打ったときの波形です。

 いずれも適度になめらかな包絡線になっていることを確認できました。RFの回り込みも防げているようです。

 

制御ソフト

 SWR計の検波ダイオードの特性上、通過電力が小さいと検波出力がRF振幅に比例しなくなりSWRを正しく評価することができなくなります。なので、RF振幅がなるべく大きいところでSWRを計測することが好ましいわけです。以下は制御フローの一例ですが、VF(進行波電圧)の最大点で測定したSWR値を表示するようにしています。

 フローでは、まずVFがしきい値(VthH)を超えると計測ループをスタートさせます。計測ループの中ではVFの大きさが最大点に達するまでSWRを更新・表示させます。これはVFが第2しきい値(VthL)を下回るまで続きます。そして次にVthHを上回るVFが検出されたら再度、計測ループがスタートします。こうすることによって常にVFピークの最大点におけるSWRをリアルタイムで表示し続けるわけです。ここで2つのしきい値(VthHとVthL)の差は信号に含まれるノイズレベルよりも十分大きくしておく必要があります。計測ループのトリガにヒステリシスを持たせるわけです。そうしないと、計測ループがいちいちノイズに反応してデタラメなを値を表示してしまいます。

 表示器の電源をONにして現れるメッセージ画面です。それにしてもパネル加工が下手ですね。窓枠サイズが11mm×27mmと小さいせいもありますが、小学生でももう少しましな物をつくるでしょう。ジイジの工作ということでお許しあれ。

 電波を発射するとSWR表示画面に移ります。まだ試作中なので1行目にはVFとVRを表示しています。VFがしきい値を超えるたびにぽろぽろと表示が更新されます。

 

 

 戻る