SWR 計を作ったので、これと連携して、MLA のモーター動かして自動的に同調させる。
SWR 計つくったのは、そもそも本来これがやりたかったからなので、完全に yak-shaving
である。
アルゴリズム
- 適当に方向を決める (正転・逆転)
- 送信中になったら決めた方向に少し動かす
- SWR を計る
- 下がったらそのままさらに動かす
- 上がったら方向を逆にして動かす
- 繰替えす
SWR の大きさに応じて、一度に動かす量を可変する。
設計
既にアンテナ切替器などを Raspberry Pi に接続して管理しているので、これもそのようにする。つまり
- I2C 接続でステッピングモーターを制御する基板をつくる
- Raspberry Pi 上で SWR 計 と連動しながらステッピングモーターを制御する
ハードの実装
まず I2C でステッピングモーターを制御する基板をつくった。
特筆するようなことはなく、I2C 経由で方向とステップ数を書くとその通りにステッピングモーターを動かすというもの。
モーターとの接続は DIN 8PIN の一部にピンを使って行ってる。
ソフトの実装
SWR 計は USB Serial として接続し、モータードライバは Raspberry Pi の I2C バスに接続しているので、ソフトウェアは Raspberry Pi 上の Ruby で気軽に書ける。適当に書いたら動いた。
まとめ
SWR の測定誤差の関係で、連続送信していないと、どうしてもちょっと振動したり、同調点から離れすぎていると挙動不審になったりするのが改善点だが、このようなやりかたで概ねうまく動くことがわかった。