天体写真メモ

天体写真を撮る上でわかったこと、気がついたことをメモしていけたらいいかな?

小型2軸自作赤道儀計画 その3(一気に解決)

2021-03-06 16:29:03 | 天体写真

兄にハードを送り返して、一週間、私はネットで見つけたRaspberry Pi 4用のケースがあまりにかっこよかったので、これを購入2つ目を作成して遊んでいました。なかなかカッコいいですよね?

さて、兄から、コネクタを変更してLEDの抵抗も変えてみた、言われた動作もするようになったぞ、との連絡が来たので取りに行き、さっそくちゃんとしたファームに入れかえて動作させてみました。

電源を入れると数秒で赤いLEDが点灯!(感動)。期待が広がります。

Windowsで Onstep用のドライバを、

http://www.stellarjourney.com/index.php?r=site/software_telescope

から落としてインストールし。ステラショット2で接続して(変なエラーの窓が出るが繋がる)gotoを試すと、「Trackingが動いてないから駄目だよ!」と怒られる。ちょっと悩んだけど、Ascom Platform 6のメニュの中のAscom Device Hubというソフトを発見。Telescopeのタブから Connect Telescope で接続し、trakking にチェックを入れると、LEDが点滅に変わりステップモータから小さな音が。どうも動いているらしい。

これでどうだと、Goto で適当な星を選んで導入ボタンを押すと、「シャー・・・と言って二つのステップモーターが元気に動いて導入処理を始めます。

その後は、90度ずれた場所を選んでGotoさせてみることでステップモータのと軸との回転比は会ってるかなどをざっとチェック。どうやら問題ないようです。

https://drive.google.com/file/d/1WYqMV7i5Wr7nHt7WAvPvJ7c8LmgkdOBe/view?usp=sharing&usp=embed_facebook

喜びを分かち合おうとこんな動画を取って兄みせると、ハンドコントローラみたいなものが無いと実作業は辛いからどうにかならないかと、もう次の話。OnStepのソフトについてあれこれ調べてた時、たまたま「Bluetoothを載せれば、android 端末をハンドコントローラにするソフトがある」という話と、「のりきゅうさん」の基板にはBluetoothのコントローラを載せるパターンもついていて、そのつけ方、設定の仕方も紹介されていたということを伝えると、早速、Bluetooth化、やる気になったようです。

ということで、フィールドテストもまだしていませんが、Bluetooth化計画も始動してしまいました。


小型2軸自作赤道儀計画 その2(動かない!)

2021-03-03 19:51:05 | 天体写真

まずは、外付けのLEDが点灯しない。で、ウンともスンともいわない。
この際だからと、Automatically Start TrackingをYesに変えて書き込んでみる。これで、すぐにトラッキングが始まるはずだ・・・・が、やはりウンともスンとも。

さぁ、どうしましょう??

兄につきかえすのは容易だけど、それじゃあんまりにも私の存在感が無いよねぇ。う~ん・・・しょうがない。onstepを少し読むか・・・

まずは、arduinoだな。ふむふむ。まずは(onstep.inoの)init が最初に動いて、次にloopを繰り返すのか・・・なるほど。onstep.inoの中を読んでみよう。文法はC言語そのものだな。define 関係が並んで、ifdefで接続されてるハードの部分だけ初期化して・・・うむ、読めないことはなさそうだ。でもいろいろ試すには、せめて何かデバッグのための道具が必要だな・・・よし取り敢えずLEDを点灯させよう。

などとわからないところはWebのページで調べることで、LEDの点灯(外付けLEDはではなくteensyのボード上のLEDがついてびっくり。外付けLEDは何をやっても点灯しなかった)とdelayの使い方がわかったから、LEDで点滅パターンを作って、取り敢えず最低限のデバッグ環境を手に入れて。

さて、ステップモータ見てみよう。動作させる startGuideAxis1 かな?あれ?エラーが出てる・・・LEDの点滅パターンでエラー番号を調べて・・・そっか、enableStepperDriversを呼ばないとダメなんだな・・・

などと、進めていき、デバッグコードとして、「外付けLED点滅 => ステップモータ1 正回転 => ステップモータ1 逆回転 => ステップモータ2 正回転 => ステップモータ2 逆回転」を繰り返すプログラムを作成してみたが、やっぱりモータはウンともスンともいわない。
フェイズの切り替えを告げるLEDの点滅だけが空しくチカチカ。

ここでギブアップ。兄のところにもっていこうといったん赤道儀をバラしかけたが、ふとLEDの点滅だけでも動画に取っておこうと、もう一度組み立てて直して動かす。「ギギギギギ・・・」あれ?? ステップモーター1が振動してる?? うむ? そこで気がついてモータのコネクタをグショグショと抜き差し。で再び電源を入れると「・・・ぎゅぃーん」お・・・動いたぞ!お・・・逆に回ったぞ・・・

どうやら、コネクタの接触が悪いようだ。症状としては、モーター1は刺し方によって、1.うごかない 2.振動 3.動作、 モータ2は 1.動かない 2.振動 となる。 兄に連絡すると確かにコネクタがチープで気になっていたとのことで、まともなやつに交換することに。もう一つ、外付けLEDだがどうやら、電圧を間違えて計算したらしくつけていた抵抗の抵抗値が大きすぎたのに気がついたらしい。ということで、いったん兄に刺し戻し。

ちなみに、テストコードはこんな感じ。myLEDは16000msのLED点滅、ERROR_LEDはエラー番号をLEDの点滅で通知するための関数です。

  enableStepperDrivers();
  int err;
  while(true){
    if((err=startGuideAxis1('e', 9, 16000))!=CE_NONE){
      ERROR_LED(err);
    }
    myLED(3);
    stopGuideAxis1();
    if((err=startGuideAxis1('w', 9, 16000))!=CE_NONE){
      ERROR_LED(err);
    }
    myLED(4);
    stopGuideAxis1();
    if((err=startGuideAxis2('s', 9, 16000))!=CE_NONE){
      ERROR_LED(err);
    }
    myLED(5);
    stopGuideAxis2();
    if((err=startGuideAxis2('n', 9, 16000))!=CE_NONE){
      ERROR_LED(err);
    }
    myLED(6);
    stopGuideAxis2();
    mySLED(1);
  }


小型2軸自作赤道儀計画 その1(まずはハード到着 ⇒ ソフト設定)

2021-03-03 18:19:23 | 天体写真

早速、赤道儀のハードが出来てきた。

メカ部分は、ケンコートキナーのNEW KDSマウントII をベースにステッパーモータを取り付け、ベルトでドライブする機構。

NEW KDSマウントIIは歯数は88ではあるが、高いだけあって非常に滑らかな動きでガタもない(少々重いようだが)。なかなか精度も良さそうだ。

コントローラは、

http://norikyu.blogspot.com/p/blog-page_81.html

で「のりきゅう」さんという方紹介されているもので、ベースはTeesny4.0 にDRV8825をのせて、ついでにLEDをつけたものです。基盤も「のりきゅう」さんから非常に安価で分けていただいたようです(ありがとうございました^^)。

さて、私の役割はこのコントローラにonstepもソフトウエアを入れて動作を確認することです。

私はWindows10の環境で導入したので、まず開発環境として、

arduino IDE: https://www.arduino.cc/en/software

Teensy用のプラグイン:  https://www.pjrc.com/teensy/td_download.html

の2つをインストールして、

onstepファームウエア: https://github.com/hjd1964/OnStep

から、最新バージョン(私の入れた時はrelease-3.16でした)を選んで、codeを落とします(私はzipファイルで落としました)。

OnStepというフォルダに解凍する必要があるようです。

次に解凍したフォルダにある Config.h を編集する・・というフェーズですが、

http://www.stellarjourney.com/assets/downloads/OnStep-Calculations.xls

このエクセルファイルを落として、薄緑の部分を自分の環境に合わせて変更して、

http://o.baheyeldin.com/

ここからたどれるページで、エクセルに合わせて埋めていき、最後に一番下にあるGenerateのボタンを押すと、Config.h がダウンロードされるのでそれに置き換えるとOKです。私の環境では以下の様になりました。

Steps Per Worm Wheel Rotationはエクセルが計算してくれたものです。

GR1 GR2はモータと最終的な軸との回転比。プーリーが3:1 なのでGR1が3で、歯数が88なので、88回まわると最終軸は1度まわるということで、GR2は88にしました(間違っていたら最後に修正する予定)。

Desired Slewing Rate [SLEW_RATE_BASE_DESIREDはデフォルトのまま1でいいかなとも思いましたが、遅いという話読んだ気がするので1.5に。大きくするほど、GOTO時の移動速度が速くなるようです。MAXは10と書いてありますが10では大きすぎるという話も見かけました。

これで、生成されたConfig.h をもとのファイルに上書きして準備完了です。
arduino IDEを起動して、OnStepフォルダの直下にあるOnStep.inoというファイルを読み込みます。

次に、本体に電源をいれて、PCとUSBで接続、ツールメニューのボードでTeensy 4.0を選び、ポートを設定します(ポート番号はWindowsのデバイスマネジャを起動してシリアルポートを確認)。

最後にスケッチメニューにある「マイコンボードに書き込む」を選ぶと、ファームをコンパイルし、ボードにダウンロードしてリセットされて、動作が始まります。

うまくいけば、これで出来上がりとなるはずですが・・・・