OnStepXの使い方(その1)

OnStep

OnStepXは、まだ正式リリース版ではないβ版ですので不具合等は自己責任で! 正式リリースされました。

ダウンロードはこちら

OnStepXは、ファイル構成がシンプルで分かりやすいです。Config.hファイルは設定項目の順番がOnStepと違いますが、項目が一緒なので設定したことがある人は問題なく設定は出来ると思います。変更が必要な部分を並べていきます。Config.hファイルをテキストエディターまたはArduino IDEで開きます。

まずはPINMAPです。公開されている(利用する)基板(MiniPCB, MiniPCB2, MaxPCB2, MaxESP3, CNC3, STM32Blue, MaxSTM3, FYSETC_S6_2など)を選択します。CNC3を利用するのであれば下記のように。自分は、MaxESP3のPinmapと同じ基板を自作していますので、MaxESP3としています。

// PINMAP ------------------------------------------------- see https://onstep.groups.io/g/main/wiki/Configuration_Controller#PINMAP
#define PINMAP                    CNC3 //    OFF, Choose from: MiniPCB, MiniPCB2, MaxPCB2, MaxESP3, CNC3, STM32Blue,      <-Req'd
                                          //         MaxSTM3, FYSETC_S6_2, etc.  Other boards and more info. in ~/src/Constants.h

次にAXIS1 RA/AZM(赤経)のステップモーターの設定です。AXIS2(赤緯)も同様です。環境に合わせて変更します。変更点は下記となります。他は詳しくなってから設定して良いと思います。

  • AXIS1_DRIVER_MODELを利用するモータードライバに変更します。A4988, DRV8825, LV8729, S109, TMC2130, TMC5160, TMC2209など
  • AXIS1_STEPS_PER_DEGREE を計算して変更します。計算方法はこちらを参照してください。
  • AXIS1_REVERSEで回転方向を指定します。(ON or OFF)
  • AXIS1_DRIVER_MICROSTEPSを変更します。マイクロステップを増やすと分解能は上がりますが反比例してモーターのトルクが減ります。バランスを考えると16または32が妥当です。
  • AXIS1_DRIVER_MICROSTEPS_GOTOは、OFFにするとSlew時にも前項で設定したマイクロステップが使われます。マイクロステップで高速でSlewさせる時にCPUの能力による制限がかかる可能性があります。1にするとマイクロステップを使わないので、CPUの制限かからずより高速にSlewすることができる可能性があります。
// AXIS1 RA/AZM -------------------------------------------------------- see https://onstep.groups.io/g/main/wiki/Configuration_Axes
#define AXIS1_DRIVER_MODEL         LV8729 //    OFF, Enter motor driver model (above) in both axes to activate the mount.    <-Often

// If runtime axis settings are enabled changes in the section below may be ignored unless you reset to defaults:
// \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ 
#define AXIS1_STEPS_PER_DEGREE     3555.6 //  12800, n. Number of steps per degree:                                          <-Req'd
                                          //         n = (stepper_steps * micro_steps * overall_gear_reduction)/360.0
#define AXIS1_REVERSE                 OFF //    OFF, ON Reverses movement direction, or reverse wiring instead to correct.   <-Often
#define AXIS1_LIMIT_MIN              -180 //   -180, n. Where n= -90..-360 (degrees.) Minimum "Hour Angle" or Azimuth.        Adjust
#define AXIS1_LIMIT_MAX               180 //    180, n. Where n=  90.. 360 (degrees.) Maximum "Hour Angle" or Azimuth.        Adjust

#define AXIS1_DRIVER_MICROSTEPS        16 //    OFF, n. Microstep mode when tracking.                                        <-Req'd
#define AXIS1_DRIVER_MICROSTEPS_GOTO  1 //    OFF, n. Microstep mode used during slews. OFF uses _DRIVER_MICROSTEPS.        Option

次に好みですが、通電したときに追尾を自動で始めるかどうか。TRACK_AUTOSTART(ON or OFF)

// TRACKING BEHAVIOUR ---------------------------------------- see https://onstep.groups.io/g/main/wiki/Configuration_Mount#TRACKING
#define TRACK_BACKLASH_RATE            20 //     20, n. Where n=2..50 (x sidereal rate) during backlash takeup.               Option
                                          //         Too fast motors stall/gears slam or too slow and sluggish in backlash.
#define TRACK_AUTOSTART               ON //    OFF, ON Start with tracking enabled.                                          Option

次にSlewスピードの設定 SLEW_RATE_BASE_DESIRED。GOTOするときに1秒間に何度動かすか。1度/秒だと45度動かすのに45秒。遅いよな〜!いつもは2〜5度に設定しています。数字を上げすぎると利用しているCPUによってはオーバースピードになり止まってしまいます。また、ブラウザやアプリで1/2〜2倍まで調整できます。

// SLEWING BEHAVIOUR ------------------------------------------ see https://onstep.groups.io/g/main/wiki/Configuration_Mount#SLEWING
#define SLEW_RATE_BASE_DESIRED        3.0 //    1.0, n. Desired slew rate in deg/sec. Adjustable at run-time from            <-Req'd
                                          //         1/2 to 2x this rate, and as performace considerations require.

Config.hの設定は以上です。

OnStepからOnStepXになってExtended.config.hが増えました。この中でWifiとBluetoothの設定をします。BluetoothとWifiは同時使用は出来ません。

下記の設定はBluetoothをON(SLAVE)、WifiをOFFとした設定です。自分はBluetoothは検証していませんが、AndroidのOnStepアプリで接続できると思います。

// ESP32 VIRTUAL SERIAL BLUETOOTH AND IP COMMAND CHANNELS --------------------------------------------------------------------------
#define SERIAL_BT_MODE            SLAVE //    OFF, Use SLAVE to enable the interface (ESP32 only.)                          Option
#define SERIAL_BT_NAME          "OnStepX" //         "OnStepX", Bluetooth device name.                                        Adjust
#define SERIAL_IP_MODE               OFF //    OFF, WIFI_ACCESS_POINT or WIFI_STATION enables interface (ESP32 only.)        Option

下記の設定はBluetoothをOFF、Wifiをアクセスポイントモードとした設定です。iPhoneのGotomoteアプリが使えます。またPCからコントロールする場合は、Website Plugin for OnStepXを追加するとブラウザでコントロールすることができるので、PC、iPhone、Androidなど環境に関係なくコントロールすることができるようになります。設定は、WEB_SERVERをONにします。

// ESP32 VIRTUAL SERIAL BLUETOOTH AND IP COMMAND CHANNELS --------------------------------------------------------------------------
#define SERIAL_BT_MODE                OFF //    OFF, Use SLAVE to enable the interface (ESP32 only.)                          Option
#define SERIAL_BT_NAME          "OnStepX" //         "OnStepX", Bluetooth device name.                                        Adjust
#define SERIAL_IP_MODE               WIFI_ACCESS_POINT //    OFF, WIFI_ACCESS_POINT or WIFI_STATION enables interface (ESP32 only.)        Option
#define WEB_SERVER                     ON //    OFF, ON enables Webserver (for Website plugin)                                Option

ブラウザでコントロールする場合は、下記の手順でWebsite Plugin for OnStepXをインストールします。まずはWebsite Plugin for OnStepXこちらからダウンロードします。緑のCodeボタンからDownload.zipを選ぶとダウンロードできます。

ダンロードが完了したら、解凍します。websiteフォルダがありますので、そのフォルダをOnStepX/src/pluginsへ移動します。フォルダ名は変更してはいけません。

次にOnStepX/src/plugins/Plugins.config.hを編集します。上の二行(PLUGIN1の設定)を下記のように追加します。下の二行をコメントアウト(先頭に//を追加)します。(最新版では最初からコメントアウトされています)

#define PLUGIN1                    website//    OFF, Specify the class instance (same as plugin directory name) to enable.    Option
#include "website/Website.h"               //         Specify the header file to include the class.

// *** Comment out PLUGIN1 above AND uncomment the following two lines to enable the sample plugin ***
//#define PLUGIN1                    sample //    OFF, Specify the class instance (same as plugin directory name) to enable.    Option
//#include "sample/Sample.h"                //         Specify the header file to include the class.

保存してOnStepXをアップロードします。OnStepXに接続するデバイスで、WifiをOnStepXに接続します。WIFI設定でネットワークリストの中にOnStepXが現れるはずです。アクセスポイントモードのパスワードはpasswordです。OnStepX接続後、ブラウザで192.168.0.1を開けば、各種設定、コントロールができます。

ASiair、Stellermate、PCのKStarなどに繋げれば、自動導入、オートガイドなどができます。Mountには、OnStepまたはOnStep Electronicsを選択します。

関連記事

特集記事

コメント

    • i*mat
    • 2023.10.04 8:23pm

    KENさん、こんばんは

    かなり日にちが開いたコメントなんでお恥ずかしいですが、
    OnStepとOnStepXとで使う側にとって何が一番違うんでしょうか?

    私はOnStepを使っていますが、KENさんみたいに深く踏み込めず表面的な理解しかできてないんですが・・
    そう言えば、OnStepX、先月末ついに初版が出たようですね・・・
    こんな高機能なソフト、フリーで公開されているってホントに凄いですね!!・・・

    • KEN
      • KEN
      • 2023.10.06 12:19am

      こんにちは、i*matさん!
      返事遅くなってすいません。

      一般的な使い方では、OnStepXは何の違いも感じないと思います。
      インストール時に、OnStepXの方がファイル構成もシンプルですし、エラーもあまり出ないので良いと思います。今後ESP32やTeensyなどもどんどん新しいチップが出てくると思うので、正式版が出たので、もう安心してXに移行できると思います。

      違いがあるとすると単独で使用するときに多少ある思います。OnStepはBluetooth接続だけです。アプリがAndroid版しかないので、iPhoneユーザーは使えませんでした。OnStepXは、BluetoothとWifiを選択できるので、Wifiを選択すればiPhoneのアプリ「Gotomote」で操作できます。Websiteプラグインを入れれば、機種に問わずブラウザで操作することができます。

      あっ、プラグイン!プラグインでいろいろ拡張できるのがOnStepXです。今後便利なプラグインが出てくるかもしれません。

      ASiair、PC、コントローラで操作する場合は、何も違いは感じないと思います。

      確かに完全フリーなので、中華赤道儀などはOnStepをベースに開発されているのではないでしょうか。AM5とかも実は中身はOnStepではと疑っています。ww

TOP
WP2Social Auto Publish Powered By : XYZScripts.com