Focus Motor Control by hidRelayBoard (2026/08/14更新)

最近、天体撮影をはじめました。天体望遠鏡や赤道儀、GOTO等を購入し、ベランダに設置し、室内からKStars等のソフトを使って自由に望遠鏡の方向を制御することができる様になったのですが、望遠鏡の焦点を合わせるには外にある望遠鏡のノブを回さなければなりません。そこで右図の様なFocusMotorなるものを購入し、望遠鏡に取り付けボタンのタッチで焦点を制御することが可能になったのですが、やはり外に出なければならず、PCのモニターを見ながら調整というのは難しい状態でした。
そこで、今回USB制御のリレーボードを購入し、PCからUSBを通してフォーカスボタンを押すことが出来るようハードとソフトを開発しました。これにより、カメラの取り付けとかの初期作業はともかく一旦セットしたら全て、室内のPCから制御出来る様になり、寒い冬も楽に天体撮影をこなせる様になりました。
1. 天体撮影のための機材
天体撮影のためには天体望遠鏡が必要であるが、最初は何も分からず2万円台の反射式望遠鏡と専用のカメラを購入し、随分と安くシステムを構築できたと喜んでいたが、2軸制御の赤道儀、光害防止フィルター、カメラの天体撮影用にカメラの改造などその後遠回りして、機材を買い揃えると10万20万と沼にはまってしまうことになった。ここでは本題の主旨とは外れるのでこれ以上は述べない。
1.1 追加ハード(その1)
WINGONEER DC 5V 2チャンネルリレーモジュール無料ドライバーUSBコントロールスイッチPCインテリジェントコントロール
USBでリレーを制御するために右図の様なRelayBoardをAmazonで購入した。HID制御でOS dependantなDriverは不要というふれこみのUSB制御のリレーボードで799円という安さである。hid制御ということで探せば他にも色々ありそうである。
リレーは1Cの物が2個乗っているがFocusMoterはボタン当たり2C接点が必要なので、5V2C接点のリレーを別に購入して載せ替えている。
余計なことであるが、電話関係の仕事をしていた私としてはC接点はContinues接点のことかと悩んでしまったが、A接点はMake、B接点はBreak、C接点はTransfer接点のことらしい。
2.ハードウェアの改造
2.1 モーターコントローラーとRelayBoardの接続
まず、FocusMoterを制御しているControllerを分解して、その回路を調べてみた。
Controllerはモーターのスピードを制御するボリュームノブと2つのプッシュスイッチが実装されている。また電源として9Vの電池を使っている。回路上スピードコントロール用のボリュームは定電圧回路の電圧を制御している。FASTに回すと電圧が高くなり、SLOWにすると、電圧が低くなるようになっている。
スイッチの1-1と2-1は押すと定電圧回路に電源を接続する為に使われとおり、スイッチの1-2と2-2はそれぞれどちらかを押すことにより、モーターに加える電圧の極性を変えている。すなわち押されたスイッチにより、モーターの回転方向が変わることになる。
RelayBoadのそれぞれ二つの接点をプッシュスイッチの接点と置き換えれば良いことになる。
しかし、ここで
1-1と2-1はスイッチが押されていない時、電池が定電圧回路に接続されない様にして、電池の消耗を避けるためのものである、
3. 制御ソフトウェア
3.1 USBRelayBoadの検出
RelayBoadがPCから検出出来るかどうかを確認する為、Terminal画面から
lsusb -v -d
と打ち込むとそのPC(Mac)のUSBに接続されている全機器のリストが表示されます。
このRelayBoardに関しては
の様に表示されます。
ARM MACでは、lsusbコマンドがうまく動作しませんが、システムレポートからチェックできます。
3.2 USBRelayBoadの制御
これにより、ProductIDとVendorIDが判明するので、これに向けてコマンドを送出すれば、リレーが制御することができます。コマンドの様式が不明ですので、Manufacturerであるwww.dcttech.comを検索すればどうコマンドを送れば良いかが調べられます。どうやら8バイトのデーターを送ればリレーを制御出来る様です。
1. 0xff or 0xfd (0xffでON、0xfdでOFF)
2. 0x01 or 0x02 (0x01は一個目のリレー、0x02は2個目のリレー)
3-8 0xff (fillerとして0xffを埋めておく)
3.3 制御プログラム
GUIプログラムなので、Xcodeを使って開発しました。
Mac用実行形式ファイル
(実行可能プログラムなので「セキュリティとプライバシー」で実行許可を与える必要アリ)
また他のOS用の参考として
をダウンロード出来る様にしています。
ここでこのプログラムを動かしてみます。
リレーボードをUSBに接続しないで動作させると左下の様になり、接続すると右下の様に変わります。
プログラムはコントローラーをシュミレートしている。2つのボタンは”Near"と"Far"と記してあるが、押すことにより遠くあるいは近くに焦点を合わせる意味であるが、モーターの取り付け位置により逆となるが、特に気にすることも無いであろう。コントローラーのメカスイッチは押している間だけ動作するが、マウスのクリックでの操作は難しいので"Time Select"のラジオボタンで押している時間を制御する様にした。
プログラムの終了は赤ボタンではなく、”QUIT"ボタンを押す。コントローラーには速度調整用のボリュームノブが実装されているが、プログラムでは制御していない。ノブは使用状況に合わせて、適当な位置にセットしておけば用が足りると思う。
Mac用修正した実行形式ファイルを2つアップしました。
3.4 他のFocus Moterへの適用
今回の検討はBKP200用のfocus motorについて述べたが、私の場合GS-200RC用のforcus motor(nForcus + 専用モーター 笠井トレーディング)も持っているので、同じリレーボード(別ハード)を使って動作させている。接続は単純にコントローラーのボタンにリレー接点を接続するだけである。これもリレーを2Cタイプに取り替えモーター動作時だけ電池を接続する様にする。ただこの機種では、モーター駆動に電子回路が使われているので、常時ダイオードを通してUSBから電流を供給している。
4. 結論
今はfocus motorをUSB接続により遠隔操作を可能にする方法について述べたが、私の場合GS-2000RCとBKP200と共に同じ画面操作でフォーカスを合わせることができとても便利である。電源を電池でなくUSBから供給する方法も検討したが、この接続では電池が消耗するのはモーターが動作した瞬間(リレーが動作している瞬間)だけである。使っていいない時はUSB接続されていようがいまいまいが、電池は全く消耗しない。実際これまでの3−4年電池を交換せずに良好に動作している。