一番簡単なOnStepシステムの作り方

DIYハーモニック赤道儀

オリジナルの基板で一つ、CNC3シールドで一つ、OnStepシステムを作りました。OnStep製作はこの2台が初めてですが、昔からArduinoやRaspberry Piを使った電子工作しているので、その知識を活かして一番簡単な作り方を書きたいと思います。30分もあれば動作するところまではいけます、きっと。

やはり一番簡単に作る方法は、WeMos R32(ESP32 Arduino互換ボード)とCNC v3シールド(CNCや3Dプリンタ用拡張基板)を使う方法が、ハンダ付も2ヶ所のみで一番簡単です。ハンダ付2ヶ所だけにするには条件があります。WeMos R32にはロットによって内臓するDCDCコンバータに不具合があるようです。まずはそれを調べて問題がなければ、あっという間に完成します。

WeMos R32の確認方法

まずは、WeMos R32のジャックに外部電源(8V〜14V)を接続します。一般的には12Vですね。

それから、テスターで電圧を測ります。マイナスはWemosのGNDピンにプラスは3.3Vピンに接続します。今回は、3.282Vでした。3.3Vにはちょっと足りませんが、問題ないでしょう。

3.3Vでは問題がないことが分かったので、ハンダ付は2ヶ所に決定。

この後もテスターは必要となります。テスターがないなら、この際買いましょう。安いのは1000円程度で買えます。

ここで3.3Vよりもかなり低い電圧だった場合は、他のサイトでも良く書かれていますが47K抵抗をハンダ付する必要があります。(写真がないので後日追記します。)低い場合は、Bluetoothなどの機能が不安定になるようです。

ハンダ付

WeMosからCNC3へ外部電源をそのまま引き込むコードをハンダ付します。

左がプラス、右がマイナス、そして下もマイナスになります。ちょっと失敗して右と下が繋がってしまいましたが両方ともマイナスなので問題なし。(正確にいうと内部電源と外部電源を切り替えるために3端子あるのですが、今回は関係ありません。)ハンダ付はこれで終了。

CNC v3シールド

次にWeMosにCNCシールドを刺します。

CNCシールドは、中国製なので、ヘッダーピンが曲がってなかなかハマらないかもしれませんが、調整してはめ込みます。先ほどハンダ付したコードをCNCシールドのターミナルブロック(左下の青いブロックでネジが二つ付いたやつ)に極性を確認して差し込み、ネジで固定します。

本家サイトや他のサイトで10K抵抗をカットすると書かれていますが必要ありません。

【追記】前回カットする必要はないと書きましたが10K抵抗をカットしましょう。ハンダこてで取っても良いですが、ニッパーでカットが一番簡単です。

本家サイトより引用

【機械翻訳】CNC V3ステッパードライバーボードは、通常3Dプリンターの5Vデバイスに接続されていますが、OnStep望遠鏡コントローラは、3.3VデバイスであるWeMos D1 R32を使用しています。このため、1つの10K抵抗(ステッパードライバのENピンをHIGHにプルする)を切断するか、はんだ付けを解除して取り外す必要があります。

不要と書いた理由は、CNCシールドは基板であって抵抗とコンデンサしか載っていません。これから載せるステッパーモータのどのドライバも、回路動作電圧が3.3V〜5Vなので、3.3Vでも問題ないからです。なので、10K抵抗はそのままで問題ありません。

上記の引用はちょっと的を得ていなくて、説明が間違っているので抵抗の取り外しは不要と書きましたが、回路図(本家サイトの回路図は間違っています)を調べてみると、この抵抗がつながっているとドライバがOffになることが分かりました。

【追記】またESP32のGPIO12は、フラッシュチップに(VDD_SDIO)に電力を供給する内部レギュレーターの出力電圧を選択するためのブートストラップピンとして使用されています。Firmwareアップロード時にGPIO12ピンに何かが接続されているとアップロードに失敗する可能性が高いです。(例 A fatal error occured: MD5 of file does not match data in flash!)このGPIO12に何がつながっているかというと、この10K抵抗です。この意味でも清く10K抵抗はカットです!

EN端子をLow(電圧を0)にするとモータードライバがONになります。未接続の(抵抗をカットした)場合はIC内部でプルダウンされているためLowとなり、モータードライバが駆動できる状態となります。

ここは素直に抵抗をニッパーでカットしましょう!

私の場合は、たまたま動作しましたが、多分EN端子がHIGHとなるのに必要な電圧が足りなかったためではと考えています。

ステッパーモータドライバ

赤道儀としてだけなら、RA軸用、DEC軸用の2個のドライバで問題ありません。フォーカーサやローテータを使うならそれに合わせて必要です。選択肢は下記のものがあります。

  1. A4988(安い、手に入りやすい。動作音が大きい。)
  2. DRV8825(安い、マイクロステップが1/32まで使える。動作音がちょっとだけ気になる。)
  3. TMC2208(前出の2個よりちょっと高い。配送に時間がかかる(中国から)。マイクロステップは1/16まで使える。動作音が兎に角静か。)
  4. LV8729(前出の3個よりちょっと高い。配送に時間がかかる(中国から)。マイクロステップが1/128まで使える。実用的なのは1/32まで。動作音は静か。)

個人的には、静かなTMC2208かLV8729が好みです。ただTMC2208の電圧調整(後述)ノブが裏にあるので嵌めた状態では調整ができません。まあ調整は最初の一回だけなので、はめる外すを何回か繰り返せば問題ありません。その点他のドライバは、表面に調整ノブがあるので楽です。

マイクロステップの設定

次に選択したドライバに合わせて、マイクロステップをジャンパーピンで設定する必要があります。ステッパーモーターは、大抵200ステップで1回転します。よって1ステップで360/200=1.8度回転します。マイクロステップを設定するとより細かい刻みで回転します。1/16に設定すると1.8/16=0.1125度となり1ステップで0.1125度回転します。特に赤道儀など細かい精度が必要なときは必須だと思います。ただ細かいほうが良いとマイクロステップを1/128にすると驚くほどトルクが落ちますので気をつけて!

マイクロステップ/フルステップ% 保持トルク/ステップ
1100.00%
270.71%
438.27%
819.51%
169.80%
324.91%
642.45%
1281.23%
2560.61%

例えば、DRV8825で説明するとマイクロステップを1/16にしたい場合は、LOW-LOW-HIGHですからMS3をジャンパーピンで繋ぎます。(HIGHの部分をジャンパーで繋ぎます)。TMC2208で1/16に設定する場合は、HIGH-HIGH-LOWなのでMS1とMS2をジャンパーします。

丸の中がAxis名です。CNCや3Dプリンターでの呼び名ですね。XがRA軸、YがDEC軸となります。XとYにはTMC2208を使います。1/16としますので、MS1とMS2をジャンプします。Zはフォーカーサー用でDRC8825で1/16としますのでMS3をジャンプします。フォーカーサーをもう一つ、またはローテーター用にAを使う場合は写真の左2か所をジャンプします。

※本家サイトの説明では、Z軸とA軸が入れ替わっています。説明の方をZとAを入れ替えて解釈すると良いと思います。

ハンダ付が苦にならないのであれば、下記のようにコードを繋げばソフト的にマイクロステップを設定することもできます。この場合はジャンパーピンは不要です。Config.hで変更できるようになります。ただしソフト的に設定できるのはAxis X と Axis Yのみで、両軸ともマイクロステップは同じにしか設定できません。またAxis Z と Axis Aは依然ジャンパーピンで設定する必要があります。

本家サイトより引用

ドライバのvref調整

CNCシールドのジャンパーが済んだら、ドライバを嵌めます。次に行うのはドライバのvref調整です。Wemosに外部電源(12V)を供給します。

テスターのマイナス側は、ドライバのGNDピンでもいいですし、ボード上のGNDであればどこでも大丈夫です。CNCシールドの右端の黒いヘッダーピンは全部GNDなので、今回はそこにワニクリップで固定しました。

A4988、DRV8825、LV8729は、テスターのプラスを調整ノブ(表面のネジ、可変抵抗)に当てます。TMC2208だけは3個並んだホールの左のホールに当てます。写真のものは左がハンダで埋まっています。(調整ノブは裏側!怒)ネット上には沢山vrefの計算について書かれたサイトがあります。正確に計算されたい方は、ネットで検索して下さい。設定はモーターを接続する前に行います。想定以上の電圧がかかりモーターを壊す可能性があるからです。

僕は計算が苦手なので、いつも0.6Vくらいに設定します。その後実際モーターを動かしてみて、モーターの動きやトルク、発熱を見ながら微調整しています。電圧が低過ぎる場合はモーターは動きません。電圧が高すぎる場合は発熱が多かったり、脱調(空回り、異音、バイブレーション)が起こります。

調整が終わったら、ステッパーモーターを接続します。

写真の青四角からそれぞれのステッパーモーターに接続して完成です。

ファームウェアのアップロードについては割愛します。ファームウェアをアップロードしたら、すぐに動作します。一番簡単な動作確認は、AndroidスマホまたはタブレットにGoogle PlayストアよりOnStepアプリをインストールします。

システム設定でBluetoothペアリングをします。Config.hで変更していなければ、OnStepと表示されるはずです。

ペアリングが終わったら、OnStepアプリに戻り右上のメニューからConnectionを選びます。ペアリングしたOnStepデバイスが表示されるので、それを選択します。接続されるとメニューのBluetoothアイコンの左右に髭が生えます。また「OnStep x.xx Ready」と表示されます。今後はアプリを立ち上げると自動で接続されます。

Guide/Focusを選択してNESW(東西南北)ボタンを押すとモーターが動きます。でも初めての人は動かないと思うはずです。超微動しているから気づかないのです。メニューより48x – Fastまたは1/2 Max – VFastを選ぶと動くことを確認出来るはずです。

自分はiPhoneユーザーなので、中古ショップで激安Androidスマホを購入してOnStep Bluetoothコントローラとして使用しています。最新のAndroidにはまだ未対応のようなので、中古のAndroidがちょうど良いと思います。iPhoneにもOnStepアプリ(Gotomote)がありますが、Bluetooth接続ができないので、今回のシステムでは使えません。

あとは、好みのケースに入れたり、3Dプリンターでケースを作ったりどうぞご自由に。モーターへの配線はモーター付属のケーブルを使っても良いし(一番安全で簡単)、mini DIN端子や航空プラグを使って取り回しの良いケーブルに変えても良いと思います。

自分がデザインしたケースのデータをこちらにアップします。もし良かったらどうぞ・・・

安心の航空プラグGX-12を利用しました。不意に抜けたりは絶対しません。また、暗闇での抜き差しもminiDIN端子より圧倒的に簡単です(溝が大きいので)。

12V出力ジャックを追加しました。(CNCのターミナルブロックから配線するだけです。)下部にファインダー用Arimizoプレートを取り付けるネジ穴があります(インサートナットが必要です)。

GX12を利用してKeen-Oneに繋げる場合は上記のように配線します。因みに一般的なステッパーモーターのディフォルトの配線は、上図の向きで言うと左から黒 – 緑 – 青 – 赤となります。青と赤を入れ替えているのは物理的にモーターの回転を反転させたかったからです。ソフト的に変更できるので、そのまま接続する方が簡単ですね。

対面する端子の配線を同じにしましたので、間をつなぐケーブルはクロスにする必要があります。

配線はクロスケーブルとします。端子が対面しますので、左右が逆になります。緑-赤、黒-青がクロスします。

【その他必要なもの】
M2.5 12mm Screw & Nut x 4 (WeMosをケースに固定するため)
M2 10mm Screw & Nut x 4 (蓋を固定するため)

ついでにKeen-One EQ用の薄型ファインダーArimizoアタッチメントも一緒にアップしました。

M4 50mm ネジとナットが必要

部品の入手ですが、時間に余裕があるなら、これなんか超お得です。
42 モーター 17HS4401S キット 4 リード + cnc シールド v3 + usb ケーブル + 4 ドライバ拡張ボード uno R3

関連記事

特集記事

コメント

    • George
    • 2022.09.08 9:35am

    このような初心者向けの記事、とても助かります。チャレンジする気になりました。
    ところで、モーターの選定はどのようにすれば良いのかまだ解っていません。もし次に何か記事を書いてくださるタイミングがあれば、是非お教えください。

    • KEN
      • KEN
      • 2022.09.08 10:57am

      コメントありがとうございます。
      今日か明日の夜にでもステッパーモーターについて追記しときます。
      選定基準は、トルク(どれくらいパワーが必要か)です。

    • 井戸端秀樹
    • 2022.09.08 1:46pm

    はじめて、ハーモニックといい、on-stepの記事といい、マニアックな私にはワクワクするんですか記事ばかりです。

    • KEN
      • KEN
      • 2022.09.08 2:21pm

      初めまして!お越しいただきありがとうございます。私もかなりなオタクと言われいます(笑 と言うかドン引きされています。

    • クマ
    • 2022.09.10 12:55am

    初めまして。
    サイクロイド赤道儀が公開された頃から拝見しています。
    本記事中にリンクが貼られているケースのモデルデータですが、現時点でも404のエラーコードが返ってきて、掲載ページにたどり着けません。

    アドレスが間違っているとかはないでしょうか。
    お手数ですが一度ご確認いただけるとありがたいです。

    • Gyoenastaader
    • 2022.09.10 2:36am

    Thank you for this write up! I had so much trouble finding a nice write up on how to build a simple Onstep board.

    • クマ
    • 2022.09.10 5:32am

    ご回答ありがとうございます。
    Dropboxへのアップもありがとうございました。先ほどダウンロードさせていただきました。

    Keen-One EQ本体の時も似たようなことがあったみたいですが、Thingiverseは投稿者が見ているページと我々が見ているページには、タイムラグがあるのかもしれませんね。
    Keen-One EQ本体の詳細説明ページへの追記はすでに反映されているので、プレビュー生成とかの順番待ちなのかなとも思いましたが、すでに2日以上たっているので、いくらなんでも遅いなとは思います。
    2つ目にコメントいただいた、KENさんの投稿一覧も以前から何度か見させてもらっておりましたが、やはり表示されていません。
    Dropboxにアップしていただいたデータを出力しつつ、気長に待ちたいと思います。

    • KEN
      • KEN
      • 2022.09.10 11:48am

      最近Thingiverseにおいてトラブル続きで愛想が尽きました。
      Prusa運営のPrintableにプラットフォームを変更することにしました。こちらの方が圧倒的に安定していて操作もスムーズでした。もっと早く移行していればよかったです。

      https://www.printables.com/social/362850-mrdeepaddicted/models

    • Dom Chung
    • 2022.10.26 2:43am

    Hi Ken,

    first of all thank you for making all of this available.

    I;m almost complete with assembly, but stuck on getting motors to work.

    what vref did you eventually use to make the motors work. I have gone as high as .8v and still the motors wont turn. I have even tried other stepper motors 4988 and 8729 and no results.

    I’m thinking it might be a not enough vref voltage, but i’m scared as to how high i can go

    • KEN
      • KEN
      • 2022.10.28 3:05pm

      Hi Dom,

      Sorry for my late reply.
      Even if the vref value is low, the motor makes some kind of sound or vibration. If the motor does not run at all, you should suspect something other than vref.

      Anyway, in my environment, vref is about 0.55 to 0.65.

      • 于翔
      • 2022.10.28 11:08pm

      For LV8729 you should check the resistors on the stepstick and caculate the vref.
      look this link for help:https://onstep.groups.io/g/main/message/6821
      I set the vref to 1.3v for the LV8729 and working well.

TOP
WP2Social Auto Publish Powered By : XYZScripts.com