SD330の実際の動作が確認できましたので、チューニングのアルゴリズムを再考しました。
① PCにマニュアルで設定周波数(freq_new)を入力し調整開始ボタン押下
② アプリ立ち上げ後に初めて動作させる場合はエレメントを基準点に戻してfreq_oldを30MHzにセット
③ freq_newとfreq_oldを比較
a) freq_new>freq_oldの場合はエレメントを縮める方向に「T1」秒間※リレーON
b) freq_new<freq_oldの場合はエレメントを伸ばす方向に「T2」秒間※リレーON
c) freq_new=freq_oldの場合はその旨をPCに表示しプロセス終了
④ NanoVNAにfreq_newを設定しSWRを測定開始
SWRが2以下になった時点でリレーを停止し調整完了フラグを立てて表示。freq_old = freq_newとしてデータを更新
⑤ SWRが2以下にならない場合はエレメントを基準点に戻してfreq_oldを30MHzにセットし、調整不能フラグを立てて表示
⑥ NanoVNAの動作を停止しプロセス終了
※「T1」「T2」はfreq_oldとfreq_newの関係により最適値を自動設定
なお、④では微調整の動作も必要かも知れませんが、机上で悩むよりも実際に動作させて修正するという形が良いと思います。しかしながら未だコーディングの技術が備わっておらず、この先も時間がかかりそうです。