bookmark_border[358] PythonによるNanoVNA制御(続き)

コマンドプロンプトから直接コマンドを打ち込むことでNanoVNAから情報を得ることができるPythonソフト「nanovna.py」を色々と試してみたところ、指定した周波数範囲でのSWRデータをPCで表示させる方法がようやくわかりました。

まずnanovna.pyが格納されているディレクトリに移り、そこで「開始周波数」「終了周波数」「表示するパラメータ(ここではSWR)」を指定するのですが、それらをファイル名の後に列記すれば良いのですね。例えば50MHz~54MHzの範囲でSWRを表示するためのコードは以下の通りです。

py nanovna.py -S 50e6 -E 54e6 -W

ここで、「-S 50e6」は開始周波数50MHz、「-E 54e6」は終了周波数54MHz、「-W」はSWR表示を表します。

その結果、PC上の表示は下の様になります。アンテナはHFV5です。

グラフは最適なスケールに自動調整されているようですが、マニュアルで調整できるかどうかは現時点では不明です。横軸の周波数も10^7の表示になっていて10MHz単位ですので見難いですね。

ただ本来の課題はそこではなく、知りたいのは指定周波数に対するSWR値の生データで、このソフトを使って実際のデータを取得できるのか、また「NanoVNAServer」という別ソフトもPythonコードが開示されているようでこちらを解析する必要があるか・・・いずれにせよ、当局にはPythonの知識が全く不足しており、そちらの習得が先決と思われます。

bookmark_border[357] PythonによるNanoVNA制御

SWR情報はNanoVNAから取るのが良いだろうということで、Pythonで書かれたNanoVNA制御用ソフト「nanovna.py」をネットからダウンロードして動かしてみました。このソフトはコマンドラインからコマンドを打ち込むことができますので、一つずつ動作を確認するのに良さそうです。
ヘルプにはこの様なコマンドが表示されました。

プロット系のコマンドを試して見ると、確かにPC画面上に波形が表示されます。しかし・・・周波数設定ができません。

オプションコマンドの「-S START」と「-E STOP」の部分だと思いますが、どうやってもNanoVNAに周波数が設定されません。このプログラムを動かしてNanoVNAの表示を見ると、STARTが1MHz、STOPが900MHzとなっていてどうやらこれがこのソフトのデフォルト値の様ですが、それを「-S」や「-E」を使って変更する方法がわからず、もう少しネットで調べる必要があります。もしくはソースの内容を見ていくのが良いのかも知れませんが、それにはもっとPythonのことを勉強しなければなりません。

この状態で「-W」コマンドでSWRをPC上に表示させると下の様になります。ちなみにアンテナはHFV5をつないでいます。

 

bookmark_border[107] NanoVNAのシャック設置

アンテナをSD330に換えてからは、ベランダでSWRを測る必要が無くなったためNanoVNAをシャックに設置しました。スマホ用のホルダーがちょうどフィットしたためそれを使いました。

今後はPCからNanoVNAをコントロールしPCモニターにSWRを表示させるようにしたいと思います。もっともUSBケーブルをつなぐだけですが・・・

シャック自体が狭いということもあり、なるべくシンプルな状態を保っておきたいものです。

bookmark_border[83] アッテネータの特性

ダミーロードの代わりに50dBのアッテネータを使っているのですが、特性が気になったのでNanoVNAでスミスチャートを表示させてみました。周波数範囲を1.5MHz~450MHzとしたときのスミスチャートは以下のとおりです。終端はしていません。カーソルは50MHz付近です。

周波数が高くなるほど容量成分が見えていますね。このあたりはアッテネータの特性なのか、アナライザの測定限界なのか較正の問題なのかわかりませんが、そもそもリグがHF~6mバンドまでしか対応していませんので今後の課題としておきます。

ちなみにSWRは以下のとおりで問題ありません。50MHz付近で1.02です。

これが測定系です。

下のように50Ωで終端しても、スミスチャートとSWR特性は無終端の場合とほぼ同じでした。

 

bookmark_border[71] アンテナアナライザ

アンテナアナライザとしてNanoVNAというベクトルネットワークアナライザを使っているのですが、アンテナ調整にとても役立っています。

小型軽量で安価ですし、SWR特性もダイレクトにグラフィック表示されますので、アンテナにNanoVNAをぶら下げてアンテナエレメントを縮めたり伸ばしたりしていくと、簡単に狙った周波数にSWRを落とすことができます。

初めに中心周波数とスパンを設定し校正しておく必要はあるのですが、これらのパラメータは、5つあるメモリに格納され電源を落としても記憶されますので、あらかじめシャックでバンド毎にパラメータをメモリに保存しています。逆に5バンド分しかメモリできないため、私の場合は80m、40m、20m、15m、10mバンドを設定しています。

それをアンテナにつなぎ、メモリを呼び出すだけでSWRの測定が始まります。スパンは1MHzで設定しており、初めにエレメントを少し長めに伸ばしておくと、大抵左の方(=周波数の低い方)にSWRの最小点が現れます。そして少しずつエレメントを短くしていき、中心周波数付近まで来たら、スパンを100KHzに変えて長さを微調整します。

アンテナとシャックの間を行ったり来たりする必要がなく、ロッドアンテナですので工具を使うこともなく手で簡単に長さ調整ができるのも効率的です。

ちなみにNanoVNAの画面は4インチ程度の小さなもので、タッチパネル式のため画面タッチに手こずります。そのためか、私の購入したものにはストラップに小さな三角形のプラスチック製の板(各頂点はR加工)が付いていて、それを使ってタッチすると誤タッチがなく快適に使いこなすことができます。

前のアンテナのときは、アンテナ直下でNanoVNAを使ったことがなく、シャックでPCに接続していたのであまりこの三角形のものを意識していなかったのですが、フィールド(ベランダ)に持ち出して使うにはそれは大きな価値があることに気付きました。