JJ1WKN Log

自作や移動運用関連のログです。

Tanukino VFO もどき

2013-01-08 | Tanukino
本年もよろしくお願いいたします。

ハードウェアの見た目はそのままですが、VFOもどきGUIを作ってみました。
VFOというとこのくらいの機能が欲しいところですが、ハード側で実現しようとすると大変なのでPC側でなんとかしました。

ハードウェアは微調整しました。
ログアンプの傾きはデフォルトでは25mV/dBですが、これはIC内部の抵抗が12.5kΩの時の値です。
出力に10kΩをパラに入れると、12.5kΩとの合成抵抗は5.55kΩとなり、傾きは2倍して11.1mV/dBのようです。
これに伴いArduinoのAD変換のリファレンスを1.1Vにしました。

また、単発の周波数設定用にfコマンドと、AD変換値送信用にgコマンドを追加して、今回の「VFO(も)」に対応しました。
VFOでの使用を意識してfコマンドの確認用のレスポンスは無しにしました。

画面です。


以下、使い方を忘れた時のためのマニュアルです。

<シリアル接続>
滅多に変更することがないので、プログラム内で「COM6」固定です。
USBシリアル変換ICの環境が変わったら修正する必要があります。
DDSに接続し、応答があると青線が出ます。
#Arduinoの自動リセットには時間がかかります。

<表示>
「A」「B]:
VFOの周波数です。単位はHzで、MHz、kHzの位置に線を入れてあります。
白字が選択されているVFOです。

<ボタン>
[↑][↓]:
選択されているVFOを「Step」単位でup/Downします。
マウスのホイールでも同様にup/Downします。
[A/B]:
VFOのA/Bを切り替えます。
[B=A]:
VFO Bの周波数をVFO Aと同じにします。
[FIX]:
ステップ周波数の桁で四捨五入します。
[Po]:
ログアンプの出力をバーグラフで表示します。
[END]:
終了ボタンです。

<周波数入力枠>
周波数を入力します。小数点の使用もできます。
単位はkHzかMHzを選択します。
[A][B]:
それぞれのVFOに周波数を設定します。
VFOの選択は切り替わりません。
[+][-]:
ヘテロダイン用にオフセット周波数を設定します。
VFOの表示は変わりませんが、DDSへ設定する周波数が下の式で変換されます。
 [+]:入力周波数+VFO周波数
 [-]:入力周波数-VFO周波数
設定すると、右側に変換式が表示されます。
もう一度押すと、オフセット設定が解除されます。

<ステップ周波数枠>
選択されているステップ周波数が表示されます。
[<<][<][>][>>]:
以下でプリセットされているステップ周波数を切り替えます。
1, 5, 10, 50, 100, 200, 500, 1000, 2000, 5000, 9000, 10000, 12500, 20000, 25000, 50000, 100000, 200000, 250000, 500000, 1000000
[<<][>>]は2倍速で切り替えます。
単位はHzなので、1Hzから1MHzまでです。
ステップ周波数切り替えボタンの下に、オフセットの設定式が表示されます。

[A]で10MHzに設定しました。


[A/B]でVFO Bに切り替えました。


[FIX]で周波数が半端なので四捨五入しました。


[B=A]でVFO BをVFO Aと同じにしました。


[↑]で周波数を10kHzUpしました。


[Po]でログアンプの出力を表示しました。dBm表示とバーグラフで表示します。


入力周波数に「5MHz」を設定しました。
#バグ発見。「Po」のPの一部が消えていません。(修正済み)


[A]でVFO Aに設定しましたが、選択はされません。


[+]でDDSに出力する周波数を5MHz加算するように設定しました。


[-]で15MHzからVFO周波数を減算してDDSへ出力する設定にしました。


[<]でステップ周波数を9kHに設定してみました。