プログラムの修正が有ります。文末をご覧下さい。
a) 移動用なのでできるだけ軽く小さく作る事にしました。とは言ってもバリコンで大きさでほぼ決まってしまいます。
b) ケースはタカチのBCAS081807Gとし、バリコンの羽の状態が見えるように、透明樹脂を使った窓を付けました。
c) メンテナンスし易いように、バリコンとステッピングモーターはアクリル板上に組み立てた後にケースに留めています。
d) コントローラーはあれかこれを使います。コントローラーの回路図はこちらのページです。
アンテナ全体 |
チューナー部分組立時 | チューナー拡大 | チューナー内部 |
ステッピングモーターをよく知らなかった事も有り、バックラッシュは無いか有っても1ステップの何分の一と思っていました。
手元に有るMFJ935Bで試したところ、周波数カバー範囲が狭い事も有ってバックラッシュはあるが我慢できる程度のものでした。
QRP用に小さく携帯できるループアンテナが欲しかったので、今回テストに使った二連バリコンをケースに入れて組み立てました。
このバリコンでのカバー範囲が10MHz〜30MHzと広かったことで、モーターのステップを最小に設定(1ステップ約0.176度)にしないとSWRを追い込むにはステップが粗い事が解りプログラムで設定し直しました。
ところがこの分解能にした場合、ローターリーエンコーダーを途中で逆回しするとバックラッシュがはっきりと現れて、エンコーダーの数クリック分は周波数の変化が有りません(バリコンが回りません)。 モーターをバックラッシュの無いものにすればいいのですが、折角なのでプログラムで対応する事にしました。
変更内容は、ローターリエンコーダーの回転が直前と同じ方向の時はスイッチで選択しているステップでモーターを回し、途中で逆転した時の最初の1クリックだけはバックラッシュで変化しないステップ分を加算してモーターを回すことにしました。
電源スイッチを入れた時は電源を切る前は左右どちらに回したか不明なため、完璧ではありませんがこれで通常操作ではバックラッシュが気にならない滑らかな回転になりました。
実際にこのアンテナを使っているうちに別の問題が見つかるかもしれませんが、その時は改めて対応を掲載します。
なお、ステッピングモーターから出るノイズは気にならないレベルでした。コントローラーとチューナー間には6mの6芯シールド線を使っています。この分布容量もノイズ対策に一役買っているのかもしれません。
Arduinoの勉強用によく使われる安価なステッピングモーター(28BYJ-48)は、ばらしてみると解るように安価な樹脂製のギアを並べただけで、当然ながらバックラッシュ対策はして有りません。今回のような使い方をしないので有れば、バックラッシュは無視できる値なのでしょう。
(Arduino NANO or UNO及び互換機用です。)
訂正:ロータリーエンコーダーのスイッチを押した時の処理にミスがありモーターへの電源が切れていませんでしたので修正しました。なお、バックラッシュ対策の無いバージョンは問題ありません。
ダウンロードはこちら
(このプログラムはあくまで動作確認用ですので不具合や損害が生じても責任は負いません。また、最小ステップに設定しない時は逆転時に動きすぎる等の悪さをする可能性もあります。使用状況に応じてご利用下さい。)