にほんブログ村天体写真ランキングに参加中です。ワンクリックで応援をお願いします!

ASCOM Canon Lens Controller Mark IIをワイヤレスで動かすスタンドアローンコントローラー。 Wireless Stand-alone Controller for ASCOM Canon Lens Controller Mark II


This device is Bluetooth stand alone controller for ASCOM Canon Lens Controller Mark II. You can adjust an aperture (via push button) and a focus (via encoder dial) of Canon EF mount AF lens without PC.   This content is written in Japanese, you can translate this page by pressing the Google Translate button located at the top of the left column of this page.

以前、この記事で紹介したASCOM Canon Lens Controller Mark IIのスタンドアローンコントローラーがついにワイヤレス化。ASIAIRと同時に使用すれば、キヤノンレンズのフォーカス・絞りとASI冷却カメラをワイヤレスでコントロール出来ます。さらにジョグダイヤルでフォーカスをグリグリ回せます

ロータリーエンコーダーをグリグリ回してフォーカスを調整

M5Stackを使用したASCOM Canon Lens Controller Mark IIのスタンドアローンコントローラーの作者さんベルガモットさんと色々ディスカッションを重ねていたのですが、ある日、M5Stackにエンコーダーオプションがあって、これを回してコントローラーが操作できるかもしれないと提案がありました。

M5StackシリーズにはM5Stack Facesというモデルがあって、オプションでキーボードやエンコーダを取り付けられるようになっています。エンコーダを使用すれば、M5Stack本体のボタンを押すよりも、より早く直感的にフォーカス調整が出来ると思い、実装をお願いしました。

M5Stack Faces用エンコーダパネルの例

ところがここで問題が発生。ASCOM Canon Lens Controller Mark IIと通信を行うためのUSB hostモジュール部分がエンコーダー部分と干渉してしまうことが判明しました。下の写真では、M5Stackベーシック本体の下段にUSB-honstモジュールが見えます。このUSBコネクタにASCOM Canon Lens Controller Mark IIへ接続するUSBケーブルを接続する必要があります。このままエンコーダーパネルを装着すると、USBコネクタが隠れてしまい、ケーブルを接続出来ません。

そこで、USB-honstモジュールの下にM5Stack用プロトモジュール(機能していないブランクモジュールとして使用)で嵩上げしてもらいましたが、それでもUSBコネクタが隠れてしまって操作が出来ないことがわかりこの計画は頓挫してしまいました。

Bluetooth通信で制御するリモートコントローラーの開発

ベルガモットさんは暫く考えた後、M5StackにWifiとBluetoothを標準で搭載しているいることに着目。USB-hostモジュールを繋いでいるM5StackベーシックをBluetoothサーバーにし、もう一つのM5Stack ベーシックからリモート制御する案を思いついたそうです。

この案を聞いた私は、インターフェースについて下記のように提案したら、サクッと実装して頂けました。凄いよベルガモットさん!

・M5Stackベーシック本体のボタンは絞り専用とする。
・エンコーダーで調整できるのはフォーカス専用とする。
・このエンコーダースイッチはクリックができ、プッシュすると別の機能を割当てることが出来ます。そこで、クリックするとフォーカスステップを10倍にして高速モードに変える。
・エンコーダーの周囲にはLEDが実装されているので、シングルフォーカスステップの時と10倍の時に色を変える。
・LEDは本体の起動時・Bluetoothコネクション時・上記2モードの時に点灯するのですが、それらの色をSDカード内のファイルで指定できるようにする。

さらに無操作状態が継続すると、ディスプレイ輝度を低下させて省電力化・・・まで行ったのですが、ソフトウェアのバグフィックス時におかしな挙動になってしまったため、残念ながら実装を諦めました。

リモコン作成に必要なもの

ここでは便宜上、それぞれの機器を下記のように呼びます。
レンズに取り付ける側をコントローラー
エンコーダーを搭載する側をリモコン

このシステムは、前回作成したM5Stack-USB-host-バッテリーモジュールコントローラーとして使用し、リモコン用に下記のものが別途必要です。


または

M5Stack Basic(約5千円)
M5 Faces ボトムベース(約1500円)




私は安いボトムベースとエンコーダーを選びました。


重要:リモコン用のボトムベースとエンコーダーの組み立て

ボトムベースにエンコーダーを装着する際、ボトムベース側の端子がエンコーダーの裏側の端子と接触し、正常に動作しないことがわかりました。かならずビニールテープ等でボトムベースの端子をシールドしてください(下の写真の赤いテープ部分)


完成したWirelessリモコンとコントローラー

M5Stackへのソフトウェアのインストール

1)前回同様にArduino環境が必要です。構築については前回の記事を御覧ください。
2)ソースコードをダウンロードします。前回使用したプログラムとは違うものです。
3)コントローラおよびリモコンは同じソースコードで動きます。両方に同じソースコートをコンパイルしたものを書き込んでください。
4)コントローラー側のmicroSDカードに、使用するレンズの設定ファイルをlens.iniの名前で書き込みます。
5)リモコン側のmicroSDカードにも、同じレンズ設定ファイルが必要なのでコントローラのlens.iniをコピーしてください。
5)コントローラーの電源を入れます。画面に自機のBluetooth mac addressが表示されるので(macBT)メモします。これをリモコン側のmicroSDカードのcanonlens.iniファイルに記述(macBT=MAC address)します。自分がコントローラかリモコンかは、このmacBT=の記述があるかどうかで決定します。macBT=がある方がリモコンとして動作するようになります。
6)リモコンのLEDの色を変更したい場合、canonLens.iniファイルに設定を記述します。

リモコンとコントローラーのコネクション時の色:ledColorConnect=0 0 255
エンコーダーでフォーカスをステップ1で動かす時の色:ledColorIndicator1=32 64 0
エンコーダーでフォーカスを高速で動かす時の色:ledColorIndicator10=64 0 0

=の後がRGBで指定する色です。

リモコン側のmicroSDカードに保存するcanonLens.iniの例
LensIndex=0
macBT=24:0A:C4:F9:64:32
ledColorConnect=0 0 255
ledColorIndicator1=32 64 0
ledColorIndicator10=64 0 0


使い方

リモコンは、どのタイミングで電源を入れてもコントローラと接続できます。
そのときのコントローラの状態と同じ表示になります。

1)コントローラーにASCOM Canon Lens Controller Mark IIを繋いで電源を入れます。
2)リモコンの電源を入れます。
3)リモコンがコントローラーにつながった時、ledColorConnectで指定した色でエンコーダー周囲が光ります。
4)リモコン(コントローラーでも可能)のボタンで、繋いだレンズを選んでSELキーを押して決定します。
5)リモコンのエンコーダーダイヤルを回すと、フォーカスが低速モードで調整できます(1ステップ)。この時、ledColorIndicator1で指定した色でエンコーダー周囲が光ります。
6)リモコンのエンコーダーダイヤルをクリックすると、フォーカスステップモードが高速モードに変わります(10ステップ)。この時、ledColorIndicator10で指定した色でエンコーダー周囲が光ります。
7)リモコンのバッテリー表示は、コントローラーのバッテリーを反映しています。

なお、従来どおり、リモコンが無くてもコントローラー単独でも操作が可能です。


BTの通信距離はそれほどありません。3-5m程度でしょうか。壁1枚は通過します。
車の中からは余裕で届くと思います。



コメント

Kenny Tanaka さんの投稿…
以前の記事を参考にさせていただいて、「M5Stackで動かすASCOM Canon Lens Controller Mark II」を製作中です。
いや、正しくは、一度完成させたのですが、MicroSDカードスロットが破損していたので、M5Stackを交換してもらい、そこで手が止まっています。
ところで、このロータリーエンコーダで動かすコントローラ、とても興味があります。
私の希望としてはBlueToothではなく、ワイヤードで接続してロータリーエンコーダで動かしたい(M5Stackの購入数を減らしたい)のですが、そんなことはできませんか?もしできるのなら、ご教授いただけるとありがたいです。
ちなみに、私はEF400F5.6L USMとZWO294MC Pro、ASIAIR Plusを使ってDSO撮影をしています。
天文楽者RYO さんの投稿…
Tanaka さんコメントありがとうございます
ちょっと調べてみますね。
天文楽者RYO さんの投稿…
Tanaka さん
このセットですと、USBコネクタがロータリーエンコーダーに干渉してしまい、ケーブルを接続することが非常に困難です。薄型L字のUSBコネクタがついているケーブルを使えば出来るかもしれませんが、エンコーダーパネルを削る必要があるかもしれません。
田中邦明 さんのコメント…
わざわざ調べていただいてありがとうございます。
まずはキー操作で頑張りますね。
実は、MAK127にステッピングモータを追加してあり、そのモータのドライバ基板にはエンコーダを繋ぐだけになっているのですが、ケースの加工が面倒なので、そのままほったらかしになっています。
RYOさんの記事は、たいへん興味深く読ませていただいていますので、これからもよろしくお願いいたします。