<ナビゲーション>
オリジナル 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 | モータードライバ用 秋月 丸ピンICソケット(1列) |
- | 丸ピンIC連結ソケット(1列)8P | 4 | モータードライバ用 秋月 DIP連結ソケット(1列) |
- | 丸ピンソケット(1列) 19P | 2 | ESP32-DevKitC-32E用 秋月 丸ピンICソケット(1列) |
- | 丸ピンIC連結ソケット(1列)19P | 2 | ESP32-DevKitC-32E用 秋月 DIP連結ソケット(1列) |
- | Raspberry Pi 4用ケース | 1 | OKI-78SRの高さがあるため、厚みのあるケースを選択してください。 私が使用しているのは、 共立エレショップ 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用のケースを推奨します。また、OKI-78SR の高さがあるため、ケースも厚めのものが必要です。写真のケースはRasPi4用でファン取り付けが可能になっているため、ケース高があります。また、RasPi4 GPIO引き出し用のスリット部分から配線も引き出せたり、加工もしやすいのでオススメです。
0 件のコメント:
コメントを投稿