アリエクでこのステッピングモーターを買ってみました。
¥ 361 15%OFF | Nema 17 42ステッピングモータ23ミリメートル0.42N.m 1.5Aため3Dプリントステップモータ4023
https://a.aliexpress.com/_olrTNHp
また、モーターを動かすためにモータードライバーとドライバー拡張ボードが必要だったので、下記のものを買いました。
¥ 92 5%OFF | 3Dプリンター用ステッピングモーター,steps a4988,drv8825ステッピングモータードライバー,ヒートシンクキャリア1.4
https://a.aliexpress.com/_oBUqcUx
¥ 92 5%OFF | 42ステッピングモータードライバー拡張ボードdrv8825a4988 arduino uno r3 ramps1.4 diyキット1用3dプリンター制御シールドモジュール
https://a.aliexpress.com/_oouLKQP
ステッピングモーターの種別としてはバイポーラ型で、最近よくある中華3Dプリンターに使用されているモーターのようです。
ステッピングモータードライバーICにはDRV8825を使用しました。最大2.5A流せるのが特徴で、A4988の上位互換?になっているようです。
DRV8825についてはデータシートが下記にあったので、こちらを参考にしています。
https://www.pololu.com/product/2133
接続方法
実際のモジュールとは異なりますが、こんな感じでモジュールとステッピングモーター、制御基盤となるESP32を繋げます。
制御の方法
ESP32を使ったので、Arduinoベースでコードを書きました。
ステッピングモーターの制御には様々なライブラリがありますが、今回は加速上限と速度上限を与えるだけで、ライブラリ側で回転数制御を最適化してくれるライブラリ、AccelStepperを使用しました
https://www.airspayce.com/mikem/arduino/AccelStepper/
実際に動作させてみて、どこで脱調が起きるかを試したのが以下の動画になります。
このステッピングモーターは一回転あたり200ステップなので、大体1200RPMあたりまでなら脱調なしで回転ができそうでした。