<ナビゲーション>
オリジナル OnStep基板 Rev3.0(ESP32)
オリジナル OnStep基板 Rev3.0(ESP32) +Focuser
オリジナル OnStep基板 Rev3.0(ESP32) +Bluetooth
OnStep基板 Rev3.0(ESP32) にGPSを載せる方法
基板概要
この基板は、オープンソース赤道儀制御ソフトウェア OnStep の実装基板です。ESP32をコアに使用します。必要な部品を実装し、OnStepを書き込むことにより、赤道儀の自動制御が可能になります。
詳しくは、OnStepのオフィシャルサイトとOnStep Wikiにまとめられています。
また、ソースコードは OnStep GitHub を参照してください。
OnStepバージョンは 4.24以降 を推奨します。
基板は私個人が作成したもので、オフィシャルのPCBとは設計が多少異なります。主な仕様は次の通りです。
- ピンマップは MaxESP3に一応準拠
- ESP32-DevKitC モジュールに対応
- 赤道儀ドライバはDRV8825、TMC2100、TMC2130、TMC5160などに対応
- DCモジュールOKI-78SRを採用。5V必須。 代替品はこちら。
- フォーカサー用のドライバを実装可能(オプション)
- フォーカサー用ドライバはDRV8825、DRV8834、TMC2100などに対応
- Raspberry Piサイズ。ケースはPi 4用のものを使用可。(ケース高さが必要)
- ST4インターフェイスあり
- Smart Hand Controller (SHC) に対応
表面
主要部品の実装面です。
ESP32 は ESP32-DevKitC という、ESP32評価開発ボードを使用します。載っているESP32モジュールによって、ESP32-DevKitC-32D とか ESP32-DevKitC-32E があります。
ステッピングモータードライバは、RA、DEC、フォーカサー用の3つ搭載可能です。
また、拡張I/Oポートを基板下側に引き出してあります。
裏面
ステッピングモータードライバの設定を行うためのはんだジャンパがあります。
MaxESP3に準拠した AUX2ジャンパもあります。
回路図
※オフィシャルのPCB図面と異なる点
ST-4ポートのピンアサインが異なります。本基板は赤道儀メーカーが多く採用している並びに合わせています。
ST-4ポートを Smar Hand Controller として使用する場合、この信号ラインの並びが違いますので、回路図を見て接続配線を変更してください。
実装パターン
ESP32 + RA、DECモータードライバ がベース実装になります。
ESP32, モータードライバ2個, DCモジュール5V が実装必須となります。
フォーカサードライバ をオプションで追加できます。拡張I/Oポートを使えば、GPSモジュールの搭載も可能です。
写真では丸ピンソケットを使用していますが、秋月の低頭ピンソケットがお勧めです。
ベース実装
パーツ表
記号番号 | パーツ名 | 数 | 備考 |
---|---|---|---|
U2 | ESP32-DevKitC | 1 | 秋月 ESP32-DevKitC-32E |
Axis1 Axis2 | モータードライバ DRV8825 TMC5160など | 2 | RA, DEC用 同じドライバを2つ使用することが前提です。 |
U1 | OKI-78SR 5V | 1 | DCモジュール 代替品参照 |
C1, C2 | コンデンサ 100μF | 2 | 耐圧25V以上あればとりあえず。 |
R1 | 抵抗 330Ω | 1 | LEDに適応する値に。 |
RN1 | 抵抗アレイ | 1 | 2.2KΩ 4素子。 共立エレショップ 抵抗アレイ |
D1 | ショットキーバリアダイオード | 1 | 基板5VとESP32ボードUSB電源の衝突防止用。 秋月 SB340LS |
D2 | LED | 1 | ステータス用。ヘッダピンにしてLEDを引き出してもOK |
J4, J5 | MINI-DIN4P コネクタ | 2 | 秋月 ミニDINソケット4P (※1) |
J6 | 6極6芯モジュラ | 1 | 秋月 6極6芯モジュラ (※1) |
J1 | DCINジャック | 1 | 秋月 2.1mm標準DCジャック (※1) |
J3 | ヘッダピン 2P | 1 | 電源ライン用 |
- | ピンソケット(1列) 8P | 4 | モータードライバ用 秋月 ピンソケット(低メス) 推奨 |
- | ピンソケット(1列) 19P | 2 | ESP32-DevKitC-32E用 秋月 ピンソケット(低メス) 推奨 |
- | Raspberry Pi 4用ケース | 1 | 取り付け部品の高さがあるため、厚みのあるケースを選択してください。 私が使用しているのは、 共立エレショップ Raspberry Pi 4用 ABSケース (黒) シンプルで加工しやすくオススメです。 |
(※1) 他メーカーのものだとピン位置が異なる場合があります。
(※2) 実験中に焼いてしまうのはモータードライバあるあるなので、ピンソケットで取り換えられるようにした方がいいです。
DCモジュールのOKI-78SRシリーズの代替品はこちら。
部品調達先
秋月電子通商 いつもお世話になっています。スイッチサイエンス モジュール系強し。変わったパーツ多数あります。
共立エレショップ 関西ならここ。学生時代に入り浸ってました。
マルツオンライン 部品点数の多さならここ。特殊部品も見つかったりします。
aitendo 液晶が豊富。モジュール系が充実。
朱雀技研工房ストア ロボット系部材、モータードライバなど扱いあり。
ストロベリー・リナックス 電源系のモジュール探すならここ。
ロボショップ ロボット系のパーツが豊富。Teensy, DRV8825の扱いあり。
Amazon 中華系ショップは海外発送だったりするので注意。コピー品が送られてくることがあるので品質は期待してはいけません(^^;
部品実装
Rev2.xと比較して表面実装もありませんので、はんだ付けの困難さはないと思います。別途配線するような特にテクニカルな個所もありません。
ロープロファイルソケットを使用しておくと、後々、ドライバモジュールを交換したり、壊れた場合の交換に抜き差しできるのでオススメします。
記号番号 | 備考 |
---|---|
J3 | 電源ラインのジャンパ。通常ショートして使用します。 電源スイッチやヒューズなどの保護回路をはさむことができます。 DCINの入力電圧がそのままモータードライバへかかります。DCIN=12V を想定していますが、DCモジュール OKI-78SR の入力定格(7V~36V)以内であれば動作します。 |
J2 | 電源関係。DCIN(VCC), 5V, 3.3V, GND に接続します。 3.3VはESP32ボード上のレギュレータから得られる電源です。 |
D1 | ショットキーバリアダイオード。 ESP32ボードをUSB接続したき、USBからの5Vが基板上の電源と衝突しないように入れておきます。 |
D2 | ステータス表示用のLED。A、Kは図の通り。 今回の基板はレイアウトの都合上、LED位置がケースの穴位置からずれています。 |
RN1 | ST-4ポート用の抵抗アレイです。ST-4ポートを実装しない場合は省略できます。 ST-4ポートを Smart Hand Contoller として使用する場合も実装が必要です。 ▲位置がコモンピンです。 |
その他 | モータードライバの向きは図のピンがVMOTです。 |
ESP32-DevKitC(-32E)
秋月などで入手できます。
搭載している、ESP32のリビジョンによって、 -32D とか -32E があります。
ESP-32DはNRND(新規設計非推奨)になっているので、選ぶなら32Eが良いかと思います。秋月で正規品が入手できます。
AmazonやAliで売られている激安品の中には、出所の怪しいESP32が積まれているモノがあります。技適マークも正規品とはちょっと違う謎マークになっています。
技適も通っていない、リマーク品かもしれないのでお勧めしません。
よく似たボードとして、ESP32-DevKit V1 という類似品があります。こちらはピン数が違うので使用できません。ご注意ください。
コネクタ類
6極6芯モジュラ
ST-4互換インターフェイスです。ピンアサインはポート正面から見て図のとおりです。オフィシャルのPCB設計とはピン配列が異なります。本基板は一般的なST-4ポートのピン配列に準拠しています。
MINI-DIN4P
コネクタ正面から見て、DRV8825ピンへの接続は図のとおりです。モーターのラインへ接続してください。
ステッピングモータードライバ
この基板で利用できるステッピングモータードライバをいくつか例示します。ここで挙げたもの以外でも、ピンアサインがDRV8825に近いものであれば利用できる可能性があります。各ドライバの電気特性やピン配線を確認の上、使用してください。
また、同じドライバチップでもモジュールメーカー、モジュールバージョンによってピンアサインが異なっている場合があります。
必ず、メーカーのデータシートを確認して使用しましょう。
DRV8825
おなじみのドライバです。本基板はこのドライバを基準に設計されているので、そのまま実装すれば問題なく使用できます。
モーターを接続前に必ず電流調整を行ってください。
TMC2100
TMC系のドライバモジュールは複数のメーカーから設計の異なるものが出てます。似て非なるものがあったりするので注意してください。ここでは、 Silent2100 FYSETC.COM V1.3 というモジュールを取り上げます。
この基板は、マイクロステップの設定がモジュール上のジャンパで設定するようになっています。詳しくは、OnStep基板rev1.1 de TMC2100 こちらの記事を参照してください。
OnStep基板へはそのまま実装することができます。
電流調整をお忘れなく。
TMC5160
TMC5160はSPIモードをサポートしています。このモードは、ドライバチップの各種設定や動作をSPIシリアル通信によって制御する方式です。
TMC5160は電流制御用の可変抵抗がなく、ハードウェアによる電流調整が不要です。その代わり、SPIを使ったソフトウェアよる細かな電流制御が可能になっています。また、非常に低発熱です。
このモジュールを実装するには、基板裏面の JP2, JP3 にあるジャンパ(デフォルトでショートしています)をパターンカットします。
このジャンパはDRV8825において、RESET と SLEEPピンをショートさせているパターンになりますが、TMC5160の場合、該当するピンが SDO と CLK になるため、パターンを切り離し問題なく動作するようにします。
もし、TMC5160以外に再度載せ替える場合は、JP2, JP3 をはんだでショートさせてください。
パターンカットしたら、あとはそのまま実装すればOKです。
電流制御は、OnStep の Config.h で行います。RA/DECのドライバ設定箇所に電流値の設定があります。
#define AXIS1_DRIVER_MODEL TMC5160_QUIET // OFF, (See above.) Stepper driver model. <-Often
#define AXIS1_DRIVER_MICROSTEPS 32 // OFF, n. Microstep mode when tracking. <-Often
#define AXIS1_DRIVER_MICROSTEPS_GOTO OFF // OFF, n. Microstep mode used during gotos. Option
#define AXIS1_DRIVER_IHOLD 200 // OFF, n, (mA.) Current during standstill. OFF uses IRUN/2.0 Option
#define AXIS1_DRIVER_IRUN 330 // OFF, n, (mA.) Current during tracking, appropriate for stepper/driver/etc. Option
#define AXIS1_DRIVER_IGOTO OFF // OFF, n, (mA.) Current during slews. OFF uses same as IRUN. Option
#define AXIS1_DRIVER_REVERSE OFF // OFF, ON Reverses movement direction, or reverse wiring instead to correct. <-Often
#define AXIS1_DRIVER_STATUS OFF // OFF, TMC_SPI, HIGH, or LOW. Polling for driver status info/fault detection. Option
AXIS1_DRIVER_IHOLD, AXIS1_DRIVER_IRUN, AXIS1_DRIVER_IGOTO が電流値(mA)です。詳細は、ここに説明がありますが、IHOLD が静止時の保持電流、IRUN がトラッキング時の動作電流の上限値を指定します。IGOTO はGOTO時の駆動電流ですが、無指定なら IRUNが適用されます。
AXIS2にも同じ設定がありますので、モーターに合わせた値を指定してください。
OnStepの書き込み
PINMAP (必須)
#define PINMAP MaxESP3
MOUNT_TYPE (必須)
#define MOUNT_TYPE GEM
LED_STATUS (オプション)
#define LED_STATUS ON
ST4_INTERFACE (オプション)
#define ST4_INTERFACE ON
AXIS1_* AXIS2_* 関係 (必須)
※OnStepビルド時にエラーが出る
Arduino IDEのESP32ボードバージョンによって、ビルドエラーが出たり、正常に動作しなかったりします。動かない場合はArduino IDEのボードマネージャより、ESP32ボードバージョンを下げてみてください。
その他
ケース
コネクタ類のレイアウトを Raspberry Pi4 に合わせたので、RasPi4用のケースを推奨します。また、取り付け部品の高さがあるため、ケースも厚めのものが必要です。写真のケースはRasPi4用でファン取り付けが可能になっているため、ケース高があります。また、RasPi4 GPIO引き出し用のスリット部分から配線も引き出せたり、加工もしやすいのでオススメです。
始めて投稿させていただきます
返信削除よく理解していないため、変な質問をしてしまいますが、何卒ご容赦願います。
先日、オリジナル OnStep基板 Rev3.0(ESP32)を購入したのですが、3つ目のモータドライバーを設置する場所があります。
これは電動フォーカサーをコントロールするための物なのでしょうか?
また、もしそうであれば、OnStepからコントロールできるものなのでしょうか?
(STEPとDIR信号がGPIOに繋がっています)
以上、よろしくお願いいたします。
まやさんこんにちは。
削除その通り、フォーカサー用のドライバが載ります。
詳しくは、こちら
https://norikyu.blogspot.com/p/onstep-rev30esp32-focuser.html
をご覧ください。
もちろん、OnStepからもコントロールできます。
ご回答、どうもありがとうございます。
削除電動フォーカサーがあるので、それを接続させたいと考えております
もう一つ確認させてください
DC-DCコンバーターは、5Vの物一つで良いですよね
なるほど、フォーカサーのモーター規格が合っていたら動かせると思います。
削除基板上に実装するDCDCは5Vです。
お忙しい中、どうもありがとうございました
削除実はskywatcherのフォーカスモーターなんです
大丈夫ですよね?
話は変わりますが、onstep基板の作製状況を報告させて
いただきます
お恥ずかしい話ですが、間違えて、丸ピンソケット
ではなくシングルソケットピンを付けてしまいました
全てつけ終わってから気がついて、どうしようか迷って
いるところです
skywatcherのフォーカスモーターの仕様が分からないのですが、他の方の動画を見たところステッピングモーターのようですので使えるのではないかと予想します。
削除モーターの型番が分かればいいのですが。
skywatcherの仕様では9V電池で動くようですが、5Vでもおそらく大丈夫かと思います。電流調整にご注意を。
ピンソケットはどっちかに合わせるしかないですね(^^;
基板から外すのは難儀なので、高さを我慢するしかないかもです。
さらに調べたところ、どうやらステッピングモーターではなく、普通のDCモーターのようですね。
削除残念ながら使用できませんね。
色々とお調べ頂きまして、感謝しております
削除残念ですが、モーターをステッピングモーターに換装し、コントローラはモニターを付けて、別の用途に使用してみます
五月雨の質問で申し訳ないですが質問させてください
「Raspberry Pi 4 で天体撮影システム」は、ASIAIRと同じ位置付けになると思っても良いでしょうか?
また、onstepとの接続はST4で接続し、INDIからは標準のドライバーでマウント出来るのでしょうか?
RasPi4の記事は、ASIAIRのイメージとほぼ同じですが、ASIAIRの方が単独でいろいろできるようになっていると思います(直接タブレットと接続出来たりする)
削除ASIAIRの中身はまんまINDIだと思います。
RasPi4とOnStepはESP32またはTeensyのUSBポートで接続します。INDIからは、LX200_OnStep ドライバが標準で入ってますので難なく接続できます。
私の記事はRasPi4(INDI)をネットワーク内にぶら下げて、完全リモート制御を行う仕様の構成になっています。
未熟者にお付き合いして頂き、誠にありがとうございます
返信削除そうですよね、シリアル通信で認識させる必要があることは分かっていたのですが、その箇所がわかる写真が見つからなかったので、変な質問をしてしまいました
また、INDIから認識できる事は分かりましたが、フォーカサーモーターのコントロールも同じポートから認識させることができるのでしょうか?
変な質問ばかりして申し訳ございませんが、何卒お付き合いください
確かに!ブロック図はあちこちにありますが、実際の配線はなかなか見ませんよね。
削除OnStepのフォーカサーですが、INDIからは同じポートでちゃんと認識されます。
なので、USBケーブル1本で赤道儀コントローラとフォーカサーが使える状態になります。
このフォーカサーは、INDIから見ると、どのようなドライバとして認識されるのでしょうか?
返信削除続けてすみません
返信削除フォーカサーモーターは、これで良いでしょうか?
https://akizukidenshi.com/catalog/g/gP-06578/
色々とご心配のようですが、やってみるのが一番かと思います。
削除一応、当方で確認している状況を貼っておきます。
https://norikyu.blogspot.com/p/blog-page_92.html
モーターですが、実際にどのようなフォーカスノブをどのような仕組みで回すのか、必要なトルクはどの程度なのかが私にはわからないので、やってみるのが一番かと思います。
私が使用しているのはもっと小さなモーターです。
過去記事で探せると思います。
微動ノブを直接回していますが、小さなモーターでも動いていますのでご参考までに。
甘えてしまいまして、誠に申し訳ございませんでした。
削除試行錯誤しながら色々と試していきたいと思います
今後とも、よろしくお願いいたします。
いへいへ、大丈夫ですよ~。
削除粗動ノブだとトルクが必要なのでモーターも大きい方が有利ですが、プーリー入れたりすると取り付けに難があります。
微動ノブだと軽く回るので小型でも十分ではないかと思います。
分解能も考慮すると、プーリー比はどうするかとか、いろいろ考えることがあったりします。
素人の質問に対し、いつもご丁寧な回答を頂きまして、誠にありがとうございます。
返信削除実は、電動フォーカサーの問題もあるのですが、元々OnStepで制御しようと考えています赤道儀は、EQ5のGOTOではなく2軸モーター制御のモーターしかついていません
付属の簡易コントローラは、最大8Xしか制御できないようで、ステッピングモーターであるとは思いますが、どのような性能のモーターなのかわからないものをOnStepの設定で行えるものなのでしょうか?
一応、出来ないことを想定して、秋月電子の「ST-42BYH1004」を購入しており、準備は進めております。
なるほど、不明な何かがついているということですね?
削除すでに付いているなら確かにそのまま使いたいかも。
ステッピングモーターであるなら制御できると思いますが、そもそも、電流/電圧の定格やステップ数わからないので、その辺りを調べる必要があると思います。
モーターに型番とか書いてあればわかるかもしれません。
もし分からないなら、モータードライバの電流制御値を小さめから始めて動作を確認していくことをお勧めします。
ステップ数はモータードライバのマイクロステップを1にしておいて、軸1回転させるのに何ステップ必要か数えればいいかと。
ST-42BYH1004は定番なので保険にはもってこいです(^^)
返信削除のりきゅうさん、先月松ESP32基板を5枚送っていただいたものです。
おかげ様で細かい調整はまだですが赤道儀が動き出しました。
なんだかわからないステッピングモーターはこれではないでしょうか?ビクセンですとDD-1相当のものです。自動導入には向かないモータのようですね。https://www.skywatcher.jp/product/accessory/eq3.5_motordrive2.html
ビスタさん、こんにちは!
削除無事、OnStepが動いて何よりです!
モーター情報ありがとうございます。なるほど、自動追尾向けものですね。
そういえば、NES赤道儀も購入当初についてたモーターは速度が出せなくて全然ダメでした。その系統なら納得です。
基板購入後そろそろ始めようと部材から購入して開始です。ここで躓き。
返信削除ESP32-DevKitCのリンク先は、通常ピン付きでした。丸ピンソケット化は通常ピンを入替えるので、大変ではないでしょうか?皆さん簡単にやっているのでしょうか?簡単にやるやり方など載せてあると有難いです。
丸ピン化でESP32が駄目になるのは困るので、基板に直に付ける方向で進める方向で進める事を検討しております。
のりきゅうさま
返信削除調べたら通常ピンの取外し有りました。
お騒がせ致し申し訳ございませんでした。
無事外して交換いたしました。
のりきゅうさま
返信削除以前、色々と質問させていただいたものですが、あれから色々と試してみて、OnStepXまで使えるようになりました
その節は、素人にお付き合いいただきまして、誠にありがとうございました
まだまだ、完璧に使いこなせているわけではないのですが、モータドライブも色々なものに換え、マイクロステップの値を変えてみたり、GOTOの時の音の具合も調査し、自分なりに満足いくものになったと思います
そこで、質問なのですが、モータドライブをTMC2208のスタントアロンモードで行っているのですが、今度はUART MODEを試してみたいと考えております
のりきゅうさんのOnStep基板 Rev3.0(ESP32)では、この場合どのような改造が必要なのかを教えて頂けませんでしょうか?
ご無理を申しますが、何卒宜しくお願い致します。
まやさん、こんにちは。お返事遅れました。
削除無事動いて何よりです。
以下、OnStepX限定のお話です。
UARTモードでの動作ですが、基本的にOnStep Wikiの通りに配線を修正すれば良いと思います。
https://onstep.groups.io/g/main/wiki/29975
AUX7は基板上にパターンが出ています。
あと、裏面のJP4の下パッドがモータードライバの信号線なので、AUX7とつなげれば良いように思います。
ローテーターやフォーカサードライバへの配線修正は正直よくわかりません。
Wikiを見ただけで、実際に試していないので動作の保証もできません。
あと、2208は所有していませんので私の方では確認は難しいです。
ヒントのみですが、色々と試してみてください。
注意点ですが、2208モジュールはメーカーによってピンアサインや動作が微妙に異なっています。このモジュールなら動く、と言うのが非常に分かりづらいので、正直、あまりお勧めはしません。
のりきゅう 様
返信削除去年の11月頃にRev3.0基板を分けて頂いたものです。
なかなか手を付けられませんでしたが、おかげさまでアッサリ動作しました。
追加で基板をお願いしたいので、ちょくちょくチェックさせて頂こうかと思います。
素晴らしいプロジェクトですね、有難うございます。
こんにちは。無事動作して何よりです。
削除Rev3.0在庫については近日中に復活できると思います。
現在、OnStepX向けの基板も考案中です。
リリースはOnStepXの開発状況を見ながらになりますが、こちらも早めにリリースできればいいなと考えています。
またよろしくお願いします(^^)