INDI対応したNJPで手動で導入するときに、最後の細かい導入が大変、ということで画角の目安としてTeleSkyMapに視野枠を表示するようにしましたが、やっぱり自動導入したい、ということでGoto機能をサポートします。
現在のシステム構成はこんな感じです。INDIが動いているNanoPIにUARTでESP32マイコンが接続されています。これは主にステッピングモーターの制御とエンコーダへのデータの中継です。ステッピングモーターはST MicroのL6470というドライバで動かしていて、L6470とはSPIで接続。またエンコーダはAruduino Pro Mini経由でステップ数を取得しています。
スマホからはBLEでNanoPI上のIndiと接続しています。
今回実装したのは
・INDIでGoto機能のサポート
・BLEでGotoコマンドの追加
・ESP32でL6470のmove機能(送り量を指定して動かす)のサポート
操作するスマホアプリを修正するのは後回しにして、BLE Scannerというアプリで、直接コマンドを送っています。
今回ESP32のソフトもいじっていますが、IDEをArduino 純正からMicrosoftのVSCodeに変えたおかげで随分開発が楽になりました。
やってみたのがこちら。右がBLE Scannerで、赤経4.5h 赤緯6°の位置に動かします。左は一番下の行が動かしたときの現在座標。もとの位置は赤経5h 赤緯8°。なので動かすのは数°です。モータが非力でせいぜい100倍速くらいしか出せないので全自動で導入することは考えていなくて、手で近くまで移動させて Last one degreeだけGoto機能で導入します。なので子午線超えの動作とかも省いて単純にしています。
架台が動いている様子はこちら。
赤経赤緯両軸の動作が終わったあとエンコーダを確認して、ズレが残っていれば再度動かす、という動きにしています。エンコーダの分解能が両軸とも約2.5分なので、6分以内に入っていればOKとしています。VisacにAPS-CのD5500で撮影すると画角は幅が約43分。ちょっと粗いなー。エンコーダの分解能を上げたいなー。エンコーダの値を読むのにPro Miniを使ったのが失敗。これはマイコンがATmega328で外部割り込みが2つしかない。ので2逓倍までしか使えないのでした。4つあれば4逓倍で更に倍の分解能にできたんだけど・・
まぁエンコーダは後回しにして、次はアプリの方の対応をやらないと。
現在のシステム構成はこんな感じです。INDIが動いているNanoPIにUARTでESP32マイコンが接続されています。これは主にステッピングモーターの制御とエンコーダへのデータの中継です。ステッピングモーターはST MicroのL6470というドライバで動かしていて、L6470とはSPIで接続。またエンコーダはAruduino Pro Mini経由でステップ数を取得しています。
スマホからはBLEでNanoPI上のIndiと接続しています。
今回実装したのは
・INDIでGoto機能のサポート
・BLEでGotoコマンドの追加
・ESP32でL6470のmove機能(送り量を指定して動かす)のサポート
操作するスマホアプリを修正するのは後回しにして、BLE Scannerというアプリで、直接コマンドを送っています。
今回ESP32のソフトもいじっていますが、IDEをArduino 純正からMicrosoftのVSCodeに変えたおかげで随分開発が楽になりました。
やってみたのがこちら。右がBLE Scannerで、赤経4.5h 赤緯6°の位置に動かします。左は一番下の行が動かしたときの現在座標。もとの位置は赤経5h 赤緯8°。なので動かすのは数°です。モータが非力でせいぜい100倍速くらいしか出せないので全自動で導入することは考えていなくて、手で近くまで移動させて Last one degreeだけGoto機能で導入します。なので子午線超えの動作とかも省いて単純にしています。
架台が動いている様子はこちら。
赤経赤緯両軸の動作が終わったあとエンコーダを確認して、ズレが残っていれば再度動かす、という動きにしています。エンコーダの分解能が両軸とも約2.5分なので、6分以内に入っていればOKとしています。VisacにAPS-CのD5500で撮影すると画角は幅が約43分。ちょっと粗いなー。エンコーダの分解能を上げたいなー。エンコーダの値を読むのにPro Miniを使ったのが失敗。これはマイコンがATmega328で外部割り込みが2つしかない。ので2逓倍までしか使えないのでした。4つあれば4逓倍で更に倍の分解能にできたんだけど・・
まぁエンコーダは後回しにして、次はアプリの方の対応をやらないと。
コメント