3DプリンタでDIY赤道儀–その10(OnStepの検証)
タイミングベルトが届くまで、OnStep(赤道儀制御ソフト)の研究をしたいと思います。まずは本家のサイトを熟読。したつもりが後から結構読み飛ばしてたことに気づく。
日本語での情報だとマイコンにArduino MegaかTeensyを使っている人がほとんどでした。これらはWifi機能も無ければBluetooth機能もありません。機能が必要な場合外付けしなければなりません。Megaに関してはデカ過ぎ!Teensyは家にない。昔からArduinoを使った工作をしています。Arduinoが1個だけ必要でもAmazonで3個セット買ったほうが街の電子部品屋さんより安かったりするので、2個余剰となります。そんなことを繰り返し家には20個程度のArduino及び互換機が転がっています。
この中で有力なのが、ESP-32S開発ボード(白いスポンジに刺さっているやつ)です。これにはWifiとBluetoothが内蔵されています。技適も通っていますので安心して使えます。値段も一個950円!
久しぶりに使うので簡単なプログラムを書いて動作確認。書き込めない・・・(涙
すっかり忘れていましたが、普通のArduinoと違って書き込みモードにする必要があります。右のボタンを長押ししながら左のボタンを一回押すことで書き込みモードになります。そしてさらに書き込みが始まったらNanoと同じように右のボタンを押さなければなりません(0.1μFのコンデンサをはんだ付けすれば自動化可能)。壊れたかと思ったよ。
それよりもOnStepがESP-32S開発ボード上で動作するのか、ネット検索。これで動かしている人発見。
OnStepをダウンロードして、Config.hファイル(設定)を書き換えてコンパイルしてみましたが、エラー連発。ボードの種類が違います!みたいなエラーが。またまたネットを彷徨う。解決策が見つからないので先程動かしている人に助けを求めることにしました。質問を送ったあと改めて本家のサイトを読み直したら、なんと書いてありました。MaxESP3を選べと。こんな風に(MiniPCB, MiniPCB2, MaxPCB, MaxPCB2, STM32Blue, Ramps14, MaxESP2, MaxESP3)に並んでいたから気づかなかった。MaxESP32とかだったら気づいたと思うんだけどね。
早速、OnStepをESP-32S開発ボードに書き込んでみました。
問題なく書き込み完了!と言うことは配線すれば動くということ。その前にどのPINをどこにつなぐか確認しなければなりません。PinsMaxESP3.hのファイルをみると下記の通りでした。
// Axis1 RA/Azm step/dir driver
#define Axis1_EN 12 // Enable
#define Axis1_M0 13 // Microstep Mode 0 or SPI MOSI
#define Axis1_M1 14 // Microstep Mode 1 or SPI SCK
#define Axis1_M2 23 // Microstep Mode 2 or SPI CS
#define Axis1_M3 Aux2 // SPI MISO/Fault
#define Axis1_STEP 18 // Step
#define Axis1_DIR 0 // Dir
#define Axis1_DECAY Axis1_M2 // Decay mode
#define Axis1_HOME Aux3 // Sense home position
// Axis2 Dec/Alt step/dir driver
#define Axis2_EN SHARED // Enable pin control shared with Axis1
#define Axis2_M0 13 // Microstep Mode 0 or SPI MOSI
#define Axis2_M1 14 // Microstep Mode 1 or SPI SCK
#define Axis2_M2 5 // Microstep Mode 2 or SPI CS
#define Axis2_M3 Aux2 // SPI MISO/Fault
#define Axis2_STEP 27 // Step
#define Axis2_DIR 26 // Dir
#define Axis2_DECAY Axis2_M2 // Decay mode
#define Axis2_HOME Aux4 // Sense home position
EN, M0, M1, M2はRA軸とDEC軸でPINを共有してるみたいだけどM2だけ違う。間違いか?下記の通りM0, M1, M2ピンの状態でステッパーモーターのMicrostepsが変わってくる。Config.hを見ると別々に指定できるのでM0とM1が間違っているね。とりあえずそのまま進むことにします。
分かり辛い
やはりそのままのPIN設定では動かないので、先程のPIN設定をESP32S開発ボードに合わせなければなりません。
とりあえず動きそうなので、ブレッドボードで試作してみます。
作図しているうちにだんだん面倒になってコンデンサーのあたりが適当になっちゃった。これで多分動くはず。