ドーム方位角QRコード利用補助ツール

PC関連

 ガイド撮影を行っている場合は、ドームがそれに追従すべく細かい角度(概ね2度や5度)で回転しています。この細かい角度で繰り返し回転をしていると、実際のスリット方向と実方向で差が拡大してしまい、望遠鏡方向をスリット端で塞ぐような事が起こてしまっています(何度も経験)。ドームの方位角は4ヶ所のセンサーで再調整されるのですが、それ以前で相違が大きくなってしまう感じです。結局は撮影中に適宜方位をドーム内カメラで確認し、異常になる前に手動で戻して方位調整をしています。

 これにはセンサーの位置を増やす等で解決するのかも知れませんが、現状4ヶ所までなので増やすことは出来ません。現在のドームアプリでは「手動で方位角」を入れて「同期する」ことが出来るようになっています。
これを使いもっと精度よく方位角を認識出来るように外付けにて補助ツールを検討しました。
実際には具体的な方位が分かる仕掛けが必要で、物理的なセンサーでは難しいと思いました。そこでバーコードやQRコードに角度方向を記録して、リーダーで読み取るような仕掛けを考えました。上手いことにM5Stackシステムの中に、バーコード読取り機AtomS3Lite版でもOK)を使ってその様な仕掛けを作れると分かり、着手に移りました。当初はバーコードかと思いましたが、コンパクトに収まるのでQRコードを使うことにしました。QGコードには角度の文字が入った方が良いので、ここで5度毎に作成しました。

バーコード読み取り側AtomS3のプログラムはほぼサンプル利用で簡単です。ただしこの読取り機、明るいLEDライトがあるので、実際にドーム内で使うときはフードのようなもので光拡散を防止しないといけない感じです。ただ昼間に若干暗いドームの中で試験的にQRコードのスキャンをしてみましたが、スキャナのLEDは常時点灯でなく何かのトリガで点灯する感じです。此れでは夜間にQRコードは読めない可能性が大なので、LEDは常時点灯にする方が良いようです。AtomS3のプログラムで制御出来るか調べましたが無いようでした。また当初はBLE無線で通知かなと考えたのですが、5vの電源が必要なので結局はUSBケーブルでPC接続し、直接シリアル通信で角度情報を入手するように考えました。

QRコード絵 ⇒ QR Reader ⇒ USBケーブル ⇒ PC[シリアルReader、COMポートからの角度読取り、Domeアプリの角度フィールドに書き込み、同期ボタン押下]の流れです。
PC側プログラムはVBとかで作るとVisual Studioとか面倒なのでExcel VBA(フォーム有り)で済ますことにしました。一番の難所はDomeアプリの操作面ですね。ネットで色々と調べご教示戴いて作成かと思います。

 色々とVBAでのシリアル通信を調べてみると、一昔前の(OCXですね)を使うケースが多く、他にはkernel APIを直接使うようなケース(VBAでここまでするのか疑問)が有る程度。VBAはメンテもある程度簡単なので考えたのですが、VBAにしてはこれ程面倒なものは無いと考えます。通常のVBを使ったプログラムにした方が作りは簡単だろうと思い、方針変更です。シリアル通信はレガシーなのとVBAもいずれ無くなるだろうからMSもVBAには力入れていないように感じます。VBAは未だ初心者向きではあると思うのですが。。。
VBはVisulStudioを入れる所から敷居が高いように思うのですが。。。
と言う事でVBで調べながら製作です。他アプリへの操作も少しは楽になるかな?

いやはやVB.netのプログラミングは20年振りくらいか、分からん事だらけですね。ネットで少し古いレベルを調べてギッコンバッタンと進めました。

ツールアプリ、一応出来上がり、後はドームでの実地検証です。

ツール(QRAngleSet)起動時でQRスキャナに接続した状態
Angleコード350度を検出で、ドームコントローラーに設定(オフセット -33度で 317度)

スキャナ取付位置は0度からオフセットされるので、オフセット指定を入れています。又、”同期更新”はドームコントローラーを更新するかどうかの指定です。

現地ドームで上手くゆけば、N.I.N.Aでの高度シーケンスで安心手離れリモート天文台が可能かと思います。上手くゆくと良いのだが。。。

2024/12/21 追記
 実際のドーム回転動作中に同期を実施して見た所、停止してしまう事が判明。何となく気になってはいたので改造版(停止してから同期をする方法。ドーム方向情報を読み取る)を平行しているので、其方を進めるようになります。停止後の操作となるので、現在QRコードを5度毎にしているのを2度にするように追加でQRコードの作成し誤差を小さくする事になります。
上記記載の後ドーム方向の表示はテキストでは無く画像の様だと。SPY++で関連TextBoxもLabelも無く別の種類のコントロールでツールで判断は無理みたいだと判明。仕方なく、Angle変更が停止したようだと判断した時に同期を行う方式に変更。中のロジックは変わりますが、ドームコントローラーの操作はそのまま使えるので、進められそうです。

コメント

タイトルとURLをコピーしました