higuchi.com blog

The means justifies the ends

Yaesu G-450ADCローテーターとK3NGコントローラー

[PR] 本ブログの商品紹介リンクには広告が含まれています

おそらく世間の99.5%のみなさんはまったく興味がないと思いますが「アンテナローテーター」もしくは「アンテナローター」というモノがあります。主にアマチュア無線で、屋根の上なんかに設置したアンテナをリモートで回して、電波を飛ばしたい方向に向けるための機械です。

これから書くお話は、そのアンテナローテーター(以下、「ローテーター」と略します)の中のある機種をコンピューターでコントロールできるようにするという、世間の99.999%のみなさんには役に立たないお話です。どなたかのお役に立てば幸いです。

拾い物の写真ですが、これが今回のお題のローテーター、八重洲無線のG-450ADCというモデルです。ケンプロ工業からの事業譲渡ですかね。江本のエモテーター亡きあと、ローテーターはほぼ八重洲一択です。

後ろの黒い塊がローテーター本体。屋根の上に設置します。中のモーターとギヤでアンテナをつけたマストを両方向に回し、回転に合わせて動く可変抵抗(いわゆるボリュームつまみに使われる部品)で回転角を測定します。
手前のコントローラーは屋内に置いて、ローテーター本体のモーターと可変抵抗まで電線をつなぎます。
コントローラーの指針がアンテナが向いている方向を示し、それを見ながら右回り、左回りのスイッチを押して狙った方向にアンテナを向けます。

アマチュア無線は業務用の無線局と違って不特定多数の無線局を相手にするので、通信する相手に合わせて頻繁にアンテナの向きを変える必要があるのですが、これがけっこう面倒くさいのです。相手局の方向に向くまで指針をにらみながら回転スイッチを押し続けないといけない。できれば「XX°の方向に向けて!」って設定したらあとは手放しで通信の方に集中したい。
高級なローテーターにはそういうオプションが用意されているモデルもあるのですが、私が買った安い(しかも天下の山本無線で特価だったので、さらに安い)G-450ADCにはそんな機能ありません。

そこで今回ご紹介するのが、そういう需要に応えてくれるインテリジェントなローテーター用コントローラー「The K3NG Arduino Rotator Controller(以下、K3NGコントローラー)」。

https://blog.radioartisan.com/arduino_rotator_controller/

K3NGは、これを開発したアメリカのアマチュア無線家 Anthony Good 氏のコールサイン。
スタンドアロンでローテーターの自動コントローラーとして動くだけでなく、USBやイーサネットでつないだ他のコンピューターからリモート制御もできる優れものです。

ハードウェアはオープンソースのワンボードマイコン「Arduino」をベースにしていて、制御ソフトもGitHubで公開されているので、誰でも(ちょっとした知識と経験があれば)お小遣いで作れ、好きなように機能拡張できます。

https://github.com/k3ng/k3ng_rotator_controller

ところがここで大きな課題。G-450ADCはそのままではK3NGコントローラーにはつながらないことが分かりました。

エモテーターのいにしえから、世間の多くのローテーターのコントロールケーブルは5芯か6芯で、そのうち3本を使ってローテーターの回転角を計測する作りになっています。ローテーター本体の中の可変抵抗の抵抗体の両端に一定の基準電圧をかけると、摺動子に回転角に比例した電圧が出てくるのでそれを読み取るしかけです。K3NGコントローラーの場合、Arduinoのアナログ入力ピンで0Vから5Vまで変化する電圧を読み取って回転角を逆算しています。

一方、今回のG-450ADCのコントロールケーブルは4芯だけで、回転角の測定に使っている線は2本だけです。可変抵抗の固定端と摺動子の2つの端子だけに接続されていて、0Ωから500Ωまで変化する「抵抗値」を読み取る仕様のようです。

純正のコントローラーはどうやって「抵抗値」だけで制御しているのかというと、どうやらコントローラー指針をモーターで動かし、指針に連動して動く可変抵抗の抵抗値とローテーター本体の抵抗値をホイートストンブリッジ回路かなにかで比較して指針のモーターをサーボ制御しているようです。
なににせよ、K3NGコントローラーはアナログ電圧を読み取ってA/D変換する設計で、抵抗値は読み取れません。

それではここで問題です。2端子の先につないだ抵抗の値に比例する電圧を発生させるにはどうすればいいでしょうか?

答えは「定電流電源」。負荷の抵抗値にかかわらず一定の電流を流す電源です。

オームの法則 E=IR

で、抵抗 R に流れる電流 I が定数ならば、抵抗の両端に現れる電圧 E は抵抗値に比例します。

そこで3端子レギュレーターICのLM317を使って簡単な定電流電源の回路を組みました。

Arduinoのアナログ入力電圧は5Vでフルスイングなので、マージンを見て、500Ωで5V弱の電圧になるよう、約9.6mAの定電流が流れる設計です。
後述しますが、ローテーターのモーターはDC 20Vが定格のようなので、その電源として古いWindows ノートパソコン用のDC 19VのACアダプターを「ハードオフ」のジャンク箱から拾ってきました。この19VをLM317を通してローテーター本体の可変抵抗に流して、可変抵抗両端に出てくる電圧をK3NGコントローラーの「Azimuth V」入力端子につなぎます。
回路中のC3はバイパスコンデンサです。最初、これなしで動かしていて、読み取る角度がフラフラと安定せず悩んでいたのですが、Azimuth Vの入力をオシロスコープで覗いてみたところ、AM変調された1.4KHzぐらいの電波が乗ってしまっていました。屋根の上のローテーターまでのケーブルがアンテナになって、近所にあるAMラジオの送信所の電波を拾ってしまっていたのでした。

さて、これでローテーターの角度を示す抵抗値が読み取れるようになったので、次はモーターをコントロールする回路です。

G-450ADCの4芯コントローラーケーブルの残りの2本は、ローテーターを回す直流モーターにつながっていて、これに19V電源のプラスとマイナスを入れ替えて加えることで正転・逆転させています。
K3NGコントローラーからのモーター制御信号は正転(CW=Clock-wise)と逆転(CCW=Counter Clock-wise)のロジック信号が出ているだけなので、ロジック信号をトランジスタスイッチで受けてリレーの正転・逆転回路を駆動します。

これで、K3NGコントローラーでG-450ADCローテーターを動かす回路のできあがりです。

GitHubからダウンロードしたK3NGコントローラーのスケッチ(ソフトウェア)に、適宜パラメータを設定します。G-450ADCは450°回転するローテーターなので、回転角のフルスイングを360°から450°に変更。そのほかに、私の場合は方向をつまみを回してプリセットできるようにオプションのロータリーエンコーダーを追加したり、角度を表示する液晶パネルをつけたりしました。
できあがったスケッチをコンパイルして、aitendoで買った、激安Arduino互換「あちゃんでいいの」に書き込みました。

あちゃんでいいの https://www.aitendo.com/product/13095

追加回路はユニバーサル基板で組み立てました。リレー回路はバラで組み上げるよりも安くて手っ取り早い中華のリレーモジュールを使いました。
純正コントローラーとローテーターを接続するコネクターは日本圧着端子製造(JST)のELコネクタという4.5mmピッチのもののようなので、それに合うレセプタクルを手に入れました。AliExpressなどで「EL 4.5」などと検索すると中華のコピー品も出ています。Amazonなどでも売っています。

K3NGコントローラーは、USB経由でPCやMacにつなぐと、シリアルポートからコントロールできます。ローテーターの方向とコントローラーが読み取った電圧の校正もシリアルポートからのコマンドで行います。
コマンドは八重洲の純正オプションと互換性があるので、対応しているコントロールソフトを入れればPCからリモートコントロールもできます。

この画面は、Macのその名も「Rotor」というフリーウェアでコントロールしているところです。地図上でアンテナを向かせたい場所をクリックすると自動でその方向にアンテナが回転してくれて快適です。

お試しください。

de JE6AUV

コメント

AHOGENさんのコメント:

面白かったが、たぶん、役立てられることはない。
2026/5/13 18:48
Host: 116-94-89-114.ppp.bbiq.jp - 116.94.89.114

コメントを書く

関連するかもしれない記事