今回製作したアンテナおよびチューニングシステムの全体像は下図のようになります。

まず、アンテナはメインループ直径70cmのループアンテナ。5D-2Vを4本パラにして導体を形成しています。チューニングはエアバリコンで、Cmax250pFのもの。MJFの1.5kWアンテナチューナーから外して使用しました。これをバイポーラステッピングモーター(1ステップ0.9°)で駆動します。駆動はSTマイクロのL6470というドライバーICを使用します。L6470は最大マイクロステップ128まで可能ですが、今回はチューニング精度とArduinoで処理するときのプログラムを考えて32ステップで駆動しています。これにより0.9/32 = 0.028125°/STEPという分解能でチューニングしています。
今回使用したバリコン容量を角度ごとに測定してみました。縦軸が容量、横軸が角度です。LCR計による簡易測定ですが、最小22pF最大259pFでした。

チューニング位置はバリコンの容量に相当する数値をコマンダー(リモコン)から送ります。上記ステップの場合、バリコン1回転(360°)は12800ステップになりますが、バリコンは実際にはCmin - Cmax間は180°ということになりますので、0 - 6400 というのがコントロールに必要な数値です。今回は0をバリコン容量最大(Cmax)、6400をバリコン容量最小(Cmin)として設計しています。
この数値をコマンダーから送るのですが、コマンダー側にESP32を使用し、モータードライバー側のESP32とWi-Fi(2.4GHz)で通信するESP NOW!という技術を使用しました。このためコマンダー・モータードライバー間はワイヤレスを実現しています。
コマンダー側はESP32とディスプレー兼スイッチとしてタッチセンサー付きTFTモジュール(3.5インチ)を使用しています。電源は充電式リチウム電池(18650)を使用し、完全ワイヤレスを実現しました。
アンテナについて説明を追加すると、最初にループ径1mで試したのですが、この場合、今回使用したバリコンでは7MHz帯しか同調できませんでした。ループのLに対してバリコンの最小容量が大きすぎて他のバンドで使えませんでした。(試さなかったが10MHzは使えたかもしれない)いずれにしても、最低でも7/14/21MHz帯はカバーしたいと考えました。後でよく考えると、この間に10/18MHz帯というのがあり、5バンドカバーを目指しました。メインループは5D2Vを使用しています。あたりテストでは一本だったのですが、最終的にQを上げるために四本パラにしています。同軸ケーブルをメインループに使用すると、どうしてもへたっておにぎりのような形になってしまいます。これだけはどうしても避けたかったので、農業用の5.5mmX2.4mのグラスファイバー(ビニールトンネルに使用するやつでホームセンターで売ってます)二本を使って円形を保持しています。
チューニングシステムの駆動部はバリコンとパルスモーターの接続にユニバーサルカップリングを使用しています。

バリコンはMFJのカップラーから取り外したため、幸いなことに軸に樹脂の絶縁延長シャフトがついていました。これは必須です。そうしないと高圧のアークが発生し、モーターやドライバーを破壊する恐れがあります。ユニバーサルカップリングの他に、タイミングベルトとタイミングプーリーを使用する方法もスペースを小さくする目的で検討したのですが、バリコンの軸がたわんでしまい使えませんでした。

軸にはバリコンの初期位置を検出するためのドグとこれを検出するためのフォトインターラプターが用意されています。ドグは金属板が望ましいのですが、加工が面倒なので、アクリル板に台所のアルミホイルを貼り付けました。アクリル板だと黒でもフォトインターラプターの赤外線が透過してしまうためうまく検出できません。またドグは90度以上の角度必要です。これはソフトでドグの検出をするときに読み落としなどでオーバーランすることを防ぐためです。ドグは実際にはバリコン側のカップリングにボンドで接着してあります。真の位置はArduino 側のソフトで位置微調整できるようにすることで、メカ的な位置の精密調整がなくても精度が出るようにしています。

デバッグの時の状態。まず、PCからコマンドを出すことで、所定の位置に止まるように制御ソフトを作りました。この時はESP32ではなく、Pro-miniを使ってモーター動作のデバッグをしています。
ところで、L6470のライブラリーですが、Arduino sketchで検索できるライブラリーに細かい制御ができて使いやすいものがありません。そこで今回は「北の国から電子工作(仮)」さんのL6470をArduino で簡単に動かすスケッチを使用させてもらいました。多くの方が利用されていますが、わかりやすく作られており、「やりたいこと全てができる」大変ありがたいライブラリーで、これに助けられました。
電源はモーターの電源を12Vとし、12VのDCアダプターへはAC100Vを供給しています。これが唯一の有線です。Arduino には3端子レギュレーターを介して3.3Vを供給しています。
完成したチューニングユニット。

チューニングシステムにはUIがありませんので、モーターが思い通りに動き、止められるようになれば、あとはコマンダーを制作して、相互にWi-Fiで通信するようにします。
「その3」に続く。