TS-820用のVFOの周波数設定用として、アマゾンに注文していた、2000P/Rのロータリーエンコーダが届きました。型番はE6B2-CWZ6Cのインクリメンタルロータリーエンコーダー、汎用エンコーダArduino用直径38mm(2000P/R)です。
梱包は中華よりの発送なので、案外ラフな梱包です。

CIMG8159CIMG8161CIMG8162CIMG8164

CIMG8163

ロータリーエンコーダーの物自体はしっかりした物の様です。一応取り扱い使用説明書が1枚と、取り付けねじが付属しています。
再度、アマゾンで確認したところ、私が購入後に、現在在庫切れです。になってしまったみたいでした。

2000P-R

早速100P/Rのロータリーエンコーダーと入れ替えました。プログラムがオリジナルだと、分解能が50Hz,1kHz,10kHzのステップでの周波数の動きは、あまりぱっとしません。なので、プログラム上でステップを 10Hz、100Hz、1kHzに変更しました。2000P/Rなので100HzステップではTS-820の 20kHz/1回転 と実質同じダイヤル操作になります。案外と周波数を丁度の数字に合わす場合、若干合わせずらい感じがします。

CIMG8170CIMG8171

CIMG8177

一番右が、周波数ステップ変更スイッチです。トグル動作で順次切り替わりループします。10Hz→100Hz→1kHz→10Hz→100Hz→1kHz→・・・
真ん中のSWは、バンド切り替えSWですが、オリジナルのトランシーバーのプログラムでは3バンドでした。今回はVFOで、しかも7MHzのみでの実験なので、今は使いません。
一番左のSWは送信用の切り替えSWです。IFの周波数設定を+455kHz とかに設定しておくと、+455kHzシフトしてキャリアが出ます。マイナスに設定すればー455kHz低い周波数にシフトしてキャリアが出ます。
VFOなので、これも使いません。

周波数ステップを変えたので、表示も変えないといけません。オリジナルの有機Displayだとフォントとかの設定もあるので、それに比べると、プログラム上で,I2C-1602Displayの液晶の表示はインクルードファイルを設定しておけば、プログラム内での変更は簡単にできます。

余談ですが、オリジナルではステップ表示は数字に割り当てがされていて、以下のような設定で対応していました。この中から選んで設定できるということになります。が、表示部は液晶の1602にしました。有機ディスプレーを使わないので今回は使いません。

oled.print("5"); → 5は "10Hz"の表示
oled.print("6"); →  6は  "50Hz"の表示 オリジナル設定値
oled.print("7"); →  7は "100Hz"の表示
oled.print("8"); →  8は "1kHz"の表示  オリジナル設定値
oled.print("9"); →  9は "10kHz"の表示 オリジナル設定値

今回のインクルードファイル、およびデバイス設定では、下記を使用しています。

インクルードファイルは有機ディスプレーの #include<SSD1306AsciiAvrI2c.h>を
#include<LiquidCrystal_I2c.h>に書き換えています。

デバイスの設定では有機ディスプレーの oled(128x32) ではSSD1306AsciiAvrI2c oled; を
LiquidCrystal_I2c lcd(0x27,16,2); に書き換えています。

表示位置は勿論、あらかじめ指定しておきます。
lcd.setCursor(11,1);
あとはプログラム中の各ステップで表示分岐のコード中に以下のコードを追加するだけです。

oled.print("5"); の代わりに lcd.print("10Hz   ");
CIMG8183

oled.print("7"); の代わりに lcd.print("100Hz   ");
CIMG8183
oled.print("8"); の代わりに lcd.print(" 1kHz   ");
CIMG8182

現在の液晶の表示でVFOとして使う場合は、受信状態のRX表示やSメータの S*表示は使わないので、いずれプログラム内で、コメント化して外したいと思います。

今回は2000P/Rのロータリーエンコーダーの動作の確認です。この結果より、決定したこととして、設定ステップは、10Hz, 100Hz, 1kHzで、ロータリーエンコーダーは1000P/Rで行うということにします。ダイヤルでの周波数設定操作のし易さを優先するとロータリーエンコーダーの変更が必要という認識です。ステップ10Hz、(FAST時)100Hzでの1000P/Rは現在使用しているFT2000Dと結果同じです。追加でステップ1kHzは特になくても大丈夫ですが、おまけです。既に中華のAliExpressでの格安ロータリーエンコーダー1000P/Rは注文してあります、中華発送なので年内に届けばいいと思っています。

次のステップとしては、高調波取り除くフィルター(ローパス、バンドパス)回路の検討、ロータリーエンコーダーのVFOへの組み込み検討、他バンド化対応用の周波数表示化プログラムの追加(各バンド切り替え毎にVFOで表示している周波数に合わせた表示を変えなければなりません。)等があります。フィルター回路に関してはBPFかLPFを、オークションで落札したTS-820のVFOの回路のLC発信部以降と組み合わせて作る予定ではいます。ネットでVFOの回路図もパターン図も準備済みです。他バンドに対応する表示をさせる為にバンド情報になる信号が必要です。TS-820の回路中から各バンド信号を持ってくる必要があります。回路図をみて、どうするかを考えなければなりません。組み込み工作は、現状のシャフトの位置の寸法を測り、同じ位置に来るように板金加工が必要になります。比較的加工のし易い、アルミの板で対応したいと思っています。

なかなか大変な内容が多く、時間がかかりそうですが、ステップbyステップでやって行きます。

つづく?