公開日 2025年4月9日 最終更新日 2025年4月9日 by JE2UFF_Toshi
自分で簡単に自作できる物は有る程度限られてしまいますね。一番多く作ったのは、やはりアンテナでしょうか。それ以外に意外と熱を入れて作っていたのが、アンテナ切替器です。
HFを主に運用する関係で、過去から同軸ケーブルの引き込みには結構苦戦しておりました。アンテナ切替器があれば楽なんだよな。そう昔から考えておりましたが、アンテナ切替器は海外製が多く、購入するのにも意外と内容の割には高額だったりするんです。
そんな中、ebayでアンテナ切替器のキットを見つけて購入したのが自作へのは時まりでした。そのアンテナ切替器のキットを購入したときの記事がこれです。
ここから沼にハマったようで、だんだん欲が出てきて現在に至っております。今までアンテナ切替器をキットから始めて、コントローラが無かったのでそのコントローラの作成に結構時間を費やしました。
今回、その軌跡の記事をまとめてみました。改めてまとめると、かなりの時間を費やしているのが分かりました。
ここまでが、最初の初期段階でキットを簡単なコントローラを作成して手動出切り変えておりました。
ただ、表示だけは贅沢にしようとLCDで表するようにしたのでした。この状態でしばらくは使用しておりましたが、いちいち手動で切り替えるのは面倒くさいなと言う思いから、新たにコントローラを作成しようと考えたのが第2弾になります。
ICOMのトランシーバーを使用しておりますので、ICOM BUSを利用して自動でバンド切替に連動してアンテナ切替ができるようにしました。
しかし、新たな問題としてICOM BUSの設計は古いためにWARCバンドの内、17mと12mが単独ではなく各々が15m、10mと協同になっているので、ICOM BUSだけでは12mを選択しても12mなのか10mなのかが分からない状況でした。
WARCのトライバンダーや通常のトライバンダーの2つを使用している場合は、アンテナが別々になるのでかまいませんが、モノバンダーを使用した場合選択が出来ないのです。
この問題を解決するべく、ICOM BUSとCI-Vデータを比較して17mと12mの選択が出来るように改造しました。
完成から1年以上を使用してきました。特に問題なく動いているのですが、たまにタイミングが悪いと表示が化ける時があります。表示内容がCI-Vの生データをたまに表示するときがあるので、なんとなく嫌だなって思っておりました。
そして今年に入り、ちょっとコントローラ部分を作り直すか!そう思ったのです。
どうせ作り直すなら、ICOM BUSの使用はやめてCI-Vだけで動くようにし、動作速度を速くするように従来のArudinoからラズパイPICOに変えました。
変える事により、BUS電圧が5Vから3.3Vに変わってしまうので、簡単なレベルコンバートが必要にはなりましたが、抵抗とダイオードの簡易版で対処し作成しました。
Arduinoのときもそうでしたが、特別ソフトを学んだことも無いので自力でネットで調べながらコードを書いていきました。しかし今回、ラズパイPICOを使用することで従来のC++書式のArduino言語から、MicroPythonへ変更となるためまた新たな壁が立ちはだかりました。
一部Pythonは知っていましたが、ハードを制御する部分については少々理解が追いつかない部分が有り、今回は生成AIのCopilotにサポートを依頼しながら、1つずつ仕様を作成しコーディングを行いました。
コーディングが完了しデバッグを行い、上手く動作したら次の仕様を組み込んでいくと言う段取りで対処しました。
Copilotを使用することで、全くコードを知らなくてもコーディングができるので最初は驚きましたが、生成されたコードが本当に正しいのか判断出来ない部分で無駄な時間を過ごすことも結構ありました。
最後の最後で躓いたのは、データ入力ポートのGPIOをPULLDOWNするかPULLUPするかでした。
最初に提示した仕様が実働差を考慮した場合、逆になっていたのを仕様をプロンプトで入力した際に判断していればこんな問題は発生しませんでした。
生成AIを使用する場合に、定義する仕様をロジック的に判断し間違っていないかを確認する事を依頼するのを忘れたため、生成AIは入力された仕様をチェックせずそのままコーディング下から発生した問題でした。
生成AIはすばらしいですが、プロンプトの書き方次第でザルにも成ってしまうのだということが実感出来た案件でした。
とりあえず、最終的には動作し動くようになりました。
最終的な仕様は以下でFIXしました。
メイン・コントロール・ユニット
バンド・デコード・ユニット
リレー・ユニット
全部別々のキバンにしたのは、コストを下げる事と何か別の案件にも使用できるかもしれないということで、機能毎に分割しました。
基本はICOMトランシーバー用になっておりますが、CI-Vの入力部分にシリアルデータを入力し、コードを修正すればYAESUにも使用できるかもしれませんが、当局は実験しておりません。
未だベアボードも数枚残っておりますので、興味が有り自分のトランシーバー用に改造してみたい方がおられましたら、ベアボードを差し上げます。
ソースコードも一緒に送りますので、我こそはと自信がある方はコードを修正してもっと効率良くして頂いても結構です。初めて作ったコードなので専門家が見ればナニコレって思われると思います。
無いものは自分で作る、アマチュアの精神に則り作成した物の記事をひとまとめにしてみました。
