普段無線をする時にFT-2000Dの内蔵チュナーと外付けのICOMのAT-100を使いアンテナのマッチングをとっていますが、AT-100はICOMの独特のバンド設定方式でYAESU方式と異なる為、全面のバンドSWを手動で切り替えて使用しています。毎回各バンドを行き来する際は本当に面倒です。以前は切り替えを忘れて、SWを焦がしたこともありました。このような手動から開放されたくて、色々と回路を検討していましたが、およそ頭の中では、大丈夫となりましたので、回路を実験しながら組立ててゆきたいと思います。簡単に概略を説明すると、無線器からは、リニアとかをコントロールする時に繋ぐBAND出力(BCD)コード出力が出てるので、これを使います。
回路の心臓部はやはりESP32DevKitCと電圧変換回路です。ESP32DevKitCのデジタル入力ポートにBCDデータ(D0,D1,D2,D3)を入力し、バンド検出コードルーチンで該当するバンドにてD/Aコンバーター出力(0から3V)を出します。この電圧をOPアンプでの電圧フォロワー回路にてICOMのバンド電圧に変換して自動でAT100が制御出来るという塩梅です。D/A出力設定値を調整することが主になるかと思います。上手くいくかはこれからやってみてということになります。OPアンプも12Vを供給して最大8V出力ですので(1.8/1.9MHz検出電圧7V〜8V)RAIL TO RAILタイプの高電圧タイプを注文してあります。秋月通販で一昨日発送でしたので、本日届くと思います。主に確認するのはOPアンプ回路での電圧変換回路動作になります。

ESP32DevKitCには本当のアナログDC出力をするポートが2つあることが分かりました。PWMのようなパワー制御のDUTY比設定での平均電圧ではありません。これらのポートの一つを使って単純にD/A出力を0V〜3V(実際最大電圧:3.234V)を出力するだけの簡単なコーディングですから既に確認済みです。

コードは単純に下記になります。(GPIO25ポートとGPIO26ポートがアナログ出力D/A対応)
setupでpinMode(25,OUTPUT);ピンの出力ポートとしての設定をします。

loopルーチン内で、下記の出力コードにて25ピンに電圧が出力されます。
dacWrite(25,255);  //255設定で3.2347V
dacWrite(25,0);      //0設定で0.0792V

約3.1555Vの幅です。
8bitで設定範囲は0から255までです。PWMの256とは設定範囲が異なる様です。

文献を確認した所、AT-100のバンド毎の中心電圧と検出範囲は下記の様です。
AT-100は50MHzは対応していません。ICOMのリニアアンプ用等を使用する際の設定電圧になると思います。

1.8/1.9MHz :7.5V(7.0〜8.0V)
3.5MHz       :6.25V(6.0〜6.5V)
7MHz          :5.25V(5.0〜5.5V)
14MHz        :4.25V(4.0〜4.5V)
18/21MHz   :3.25V(3.0〜3.5V)
24/28MHz   :2.25V(2.0〜2.5V)
10MHz        :0.6V(0〜1.2V)
50MHz        :1.6V(1.2〜2.0V) ;AT-100は未対応

上記の電圧になるかをESP32のコードdacWrite(25,***)でカットアンドトライ設定で確認します。7.5Vと0.6Vが上手く出れば成功と言うことになります。文章では簡単ですが、OPアンプの回路が上手く動作してくれるかにかかっています。パーツが届いたら回路をブレッドボードに組んでゆきます。
待ち遠しい今でもあります。Hi !

つづく?